为了账号安全,请及时绑定邮箱和手机立即绑定

给定一个整数数组,返回数组中 9 的个数

给定一个整数数组,返回数组中 9 的个数

慕仙森 2023-08-23 14:37:56
基本上这个问题的目的是计算数字 9 在数组中输入的次数,例如 arrayCountNines([1, 9, 9, 3, 9]) = 3我尝试过进行数字流,例如使用 .collect 但似乎不起作用。还尝试过 HashMap    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 在数组中出现的次数
查看完整描述

4 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

尝试一下:


   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; 

   }


查看完整回答
反对 回复 2023-08-23
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

public int arrayCountNines(int[] nums) {
   return (int) Arrays.stream(nums).filter(value -> value == 9).count();
}


查看完整回答
反对 回复 2023-08-23
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

尝试这个简单的方法:


public int arrayCountNines(int[] nums) {

    int result = 0;

    for(int i = 0; i < nums.length; i++){

        if(nums[i] == 9){

            result++;

        }

    }

    return result;

}


查看完整回答
反对 回复 2023-08-23
?
POPMUISE

TA贡献1765条经验 获得超5个赞

难道不能使用 for 循环遍历数组,然后在该项等于 9 时将其添加到计数器中吗?


...

int nineCounter = 0;

for(int i=0; i<array.length ; i++){

  if(array[i] == 9){

    nineCounter++;

  }

}

return nineCounter;


查看完整回答
反对 回复 2023-08-23
  • 4 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信