找到一个重复元素 - 面试题
来源:互联网 发布:国际js舞蹈培训好不好 编辑:程序博客网 时间:2024/05/29 16:58
对于n个元素,每一个数据的范围[0,n-1],找到一个重复元素,空间O(1),时间O(n)
解法一:
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <iostream>using namespace std;int radix_sort (int *arr, int num) {int temp;for (int i = 0;i < num;i++) {while (i != arr[i]) {if (arr[i] == arr[arr[i]]) {return arr[i];}temp = arr[arr[i]];arr[arr[i]] = arr[i];arr[i] = temp;}}return -1;}int main (void) {int num;int arr[100];while (scanf ("%d", &num) != EOF) {for (int i = 0;i < num;i++) {scanf ("%d", &arr[i]);}int flag = radix_sort (arr, num);if (flag == -1) {printf ("No repeating elements\n");}else {printf ("Repeating elements: %d\n", flag);}}return 0;}
方法二:
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <iostream>using namespace std;int RepeatNum (int *arr, int num) {for (int i = 0;i < num;i++) {int index = arr[i] >= num ? arr[i]-num : arr[i];if (arr[index] >= num) {return index;}else {arr[index] += num;}}return -1;}int main (void) {int num;int arr[100];while (scanf ("%d", &num) != EOF) {for (int i = 0;i < num;i++) {scanf ("%d", &arr[i]);}int flag = RepeatNum (arr, num);if (flag == -1) {printf ("No repeating elements\n");}else {printf ("Repeating elements: %d\n", flag);}}return 0;}
0 0
- 找到一个重复元素 - 面试题
- 找到至少一个重复元素
- [经典面试题][谷歌]一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素
- 找重复元素(google面试题)
- 面试题:数组中找重复元素
- 一道有趣的GOOGLE面试题——找出至少一个重复元素
- 面试题:统计一个数组中不重复出现的元素个数
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 笔试题&面试题:设计一个复杂度为n的算法找到单向链表倒数第m个元素
- 找到0-N数组中至少一个重复元素
- 面试题精选(64):元素可重复组合算法
- c++面试题:判断数组是否存在重复元素
- 谷歌面试题--一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间
- 【JavaScript】面试题:重复输出一个给定的字符串
- JavaScript 面试题:重复输出一个给定的字符串
- 面试题---数组中的元素相差为1,如何找到数t的位置
- Java算法面试题(002) 如何通过一次迭代找到LinkedList的中间元素
- Arrays 排序
- uvalive5096(积分题)
- Android 控件之十一:RatingBar评分条
- NBUT 1218 You are my brother
- 如何用JQuery弹出小窗口(是注册页面)提交表单form
- 找到一个重复元素 - 面试题
- LA3938-Ray, Pass me the dishes!--动态最大连续区间和(线段树+前后缀数和组)
- NBUT 1220 SPY
- C语言
- Android 控件之十一:列表组件 ListView
- POJ-1477
- 安卓学习资料(强大)必看!!!
- android---listview
- C语言