我正在浏览一个建议用于 OCJP 考试的应用程序。我发现了一个关于二维数组的问题。
问题:二维数组的有效声明。
选项:
int[][] array2D; int[2][2] array2D; int array2D[]; int[] array2D[]; int[][] array2D[];我的选择: int[][] array2D;和int[] array2D[],但是当我提出我的回答它告诉我,int[] array2D[]是错误的,正确的就是int[][] array2D[];
我认为这int[][] array2D[];是不正确的答案。
int[] array2D[]推荐在编程中?正整数 N 内的二进制间隙是在 N 的二进制表示中两端被 1 包围的连续零的任何最大序列。
例如,数字 9 的二进制表示为 1001,并且包含长度为 2 的二进制间隙。数字 529 的二进制表示为 1000010001,并且包含两个二进制间隙:长度为 4 的一个和长度为 3 的一个。数字 20 的二进制表示为 10100,并且包含一个长度为 1 的二进制间隙。数字 15 具有二进制表示形式 1111,并且没有二进制间隙。
写一个函数:
int 解决方案(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<String> strList = new ArrayList<String>();
int …Run Code Online (Sandbox Code Playgroud)