QQ扫一扫联系
1 #include <cstdio> 2 using namespace std; 3 int n; 4 int a[100]; 5 6 int main() { 7 scanf("%d", &n); 8 for (int i = 1; i <= n; ++i) 9 scanf("%d", &a[i]); 10 int ans = 1; 11 for (int i = 1; i <= n; ++i) { 12 if (i > 1 && a[i] < a[i - 1]) 13 ans = i; 14 while (ans < n && a[i] >= a[ans + 1]) 15 ++ans; 16 printf("%d\n", ans); 17 } 18 return 0; 19 }
判断题
1.(1分)第16行输出ans时,ans的值一定大于i。()
2. (1分)程序输出的ans小于等于n。()
3. (1.5分)若将第12行的 < 改为 != ,程序输出的结果不会改变。()
4. (1.5分)当程序执行到第16行时,若ans - i> 2,则a[i + 1] ≤ a[i]。()
判断题
5. (3分)若输入的a数组是一个严格单调递增的数列, 此程序的时间复杂度()
6. (4分)最坏情况下,此程序的时间复杂度是()
1.A.正确 B.错误
2.A.正确 B.错误
3.A.正确 B.错误
4.A.正确 B.错误
5.A.O(log n) B.O(n^2) C.O(n log n) D.O(n)
6.A.O(n^2) B.O(log n) C.O(n) D.O(n log n)
温馨提示:上述填空请使用大写字母
第一空(2分):____________
第二空(2分):____________
第三空(1.5分):____________
第四空(1.5分):____________
第五空(3分):____________
第六空(4分):____________