java常用算法题
来源:互联网 发布:面部识别照相软件 编辑:程序博客网 时间:2024/05/20 05:27
* 随机生成双色球: a. 红球[1, 32], 红球6个, 不能重复; b.[1, 16], 篮球一个.
*/
@Test
public void doubleColorBall(){
Random random = new Random();
Set<Integer> redBall = new HashSet<Integer>();
while(redBall.size() < 6){
redBall.add(random.nextInt(32) + 1);
}
System.out.print("红球: ");
for(Integer inte : redBall){
System.out.print(inte + " ");
}
System.out.print(" 蓝球: " + (random.nextInt(16) + 1));
}
//冒泡排序
@Test
public void bubbleSort(){
int[] array = {21, 2, 12, 35, 46, 89, 9, 8, 7};
for(int i = 0; i < array.length - 1; i++){ //控制着多少个数字沉底
for(int j = 0; j < array.length - i - 1;j++){ //交换
if(array[j] > array[j + 1]){
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
}
随机生成一个数组,判断所有元素中相同元素 的个数
int[] array = new int[60];
Random random = new Random();
for(int i = 0; i < array.length; i++){
array[i] = random.nextInt(40) + 1;
}
/** map的key不能重复,
* 用map的key存放数组的值, map的value存放次数
*/
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
// 3, 3, 3, 2, 1, 2
for(int i = 0; i < array.length; i++){
/**
Integer times = map.get(array[i]);
if(null == times){
map.put(array[i], 1);
}else{
map.put(array[i], times + 1);
}
*/
map.put(array[i], map.get(array[i]) == null ? 1 : map.get(array[i]) + 1);
}
Set<Entry<Integer, Integer>> entrySet = map.entrySet();
for(Entry<Integer, Integer> entry : entrySet){
System.out.println(entry.getKey() + "出现的次数" + entry.getValue());
}
/**
* 1.add() 比较hashcode, 如果hashcode相同, 在去标记equals()方法.
* hashcode的特性: 1.如果hashcode相同, 对象可能相同;
* 2. hashcode不同, 对象肯定不同;
* 3. 对象相同,hashcode肯定相同.
*
* hashcode时根据对象所处的内存地址, 然后在加上对象的某些属性, 通过hash算法得到.
*/
}
- java常用算法题
- java中常用算法算法
- java 常用的算法
- Java常用算法分析
- java常用算法
- java常用排序算法
- JAVA常用算法-九九乘法表
- java常用算法
- JAVA 常用算法总结
- Java 常用排序算法
- java常用排序算法
- Java中的常用算法
- java常用算法
- java常用排序算法
- java常用算法
- java 常用排序算法
- java常用算法
- 常用Java排序算法
- redis常用命令
- Struts Spring 实现 JSP 读取数据库
- Tcp 三次握手与四次挥手
- 第二章——继承(2)
- javascript立即执行函数的两种写法
- java常用算法题
- 三个范式
- 怎么为Apache配置SSL
- HDU 1166 敌兵布阵(线段树之单点更新)
- varnishd
- 彩色图像的锐化处理
- web数据安全
- 线性降维-笔记(1)
- mysql5.7.18+linux安装二进制包与运行