1.判断一个数组里是否有重复的数
2.判断数组是否是对称数组
3将一个正整数如35转换成二进制码
4输出一个数组中的第二大值
5.去掉数组里的零形成一个没有零的新数组
6.约瑟夫环的问题(上网查找约瑟夫环的含义)
7..定义一个数组,用来存储1 1 2 3 5 8 13……这样的Fibonacci数列,存储该数列的前20个数;
8.从键盘中接收用户输入的10个数值,输出最大的三个?(两种方法实现)
9、歌手打分:在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。输入每个评委的评分求某选手的得分。
10.定义一个10个元素的数组,编写程序,随机打乱顺序;
11.大小为N的数组A,其主元素是一个出现超过N/2次的元素(从而这样的元素最多有一个),例如,数组 {3,3,4,6,4,4,4,1,4},有一个主元素4,而数组{1,2,3,4,6,3,2,3}没有主元素,判断一个数组是否有主元素,如果有,则输出这个数,如没有,则输出“没有主元素”;
12.找出两个已排序的数组中包含的相同元素;
13.利用二分法查找数组中的数据的位置,如果不存在,输出-1
14.将两个已经排序的数组合并,合并之后,按大小进行排序;
a={1,2,8,45,89};
b={3,4,6,9,30,66,100};
合并后的结果应该是c={1,2,3,6,8,9,30,45,66,89,100};
15.已知一个数组,例如int[] a={5,6,8,0,6,,0,1,0,56};写一段代码,要求不使用新数组的情况下,将非0的数字向前移动,将所有的0放非0之后,并说明一下程序执行的时间复杂度;(百度机试题)
移动之后的数据应该如下:
a={5,6,8,6,1,56,0,0,0};
1.
import java.util.*;
class fj1//判断一个数组是否重复
{
public static void main(String[] args)
{
int[] array=new int[10];
Scanner scanner=new Scanner(System.in);
for(int i=0;i<10;i++)
array[i]=scanner.nextInt();
if (cheakRepeat(array)) {
System.out.println("没有重复值!");
} else {
System.out.println("有重复值!");
}
}
public static boolean cheakRepeat(int[] array){
HashSet<Integer> hashSet = new HashSet<Integer>();
for (int i = 0; i < array.length; i++) {
hashSet.add(array[i]);
}
if (hashSet.size() == array.length){
return true;
}else {
return false;
}
}
}
2