输入一个正整数和n个有序整数(从小到大),输入一个数试要求按照原来的顺序插入,如果本就存在则删除改数字
package com.rongyu.j2ee;
/**
* @Description:
* @Author: rongyu
* @CreateDate: 2018/10/30$ 12:57$
* @Remark:
*/
public class Test {
public static void main(String[] args) {
int[] ints = new int[]{1, 2, 4, 5};
int num = 6;
// 是否存在
boolean exist = false;
// 是否大于全部
// 插入的下标
Integer index = null;
for (int i = 0; i < ints.length; i++) {
if (ints[i] < num) {
// 小于
if (i == ints.length - 1) {
// 小于但是到最后
index = i+1;
break;
}
continue;
} else if (ints[i] == num) {
// 等于
exist = true;
index = i;
break;
} else {
//大于 立刻弹出
index = i;
break;
}
}
// 最终结果数组
int[] arr;
if (exist) {
// 原数组有 删除
arr = new int[ints.length-1];
for (int i = 0; i < ints.length; i++) {
if(i<index){
arr[i] = ints[i];
}else if(i>index){
arr[i-1] = ints[i];
}
}
} else {
// 原数组没有 添加
arr = new int[ints.length+1];
for (int i = 0; i < arr.length; i++) {
if(i<index){
arr[i] = ints[i];
}else if(i==index){
arr[i] = num;
}else {
//大于
arr[i] = ints[i-1];
}
}
}
System.out.println(arr);
}
}