俄罗斯方块
时间限制:1秒
空间限制:262144K
小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。
荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。
有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这局游戏他获得的分数。
输入描述:
第一行两个数 n, m 第二行 m 个数,c1, c2, ... , cm , ci 表示第 i 个方块落在第几列 其中 1 <= n, m <= 1000, 1 <= ci <= n
输出描述:
小易这局游戏获得的分数
输入例子1:
3 9 1 1 2 2 2 3 1 2 3
输出例子1:
2
其实就是找出现次数最低的那个数
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int[] column = new int[sc.nextInt()];
int n = sc.nextInt();
for(int i =0; i< n; i++){
column[sc.nextInt()- 1]++;
}
System.out.println(Arrays.stream(column).min().getAsInt());
}
}
参考:
java 中 寻找一个数组中的最大值或最小,除了自己专门编写一个 min 或 max 函数外,还有几种方式方便使用。
1. 使用 stream
将一个数组放进 stream 里面,然后直接调用 stream 里的 min 或 max 函数得到最大值或最小值。
2. 使用 collection
将数组转化为对象数组,即 int 转化为 Integer (需要使用 toObject 转换)。 然后调用 Collection 里面的 min或max.
3. 使用 Arrays 中的 sort
Arrays 类中的 sort 可以自动将一个数组排序,排序后数组中第一个元素就是 最小值,缺点是会改变数组。
import java.util.Arrays;
import java.util.Collections;
import org.apache.commons.lang3.ArrayUtils;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = {10, 5, 8};
int min = Arrays.stream(a).min().getAsInt();
System.out.println(min);
min = Collections.min(Arrays.asList(ArrayUtils.toObject(a)));
System.out.println(min);
Arrays.sort(a);
System.out.println(a[0]);
}
}
作者:心态与做事习惯决定人生高度
来源:CSDN
原文:https://blog.csdn.net/robert_chen1988/article/details/78032743
版权声明:本文为博主原创文章,转载请附上博文链接!