【剑指offer】数组中重复的数字
2017-12-08 20:32
323 查看
import java.util.Arrays; public class Solution { // Parameters: // numbers: an array of integers // length: the length of array numbers // duplication: (Output) the duplicated number in the array number,length of // duplication array is 1,so using duplication[0] = ? in implementation; // Here duplication like pointor in C/C++, duplication[0] equal *duplication in // C/C++ // 这里要特别注意~返回任意重复的一个,赋值duplication[0] // Return value: true if the input is valid, and there are some duplications in // the array number // otherwise false public static boolean duplicate(int numbers[], int length, int[] duplication) { for (int i = 0; i < length; i++) { if (numbers[i] != i) { if (numbers[i] != numbers[numbers[i]]) { //处理他自己和他自己对应脚标目标数不一样的情况 swap(numbers, i, numbers[i]); } else { //一样了说明它对应的数那里有人占了 有重复数字了 存入duplication[0] duplication[0] = numbers[i]; return true; } } } return false; } private static void swap(int[] numbers, int i, int j) { // TODO Auto-generated method stub int tmp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = tmp; } }
相关文章推荐
- C++找出数组中重复的数字( 剑指offer面试题3-1)
- 【剑指offer】题51:数组中重复的数字
- 剑指offer 矩形覆盖 树的子结构 二叉树的镜像 数组中重复的数字 第一个只出现一次的字符
- 剑指Offer——面试题51:数组中重复的数字
- 剑指offer--(14)数组中重复的数字--Java描述
- 数组中的重复(缺失)数字 剑指offer3 及扩展
- 剑指Offer-面试题3 数组中重复的数字
- [剑指Offer]数组中重复的数字
- 【剑指Offer学习】【面试题51:数组中重复的数字】
- 剑指offer--面试题51: 数组中重复的数字
- 剑指offer 面试题51 数组中重复的数字
- 剑指offer面试题51 数组中重复的数字
- 剑指offer—数组中重复的数字
- 剑指offer 51 数组中重复的数字
- 剑指offer(53):数组中重复的数字
- 剑指offer-数组中重复的数字
- (python)剑指Offer 面试题51:数组中重复的数字
- 剑指offer 编程题(49):数组中重复的数字
- 剑指offer——数组中重复的数字
- 剑指offer 数组中重复的数字