上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
摘要: class Solution { public int[] productExceptSelf(int[] nums) { int[] res = new int[nums.length]; //left 为该数左边的乘积 int left = 1; //right 为该数右边的乘积 int rig 阅读全文
posted @ 2020-11-01 15:18 peanut_zh 阅读(69) 评论(0) 推荐(0) 编辑
摘要: //摩尔投票法 //1.如果候选人不是maj 则 maj,会和其他非候选人一起反对 会反对候选人,所以候选人一定会下台(maj==0时发生换届选举) //2.如果候选人是maj , 则maj 会支持自己,其他候选人会反对,同样因为maj 票数超过一半,所以maj 一定会成功当选 class Solu 阅读全文
posted @ 2020-11-01 11:46 peanut_zh 阅读(74) 评论(0) 推荐(0) 编辑
摘要: // class Solution { // public int[] countBits(int num) { // int[] res = new int[num + 1]; // res[0] = 0; // for(int i = 1;i<res.length;i++){ // if(i % 阅读全文
posted @ 2020-11-01 11:21 peanut_zh 阅读(68) 评论(0) 推荐(0) 编辑
摘要: class Solution { public boolean isPowerOfTwo(int n) { return n > 0 && (n & (n-1)) == 0; } } 这里引用评论区Kico大神的解释。 阅读全文
posted @ 2020-10-31 17:20 peanut_zh 阅读(47) 评论(0) 推荐(0) 编辑
摘要: //异或运算 //1、交换律:a ^ b ^ c <=> a ^ c ^ b //2、任何数于0异或为任何数 0 ^ n => n //3、相同的数异或为0: n ^ n => 0 class Solution { public int singleNumber(int[] nums) { int 阅读全文
posted @ 2020-10-31 17:12 peanut_zh 阅读(72) 评论(0) 推荐(0) 编辑
摘要: //二分法查找 class Solution { public int findDuplicate(int[] nums) { //定义数组左边界的指针 left,右边界指针 right int left = 1; int right = nums.length - 1; while(left < 阅读全文
posted @ 2020-10-30 21:37 peanut_zh 阅读(81) 评论(0) 推荐(0) 编辑
摘要: //采用数组桶 class Solution { public int[] findErrorNums(int[] nums) { //定义一个新数组来统计nums数组中元素出现的次数 int[] count = new int[nums.length + 1]; //统计每个元素出现的次数 for 阅读全文
posted @ 2020-10-30 17:11 peanut_zh 阅读(100) 评论(0) 推荐(0) 编辑
摘要: /* 左下角的元素是这一行中最小的元素,同时又是这一列中最大的元素。比较左下角元素和目标: 1.若左下角元素等于目标,则找到 2.若左下角元素大于目标,则目标不可能存在于当前矩阵的最后一行,问题规模可以减小为在去掉最后一行的子矩阵中寻找目标 3.若左下角元素小于目标,则目标不可能存在于当前矩阵的第一 阅读全文
posted @ 2020-10-30 16:10 peanut_zh 阅读(83) 评论(0) 推荐(0) 编辑
摘要: class Solution { public int findMaxConsecutiveOnes(int[] nums) { //定义俩个计数器,max为最大的1的数量,cur为当前1的数量 int max = 0; int cur = 0; //遍历数组,如果数组中的元素为1,cur+1,为0 阅读全文
posted @ 2020-10-30 15:25 peanut_zh 阅读(67) 评论(0) 推荐(0) 编辑
摘要: class Solution { public void moveZeroes(int[] nums) { //定义一个指针,用来记录数组中非0元素的个数 int j = 0; for(int i = 0;i < nums.length;i++){ if(nums[i] != 0){ nums[j+ 阅读全文
posted @ 2020-10-30 15:11 peanut_zh 阅读(63) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页