nums = [1,2,2,3,1]用java找出现最多的数
时间: 2023-10-02 14:10:16 浏览: 33
可以使用HashMap来统计每个数出现的次数,然后找出出现次数最多的数。
Java代码如下:
```java
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 2, 3, 1};
HashMap<Integer, Integer> map = new HashMap<>();
int maxCount = 0, maxNum = 0;
for (int num : nums) {
int count = map.getOrDefault(num, 0) + 1;
map.put(num, count);
if (count > maxCount) {
maxCount = count;
maxNum = num;
}
}
System.out.println("出现最多的数是:" + maxNum);
}
}
```
输出结果为:
```
出现最多的数是:2
```
相关问题
将1,2,3个数组成不同的整数打印输出java
以下是Java代码实现:
```
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
permutation(nums, 0, nums.length - 1);
}
private static void permutation(int[] nums, int start, int end) {
if (start == end) {
printArray(nums);
} else {
for (int i = start; i <= end; i++) {
swap(nums, start, i);
permutation(nums, start + 1, end);
swap(nums, start, i);
}
}
}
private static void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
private static void printArray(int[] nums) {
int num = 0;
for (int i = 0; i < nums.length; i++) {
num = num * 10 + nums[i];
}
System.out.println(num);
}
}
```
输出结果为:
```
123
132
213
231
312
321
```
希望能够帮到你!
java删除重复出现元素,每个元素最多出现2次
可以通过遍历数组,使用一个额外的变量记录每个数字出现的次数,然后删除多余的重复元素,代码如下:
```java
public static int[] removeDuplicates(int[] nums) {
int i = 0;
for (int n : nums) {
if (i < 2 || n > nums[i - 2]) {
nums[i++] = n;
}
}
return Arrays.copyOfRange(nums, 0, i);
}
```
这个方法使用了一个额外的变量 `i` 来记录新数组的长度,初始值为 0。对于数组中的每个元素 `n`,如果它是第一次出现,或者前面的两个元素都不等于它,就将它添加到新数组中并将 `i` 加 1。最后,返回新数组的前 `i` 个元素。
使用该方法可以删除重复元素并保留每个元素最多出现两次。