好的,所以我是分析算法的新手,并且非常感谢可以共享的有用提示。我试图确定计数作为n的函数递增的次数。我已经将其运行在一个ide中,对于值1-7,输出为1、3、6、10、15、21、28。我只是不确定如何将其写为n的函数?谢谢。循环如下:
for(int i = 1 ; i <= n ; i++){
for (int j = 1 ; j <= i ; j++) {
count++;
}
}
这种练习的目的是教您如何在纸上进行分析,而不是在机器上运行。但是,让我们看一下模式:
n
次n
倍之间运行,具体取决于i
当时的状态。但是您知道平均而言,这将运行(n+1)/2
时间。count = n(n+1)/2)
,这是O(n^2)
见算术级数
更新: 根据要求-为什么内循环是(n+1)/2
:
外循环将使i在1和n之间递增。因此,在外循环的每次迭代中,内循环将比以前“循环”更多。
因此,内部html" target="_blank">循环将迭代此次数:
因此,我们可以做一些聪明的事情并配对:
由于我们将它们配对,所以我们有n / 2个这样的对:
(在长条纸上书写1 + 2 + 3 + … + n时将其可视化,然后将其对折。)
我也强烈建议您阅读有关卡尔·弗里德里希·高斯(Karl Friedrich
Gauss)的著名故事,
以便您永远记住如何对算术级数求和=)
问题内容: 我感觉这不可能,但是我想确定已传递给javascript函数的变量的原始变量名。我不知道该如何更好地解释它,所以看看这个例子是否有意义。 这是我正在使用的jquery插件,我希望能够显示传递给“调试”函数的变量的名称。 问题答案: 没错,以任何理智的方式这都是不可能的,因为只有值才传递到函数中。
我看到Cloud Functions引用实时数据库的增量计数器,但还没有看到Firebase FiRecovery。 我有一个侦听新文档的云功能: 我正在尝试上述事务,但当我在terminal中运行时,我得到以下错误: error Each then()应该返回一个值或抛出promise/always return函数predeploy error:命令以非零退出代码1终止 这是我第一次尝试任何节
问题内容: 好吧,对于我正在做的事情,我需要增加变量名称,例如,int Taco1 = 23432 ..... int Taco2 = 234235656 ..... int Taco3 = 11111 ....... 但是我需要它是一个像 尝试让我的变量名每次自动递增1,这样它们就不会覆盖自己。如果这不可能,那么我深表歉意。 问题答案: 您不能用Java做到这一点,更重要的是,您不想这样做,因为
问题内容: 我创建了以下脚本,以便从Oracle SQL Developer从Mobile App DB(基于MongoDB)读取数据: 是否可以在TSQL的运行时确定局部变量的类型? 例如,说我想按照以下方式做点事情: 或者 有人知道有什么方法可以做到这一点吗? 编辑:这不是针对特定任务,这更多是一个常识性问题。我确实感谢回答,因为该类型是在同一批中声明的,所以该类型应该是已知的,我很好奇是否可
利用Console API来测量执行时间和计数语句执行。 TL;DR 使用console.time()和console.timeEnd()测量代码两个执行点之间所需的时间。 使用console.count()来计算同一个字符串传递给函数的次数。 测量执行时间 time()方法启动一个新的计时器,对于测量代码执行时间来说是=是非常有用的。将字符串传递给该方法,来给测量标记一个名称。 当您想停止计时器
使用角(5)我显示电子邮件的列表 我的问题是在“名称”属性中。我希望索引“i”作为一个数字传递,尽管它传递i本身(字母)。正确传递索引的方法是什么? 我尝试了这样的东西: 但显然没有成功。 任何帮助都是受欢迎的。