51-数组中重复的数字
来源:互联网 发布:生化危机6武器数据 编辑:程序博客网 时间:2024/06/01 10:58
第一次写的会有死循环,因为在交换的过程中可能就会出现有相同的情况。第一次写的是都交换完了再比较,应该是交换的过程中比较:
错误的:
for ( i = 0; i < length; i++){if (numbers[numbers[i]] == numbers[i] && numbers[i] != i){break;}else{while (numbers[i] != i){int temp = numbers[numbers[i]];numbers[numbers[i]] = numbers[i];numbers[i] = temp;}}}
正确的:
bool duplicate(int numbers[], int length, int* duplication) { if(length<=0||numbers==NULL) return false; //判断每一个元素是否非法 for(int i=0;i<length;++i) { if(numbers[i]<=0||numbers[i]>length-1) return false; }for (int i = 0; i < length; i++){while (numbers[i] != i){if (numbers[numbers[i]] == numbers[i]){*duplication = numbers[i];return true;}else{int temp = numbers[numbers[i]];numbers[numbers[i]] = numbers[i];numbers[i] = temp; } }} return false; }
阅读全文
0 0
- 51 - 数组中重复的数字
- 51:数组中重复的数字
- 51-数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 内部排序算法
- 坤驰科技发布高性价比高速数据采集卡QT1140系列
- 二进制漏洞与利用学习
- mysql查询结果保留2位小数不够补0
- 图像镜像_matlab
- 51-数组中重复的数字
- C#异或算法
- 机器学习算法-决策树(续)Python实现
- struts国际化实例---登录例子(中英文切换)
- 判断文件MimeType的方法
- spring boot整合druid以及druid监控
- SubShader Tags
- 求最大公约数和最小公倍数
- Vue组件系统