国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Leetcode刷題

2019-11-14 10:06:43
字體:
供稿:網(wǎng)友

485.Max Consecutive Ones

Description Given a binary array, find the maximum number of consecutive 1s in this array. 給定一個二進制數(shù)組,找出這個數(shù)組中最大的連續(xù)1的個數(shù)

public class Solution { public int findMaxConsecutiveOnes(int[] nums) { int maxNumber = 0,number = 0; int len = nums.length; //遇0則變0,遇1則加1 for(int i = 0;i < len; i++){ if(nums[i] == 0){ number = 0; } else{ number++; if(maxNumber < number) maxNumber = number; } } return maxNumber; }}public class Solution { public int findMaxConsecutiveOnes(int[] nums) { int maxNumber = 0,number = 0; int len = nums.length; //遇1則加1,遇0則變0 for(int i = 0;i < len; i++){ if(nums[i] == 1){ number ++; } else{ if(number > maxNumber){ maxNumber = number; } number = 0; } } //注意num[len - 1]如果是1的話沒有執(zhí)行給maxNumber賦值的語句 if(number >maxNumber){ maxNumber = number; } return maxNumber; }}

461. Hamming Distance

Description The Hamming distance between two integers is the number of positions at which the corresponding bits are different. 給定兩個整數(shù),求其對應(yīng)二進制位上是不同數(shù)字的個數(shù)。

public int hammingDistance(int x, int y) { int distance = 0; int k = x ^ y; //調(diào)用Integer類中的bitcount方法求一個整數(shù)的二進制中1的個數(shù) distance = Integer.bitCount(k); return distance; }public int hammingDistance(int x, int y) { int distance = 0; int k = x ^ y; System.out.PRintln(k); while(k != 0){ //和1相與,結(jié)果為1則最低位為1,結(jié)果為0則最低位為0 if( (k & 1) == 1) distance ++; k = k >> 1;//右移 } return distance;}//逐位異或public int hammingDistance(int x, int y) { int distance = 0; while(x !=0 || y!=0){ if(((x & 1) ^ (y & 1)) == 1){ distance ++; } x = x >> 1; y = y >> 1; } return distance; } //(借鑒)利用遞歸 public int hammingDistance(int x, int y) { if((x ^ y) == 0) return 0; return (x ^ y) % 2 + hammingDistance(x >> 1, y >> 1); }

感想:1. 二進制位運算要充分利用二進制運算符,~,&,|,^(異或,相同為0,不同為1) 2. 巧妙利用遞歸簡化代碼


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 湘潭市| 南开区| 娄烦县| 保定市| 澄江县| 唐海县| 华容县| 克什克腾旗| 偃师市| 海阳市| 新泰市| 枝江市| 乳山市| 新营市| 清苑县| 潮安县| 乐平市| 延川县| 灌南县| 曲水县| 福州市| 米林县| 山阳县| 洮南市| 同心县| 迭部县| 棋牌| 新民市| 温州市| 鄂托克前旗| 响水县| 靖远县| 马关县| 万源市| 诸城市| 内乡县| 桂林市| 江安县| 许昌市| 万载县| 大庆市|