我試圖找到一個二進制字符串中連續的最大數目。如何在二進制數中找到最大連續數?
輸入:67
預期輸出:2
我的輸出:7
說明:67
二進制是1000011
,所以輸出應該是2,但我發現了7
爲輸出。有人可以指出這個錯誤嗎?
下面的代碼:
public class Test{
static int getMax(int n)
{
String bin = Integer.toBinaryString(n);
char[] arr = bin.toCharArray();
int count = 0;
int result = 0;
for(int i=0; i < arr.length; i++)
{
if(arr[i]==0)
{
count = 0;
}
else
{
count++;
result=Math.max(result,count);
}
}
return result;
}
public static void main(String args[])
{
System.out.println(getMax(67));
}
}
你應該做一些調試。 –
歡迎來到堆棧溢出!它看起來像你需要學習使用調試器。請幫助一些[互補調試技術](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。如果您之後仍然遇到問題,請隨時回答一個更具體的問題。 –
我會在這裏留下:'0'和''0''有什麼區別? –