已知整数数组 a 里只有 1 和 2 这两种数,统
计它们各自出现的次数并存入数组 b 里。
代码 A:
int b[2] = {0};
for (auto i : a)
{
for (int j=1; j<=2;j++)
{
if(i==j)
b[j-1]++; //操作
}
}
代码B:
int b[2] = {0};
for (auto i : a)
{
b[i - 1]++; //操作
}
分析:(1)当数组 a 的数据增多时(仍然只有
1 和 2),代码 A 和 B 中标记操作的时间复杂
度。(2)当数组 a 里面的存放的数据种类(不
止 1 和 2)也增多时,代码 A 和 B 中标记操
作的时间复杂度。(3)评价两种算法的优劣
不用说都是b比较优化啦。