杨辉三角 往有序数组插入元素
杨辉三角
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" ); } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律