如何解决以下代码的复杂度为On,但是如果将arr [i] <arr [j]更改为arr [i] <= arr [j],则复杂度是否保持不变?
void fun(int n,int arr[])
{
int i = 0,j = 0;
for(; i < n; ++i)
while(j < n && arr[i] < arr[j])
j++;
}
如果将arr [i]
解决方法
这两个答案的运行时间均为text-box
,而不论<input type="text" data-inputmask="'alias': 'GCIS-phone-number'" data-rule-phoneus="true=""" id="PhoneNumber" name="PhoneNumber" value="123432" class="form-control">
还是O(n)
,因为arr[i] < arr[j]
的计数器只增加arr[i] <= arr[j]
次和{{1 }}条件最多i
成立,因为n
最多增加了while loop
次(请参阅n
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。