for-loop - 根据 n 求时间复杂度
问题描述
class test_case
{
public static void test(int n)
{
int sum=0;int i;
for(i=1;i<n;i++)
{
for(;i<n*n;i++)
{
sum=sum+i;
}
}
system.out.println(sum);
}
}
解决方案
内部循环运行n²
时间,而外部循环只运行1
时间,因为在它的第一次迭代i
中已经达到n²
,所以它违反了循环条件。
因此,总复杂度为1 * n²
= n²
。
推荐阅读
- mongodb - 更新所有文档 - 根据子集合中的订单设置子集合订单字段
- c# - 实体框架:ChangeTracker 加载我所有的表格元素
- ms-access - 访问未绑定的表单字段以更新多个表
- c# - await Task.Delay of over 15 ms doesn't wait long enough
- python - sheet_name=None 导致属性错误
- autohotkey - 如何在 AHK 中将字符串转换为整数
- c# - C# - SELECT LINQ 操作中的异步方法
- asp.net-core - 如何避免或关闭 Blazor 客户端托管应用程序中的持久(保持活动)连接?
- python - Tensorflow 打印奇怪的符号:as []
- sql - 从字符串中查找字符的位置