【发布时间】:2012-07-30 15:13:07
【问题描述】:
我需要找到这个无限级数的第 n 项:1,2,2,3,3,3,4,4,4,4...
你能给我这个任务的常数时间函数吗?
int i = 1;
while(true)
{
if(i = n)
//do things and exit the loop
i++;
}
我认为这不会是一个常数时间函数...
【问题讨论】:
-
return x[n - 1];固定时间够你用吗? -
澄清一下,数组是否总是包含一个“1”、两个“2”、三个“3”等?
-
哦,你想要第n个唯一词吗?
-
我认为我们都在关注其中的“数组”部分,这不是他的问题。我认为问题是,“如何确定在 O(1) 时间内遵循这种模式的数字序列的第 n 项?”
-
我不知道数组的长度或任何东西。我只知道数组的模式(例如:数组将有 1 个值为 1 的项目,2 个值为 2 的项目,3i 和 v 3,...,10 i 和 v 10)
标签: c# time-complexity