题目:在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字. 分析:找出重复的元素即可,把已经出现的元素push进res里面保存 var res = [] var findRepeatNumber = function(nums){ const map = {}; for(let i=0;i<nums.length;i++){ let num = nums[i] i
思路分析:任何一个数字异或它自己都等于0,根据这一特性,如果从头到尾依次异或数组中的每一个数字,因为那些出现两次的数字全部在异或中抵消掉了,所以最终的结果刚好是那些只出现一次的数字. 代码如下: #include "stdafx.h" #include <stdio.h> int findNotDouble(int a[], int n) { ]; int i; ; i < n; ++i) result ^= a[i]; return result; } int ma
在leetCode看到一题目 Given a Binary Search Tree and a target number, return true if there exist two elements in the BST such that their sum is equal to the given target. Example 1: Input: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 Output: True Example 2: Input: 5 /