[英]given an array A of N integers, return the largest integer K>0 such that both K and -K(the opposite number) exist in array A
[英]Given an array of integer , return the number of 9's in the array
基本上这个问题的目的是计算在数组中输入数字 9 的次数,例如,arrayCountNines([1, 9, 9, 3, 9]) = 3
我尝试过使用 Stream 的数字,例如通过 using.collect 但这似乎不起作用。 也尝试过 HashMaps
public class NewClass4 {
public int arrayCountNines(int[] nums) {
HashMap < Character, Integer > map = new HashMap<>();
for (int i =0; i<nums.length; i++) {
char[] charr = String.valueOf(nums[i]).toCharArray();
for(int j = 0; j<charr.length; j++) {
if(map.containsKey(charr[j])) {
map.put(charr[j], map.get(charr[j])+1);
}
else {
map.put(charr[j], 1);
}
}
}
return 1;
}
}
] 1
它不返回 9 在数组中的次数
public int arrayCountNines(int[] nums) {
return (int) Arrays.stream(nums).filter(value -> value == 9).count();
}
试试这个简单的方法:
public int arrayCountNines(int[] nums) {
int result = 0;
for(int i = 0; i < nums.length; i++){
if(nums[i] == 9){
result++;
}
}
return result;
}
试试看:
public int arrayCountNines(int[] nums) {
int count=0;
for (int i =0; i<nums.length; i++) {
int v = nums[i];
if (v==9) {
count++;
}
}
return count;
}
您不能只使用 for 循环遍历数组,然后在项目等于 9 时添加到计数器吗?
...
int nineCounter = 0;
for(int i=0; i<array.length ; i++){
if(array[i] == 9){
nineCounter++;
}
}
return nineCounter;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.