18/03/2021, 09:40
Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần
Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 1 lần Nội dung chính Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần Lời giải Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần Đề bài : Nhập một mảng số ...
Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 1 lần
Nội dung chính
- Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần
- Lời giải
Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần
Đề bài: Nhập một mảng số nguyên a0, a1, a2, …, an-1. Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần.
Lời giải
Trong bài này chúng tôi sử dụng TreeMap để lưu các từ tìm được và số lần xuất hiện của chúng trong mảng đã cho.
File: BaiTap20.java
package vn.viettuts.baitap.array;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
/**
* Chương trình liệt kê số lần xuất hiện các phần tử trong một mảng
* nhập từ bàn phím trong java.
*
* @author viettuts.vn
*/
public class BaiTap20 {
public static Scanner scanner = new Scanner(System.in);
/**
* main
*
* @param args
*/
public static void main(String[] args) {
System.out.print("Nhập số phần tử của mảng: ");
int n = scanner.nextInt();
// khởi tạo arr
int [] arr = new int [n];
System.out.println("Nhập các phần tử của mảng: ");
for (int i = 0; i < n; i++) {
System.out.printf("a[%d] = ", i);
arr[i] = scanner.nextInt();
}
// tìm số lần xuất hiện của các phần tử
Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
for (int i = 0; i < n; i++) {
addElement(map, arr[i]);
}
System.out.print("Các phần tử xuất hiện 1 lần: ");
for (Integer key : map.keySet()) {
if (map.get(key) == 2) {
System.out.print(key + " ");
}
}
}
/**
* Thêm từ vào map
*
* @param wordMap: map chứa các từ và số lần xuất hiện
* @param sb: từ cần thêm vào wordMap
*/
public static void addElement(Map<Integer, Integer> map, int element) {
if (map.containsKey(element)) {
int count = map.get(element) + 1;
map.put(element, count);
} else {
map.put(element, 1);
}
}
}
Kết quả:
Nhập số phần tử của mảng: 8 Nhập các phần tử của mảng: a[0] = 1 a[1] = 3 a[2] = 4 a[3] = 6 a[4] = 5 a[5] = 3 a[6] = 1 a[7] = 1 Các phần tử xuất hiện 2 lần: 3
Bài tập Java - Liệt kê các phần tử xuất hiện trong mảng đúng 1 lần