Java入坟day06 双倍困难の二维数组(杨辉三角)(二分查找法)
程序员文章站
2022-06-24 12:36:01
java入坟day06 双倍困难の二维数组(杨辉三角)(二分查找法)二维数组变量 数组 二维数组随着数据量的不断增大,我们需要更大的容器来装数据,这个时候,一维内存已经不足以满足所需,我们需要的是二维“平面”数组。画图分析。第一个【】代表 的是:这个二维数组由几个一维数组构成,也是这个二维数组的长度第二个【】代表 的是,构成这个二维数组的一维数组,它的长度是多少1.二维数组的定义:赋值:二分查找法定义一个有序数组,折半比较注意,当只剩下最后两个元素时,如何避免死循环...
java入坟day06 双倍困难の二维数组(杨辉三角)(二分查找法)
二维数组
变量 数组 二维数组
随着数据量的不断增大,我们需要更大的容器来装数据,这个时候,一维内存已经不足以满足所需,我们需要的是二维“平面”数组。画图分析。
第一个【】代表 的是:这个二维数组由几个一维数组构成,也是这个二维数组的长度
第二个【】代表 的是,构成这个二维数组的一维数组,它的长度是多少
1.二维数组的定义:
赋值:
二分查找法
定义一个有序数组,折半比较
注意,当只剩下最后两个元素时,如何避免死循环。
/*二分查找法,递归版*/
private static void erfenchazhao2(int[] arr, int i,int start,int end) {
int mid = (start+end)/2;
if (i==arr[mid]){
System.out.println("找到了,下标为"+mid);
return;
}
else if (i>arr[mid]){
start = mid+1;
}
else if (i<arr[mid]){
end = mid-1;
}
if (start<=end){
erfenchazhao2(arr,i,start,end);
}else {
System.out.println("找不到");
}
}
/*二分查找法循环*/
private static void erfenchazhao(int[] arr,int X) {
int start = 0,end = arr.length-1, mid = (start+end)/2;
while (start<=end){
if (X==arr[mid]){
System.out.println("找到了,下标为"+mid);
return;
}
else if (X>arr[mid]){
start = mid+1;
}
else if (X<arr[mid]){
end = mid-1;
}
mid = (start+end)/2;
}
System.out.println("找不到");
}
杨辉三角形!!!!!!!!!!!
2.打印杨辉三角形(要求打印10行),如下所示:(使用二维数组)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
int[][] arr=new int[10][];
for(int i=0;i<arr.length;i++) {
arr[i]=new int[i+1];
}
for(int i=0;i<arr.length;i++) {
for(int j=0;j<arr[i].length;j++) {
if(j==0 || i==j) {
arr[i][j]=1;
}else {
arr[i][j]=arr[i-1][j]+aarr[i-1][j-1];
}
}
}
for(int i=0;i<arr.length;i++) {
int num=(arr.length-i)/2;
for(int k=0;k<=num;k++) {
System.out.print("\t");
}
for(int j=0;j<arr[i].length;j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
博客最丑杨辉三角形
本文地址:https://blog.csdn.net/zyznb2/article/details/110826403
下一篇: docker私有库的搭建实现