学做投资网站好重庆好的seo平台
题目:给定一个长度为n+1的整型数组和一个整数x,前n+1个元素有序,此时需要插入一个元素x,在该数组中插入x后该数组仍有序。
举例:
输入:1,3,5,7,0 2
输出:1,2,3,5,7
我们来思考一下这道题:我们可以从后往前遍历,如果当前数组值<=待插入元素,则该位置之后就是待插入数的位置
public class demo7 {public static void main(String[] args){int[] arr=new int[]{1,3,5,7,0};int x=2;int len = arr.length;if(arr[0]>x){for(int j=len-2;j>=0;j--){arr[j+1]=arr[j];}arr[0]=x;}for(int i=len-2;i>=0;i--){if(arr[i]<=x){//找到位置for(int j=len-2;j>=i+1;j--){arr[j+1]=arr[j];}arr[i+1]=x;break;}}for(int val:arr){System.out.println(val);}} }
这道题没有输入数组,而是建立一个已知数组。
使用new关键字创建数组:
int[] arr=new int[]{1,3,5,7,0};