Tag: 挑战 响应

我的Binary Gap代码解决方案是否正确? 我应该改进什么?

正整数N内的二进制间隙是连续零的任何最大序列,其由N的二进制表示中的两端的1包围。 例如,数字9具有二进制表示1001并且包含长度为2的二进制间隙。数字529具有二进制表示1000010001并且包含两个二进制间隙:长度为4且长度为3的一个。数字20具有二进制表示10100并包含一个长度为1的二进制间隙。数字15具有二进制表示1111并且没有二进制间隙。 写一个函数: int solution(int N); 在给定正整数N的情况下,返回其最长二进制间隙的长度。 如果N不包含二进制间隙,则该函数应返回0。 例如,给定N = 1041,函数应返回5,因为N具有二进制表示10000010001,因此其最长的二进制间隙长度为5。 public int solution(int n) { // write your code in Java SE 8 String binaryRep = Integer.toBinaryString(n); System.out.println(“Binary Representation of ” + n + ” = ” + binaryRep); List strList = new ArrayList(); int count = 0; for (int i = 0; i […]