输入格式
输入的第一行包含一个整数n,表示记录条数。
第二行输入n个整数,依次表示记录中的每个值(1<=n<=1000)。
输出格式
输出一行,包含n个整数,由空格分隔,依次表示每条记录中的值是第几次出现。
样例输入
5
1 2 1 1 3
样例输出
1 1 2 3 1
请高手们告诉我怎么用java来实现,我是初学者。
public static void main(String args[]) {
Scanner s = new Scanner(System.in);//输入
int n = s.nextInt();//输入第一行有n个整数
int a[] = new int[n];//新建一个n个元素的数组,表述记录中的值
//我的问题就是出在这里,后面不会写下去了,请高手们帮我指导一下,谢谢。
}
1
xiaoyukid 2015-03-12 11:10:57 +08:00 1
public static void main(String[] args) {
int[] a = new int[]{1, 2, 1, 1, 3}; Map<Integer, Integer> map = new HashMap<Integer, Integer>(); int[] b = new int[a.length]; for (int i = 0; i < a.length; i++) { if (map.get(a[i]) == null) map.put(a[i], 1); else map.put(a[i], map.get(a[i]) + 1); b[i] = map.get(a[i]); } for (int i = 0; i < b.length; i++) System.out.print(b[i] + " "); } |
2
xiaoyukid 2015-03-12 11:12:51 +08:00 1
<script src="https://gist.github.com/xiaoyukid/d5f8fcbcbf24d5e002a6.js"></script>
|
3
BigDecimal 2015-03-12 11:26:37 +08:00 1
简单写了下,不知道符不符合楼猪要求~
public static void printNum(Scanner s, int n) { int[] inputNumArr = new int[n]; int[] outputNumArr = new int[n]; for (int i = 0; i < inputNumArr.length; i++) { int num = s.nextInt(); inputNumArr[i] = num; int count = 0; for (int j : inputNumArr) { if (j == num) { count++; } } outputNumArr[i] = count; } System.out.println("Input number: " +n); System.out.print("Input number array: "); for (int in : inputNumArr) { System.out.print(in + " "); } System.out.println(); System.out.print("Output number array: "); for (int out : outputNumArr) { System.out.print(out + " "); } } |
4
honeys 2015-03-12 13:53:59 +08:00 1
问题是什么意思?
原问题缩句为:用java实现个数。 个数怎么实现? |
5
Bitex 2015-03-12 14:05:44 +08:00 1
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in); int n = scanner .nextInt(); int[] counts = new int[1001]; // 每个数字出现的个数 for (int i = 0; i < n; i ++) { int temp = scanner.nextInt(); counts[temp]++; System.out.print(counts[temp] + " "); } } |
6
jiaqidianbo OP |