我试着解决以下练习:
以下代码片段的最坏情况运行时间的增长顺序是N的函数是多少?
int sum = 0;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= i*i; j++)
for (int k = 1; k <= j*j; k++)
sum++;
Run Code Online (Sandbox Code Playgroud)
我发现复杂度是O(n 4),但正确的答案是:
答案是:N 7
对于给定的i值,最内循环的主体执行1 2 + 2 2 + 3 2 + ... +(i 2)2 ~1/3 i 6次.总结i的所有值得到~1/21 N 7.
我想帮助理解这个答案以及在这种情况下计算复杂性的正确方法.
编辑:特别是,我不明白这句话:
1 2 + 2 2 + 3 2 + ... +(i 2)2 ~1/3 i 6
因为对我来说, …
我想知道如何使用 VBA 以编程方式将下拉列表添加到 Excel 工作表的特定单元格,例如,我希望能够向单元格 (i,j) 添加下拉列表并定义列表的元素。
我使用以下代码以编程方式将数据库中的元素添加到多列列表框:
Do While (Not rs.EOF)
ExistingSheetsListBox.AddItem
ExistingSheetsListBox.List(i, 0) = rs.Fields(0)
ExistingSheetsListBox.List(i, 1) = rs.Fields(1)
ExistingSheetsListBox.List(i, 2) = rs.Fields(2)
ExistingSheetsListBox.List(i, 3) = rs.Fields(3)
ExistingSheetsListBox.List(i, 4) = rs.Fields(4)
i = i + 1
rs.MoveNext
Loop
Run Code Online (Sandbox Code Playgroud)
列表框中的插入工作正常,但列宽并不总是适应插入其中的元素的长度,我想知道如何才能使每列的列宽适应插入的文本它。
编辑:我使用了@Excel Developers提出的解决方案以及@HarveyFrench给出的代码段。