打印杨辉三角
import java.util.Scanner;
public class ArrayDemo10 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入行数:");
int[][] pascal = pascal(scanner.nextInt());
sprint(pascal);
}
public static int[][] pascal(int rows){
int[][] pascal = new int[rows][rows];
for (int i = 0; i < pascal.length; i++) {
pascal[i][0] = 1;
pascal[i][i] = 1;
if(i > 1){
for (int j = 1; j < i; j++) {
pascal[i][j] = pascal[i-1][j-1]+pascal[i-1][j];
}
}
}
return pascal;
}
public static void sprint(int[][] arrays){
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(arrays[i][j]+"\t\t");
}
System.out.println();
}
}
}
根据数组元素查找出该元素第一次在数组中出现的索引
public class ArrayDemo11 {
public static void main(String[] args) {
int[] arr = {12,34,35,45,46,46,46,56,67,78};
seek1(arr,60);
int[] array = {23,35,74,14,46,67,23,67,35,74,14,46,67,23,67};
seek2(array,46);
if(getIndexByEle(array,46) == -1){
System.out.println("无此数");
}else{
System.out.println("此数第一次在数组中出现的索引:"+getIndexByEle(array,46) );
}
}
public static void seek1(int[] array,int num){
int minindex = 0;
int maxindex = array.length-1;
boolean flag = false;
while(minindex<=maxindex){
int centreindex = (minindex+maxindex)/2;
if(num == array[centreindex]){
int temp = array[centreindex];
for (int i = centreindex-1; i >=0; i--) {
if(array[i] != temp){
System.out.println("第一次出现索引:"+(i+1));
flag = true;
break;
}
}
break;
}else if(num < array[centreindex]){
maxindex = centreindex-1;
}else{
minindex = centreindex+1;
}
}
if(!flag){
System.out.println("无此数值");
}
}
public static void seek2(int[] array,int num){
boolean flag = false;
for (int i = 0; i < array.length; i++) {
if(array[i] == num){
System.out.println("第一次出现的索引:"+i);
flag = true;
break;
}
}
if(!flag){
System.out.println("数组中没有此数!");
}
}
public static int getIndexByEle(int[] arr,int ele){
for (int i = 0; i < arr.length; i++) {
if(ele == arr[i]){
return i;
}
}
return -1;
}
}