杨辉三角 往有序数组插入元素

  

杨辉三角

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class B {
  public static void main(String[] args) {
    int[][] array=new int[10][];
    for(int i=0;i<array.length;++i){
      array[i]=new int[i+1];
      for(int j=0;j<array[i].length;++j){
        if(j==0 || j==array[i].length-1){
          array[i][j]=1;
        }else{
          array[i][j]=array[i-1][j-1]+array[i-1][j];
        }
      }
    }
 
    for(int i=0;i<array.length;++i){
      for(int j=0;j<array[i].length;++j){
        System.out.print(array[i][j]+"\t");
      }
      System.out.println();
    }
  }
}

  

往有序数组插入元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class B{
  public static void main(String[] args){
    int[] b={1,2,4,5};
    int[] p=new int[b.length+1];
    int v=3;
    for(int i=0;i<b.length;++i){
      if(b[i] < v){
        p[i]=b[i];
      }else{
        p[i]=v;
        for(int j=i;j<b.length;++j){
          p[j++]=b[j];
        }
        break;
      }
    }
    b=p;
    for(int i=0;i<b.length;++i){
      System.out.print(b[i]+"\t");
    }
  }
}

  

上面的错误结果为

 

 

应该把p[j++]=b[j]               =>               p[j+1]=b[j]

 

寻找插入位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class V {
  public static void main(String[] args){
    int[] b={1,2,4,5};
    int[] p=new int[b.length+1];
    int v=3;
    int index=-1;
    for(int i=0;i<b.length;++i){
      if(v<=b[i]){
        index=i;
        break// require break
      }
    }
    if(index == -1){  // 待插入值最大
      index=b.length;
    }
    // System.out.println(index);
    for(int i=0,j=0;i<p.length;++i){
      if(i != index){
        p[i]=b[j];
        j++;
      }else{
        p[i]=v;
      }
    }
 
    for(int i=0;i<p.length;++i){
      System.out.print(p[i]+"\t");
    }
  }
}

  

posted @   ascertain  阅读(45)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示