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

首頁 > 學院 > 開發設計 > 正文

Leetcode刷題

2019-11-14 09:09:42
字體:
來源:轉載
供稿:網友

485.Max Consecutive Ones

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

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的話沒有執行給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. 給定兩個整數,求其對應二進制位上是不同數字的個數。

public int hammingDistance(int x, int y) { int distance = 0; int k = x ^ y; //調用Integer類中的bitcount方法求一個整數的二進制中1的個數 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相與,結果為1則最低位為1,結果為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. 巧妙利用遞歸簡化代碼


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 游戏| 双牌县| 温州市| 浦北县| 江源县| 永德县| 寿宁县| 南安市| 北安市| 崇左市| 龙岩市| 上虞市| 张家口市| 六盘水市| 阜新| 新邵县| 彭州市| 合山市| 广平县| 繁峙县| 探索| 湄潭县| 郧西县| 津南区| 岳池县| 宿松县| 社旗县| 双峰县| 龙州县| 马龙县| 印江| 久治县| 天水市| 玉山县| 榕江县| 西盟| 泰州市| 奉节县| 兴安盟| 伊川县| 浦县|