【動態規劃】求最大連續bit數
功能: 求一個byte數字對應的二進位制數字中1的最大連續數,例如3的二進位制為00000011,最大連續2個1
輸入: 一個byte型的數字
輸出: 無
返回: 對應的二進位制數字中1的最大連續數
輸入描述:
輸入一個byte數字
輸出描述:
輸出轉成二進位制之後連續1的個數
輸入例子:
3
輸出例子:
2
思路:
動態規劃:array[i]表示數字在bit i位置上的01數字
max[i]表示以bit i結尾的的最長連續1個數 */
max[i]=max[i-1]+1,array[i]=1
max[i]=0,array[i]=0
邊界條件:
max[0]=array[0]
max陣列中儲存了以每個bit位結尾的最大連續bit數
所求的最大連續bit數的連續bit必定是以某個bit位結尾的
因此max陣列中的最大值就是最大的連續bit數
import java.util.*; public class Main { public static void main(String args[]){ Scanner cin=new Scanner(System.in); while(cin.hasNext()){ int m=cin.nextInt(); /*動態規劃:array[i]表示數字在bit i位置上的01數字 * max[i]表示以bit i結尾的的最長連續1個數 */ /* max[i]=max[i-1]+1,array[i]=1 * max[i]=0,array[i]=0 * 邊界條件: * max[0]=array[0] * max陣列中儲存了以每個bit位結尾的最大連續bit數 * 所求的最大連續bit數的連續bit必定是以某個bit位結尾的 * 因此max陣列中的最大值就是最大的連續bit數*/ /*將數字轉化為二進位制字串*/ String s=Integer.toBinaryString(m); System.out.println(m+" to binary:"+s); /*將字串轉化為char陣列*/ char[] array=s.toCharArray(); /*狀態轉移表*/ int[] max=new int[32]; /*邊界條件*/ max[0]=charToInt(array[0]); for(int i=1;i<array.length;i++){ /*狀態轉移方程*/ if(charToInt(array[i])==1){ max[i]=max[i-1]+1; }else{ max[i]=0; } } int result=0; /*從max陣列遍歷一次找到最大值*/ for(int i=0;i<max.length;i++){ if(max[i]>result){ result=max[i]; } } System.out.println(result); } } public static int charToInt(char c){ if(c=='1')return 1; else return 0; } }測試用例:
相關文章
- 動態規劃最大欄位和動態規劃
- 最大子陣——動態規劃DP動態規劃
- 禮物的最大價值(一維動態規劃&二維動態規劃)動態規劃
- 動態規劃求最長降序序列動態規劃
- Java 演算法-最大矩形(動態規劃)Java演算法動態規劃
- 動態規劃&矩陣連乘動態規劃矩陣
- 動態規劃之數的劃分動態規劃
- 動態規劃---求硬幣最優解動態規劃
- 【動態規劃】01揹包問題【續】動態規劃
- 整數劃分問題(動態規劃)動態規劃
- 【動態規劃(一)】動態規劃基礎動態規劃
- c++ 動態規劃(數塔)C++動態規劃
- 磁帶最大利用率問題——動態規劃動態規劃
- 動態規劃動態規劃
- 醜數問題——動態規劃、Java動態規劃Java
- 求字串連續字元數量字串字元
- 矩陣連乘(動態規劃演算法)矩陣動態規劃演算法
- 動態規劃分析動態規劃
- 動態規劃(DP)動態規劃
- 動態規劃初步動態規劃
- 模板 - 動態規劃動態規劃
- 動態規劃法動態規劃
- 動態規劃-硬幣組合數目動態規劃
- 動態規劃---例題3.最大子段和問題動態規劃
- 動態規劃-最大子矩陣和(ZOJ 1074 TO THE MAX )動態規劃矩陣
- hud1151 動態規劃 最大的公共子序列動態規劃
- 動態規劃求解矩陣累計和最大的路徑動態規劃矩陣
- 矩陣連乘問題 Python 動態規劃矩陣Python動態規劃
- 演算法系列-動態規劃(1):初識動態規劃演算法動態規劃
- 演算法提高 數的劃分 動態規劃 無序演算法動態規劃
- 淺談動態規劃動態規劃
- 有關動態規劃動態規劃
- 動態規劃小結動態規劃
- 動態規劃初級動態規劃
- 動態規劃講義動態規劃
- 好題——動態規劃動態規劃
- 3.動態規劃動態規劃
- 動態規劃-----線性動態規劃