<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[success] # 統計數組中元素出現次數 ![](https://img.kancloud.cn/71/b6/71b6b59ac38ff5a332fec884de9c72c1_530x200.png) 1. 解決思路使用**Map 結構**統計每個數字出現的次數 * 圖 ![](https://img.kancloud.cn/c4/d1/c4d142c214cb26dfed69cf081e354f62_208x362.png) 2. 解決思路如果已知元素所存在的范圍足夠小可以使用**數組**來作為統計 * 圖 角標對元素,數組存儲是個數(及元素為索引,次數為value) ![](https://img.kancloud.cn/60/63/6063205a955e9767105892abf2a7e9ee_778x163.png) >[danger] ##### js 實現 ~~~ const arr = [3, 2, 2, 5, 6] // 使用map function mapCount(arr) { return arr.reduce((acc, cur) => { if (!acc[cur]) { acc[cur] = 0 } ++acc[cur] return acc }, {}) } // 使用數組 function arrCount(arr) { return arr.reduce((acc, cur) => { const index = cur - 1 if (!acc[index]) { acc[index] = 0 } ++acc[index] return acc }, []) } console.log(mapCount(arr)) // { '2': 2, '3': 1, '5': 1, '6': 1 } console.log(arrCount(arr)) // [ <1 empty item>, 2, 1, <1 empty item>, 1, 1 ] ~~~ >[danger] ##### java ~~~ java import java.sql.Array; import java.util.HashMap; import java.util.Map; public class ArrayCount { // 使用map 計數 public static Map<Integer,Integer> countArrMap(int[] arr){ // 創建一個Map 對象 Map<Integer,Integer> countMap = new HashMap<>(); for(int num:arr){ if(!countMap.containsKey(num)) { countMap.put(num,0); } int count = countMap.get(num); // compute 對 hashMap 中指定 key 的值進行重新計算 countMap.compute(num,(key,value)-> value+1); } return countMap; } // 使用數組計數 public static int[] countArrArr(int[] arr){ // 已知最大數為 6 創建數組長度為6 int[] countArr = new int[6]; for(int num:arr){ // 數組角標從0開始因此-1 int index = num - 1; ++ countArr[index]; } return countArr; } public static void main(String args[]){ int[] ls = {3, 2, 2, 5, 6}; Map<Integer,Integer> mapCount = ArrayCount.countArrMap(ls); int[] arrCount = ArrayCount.countArrArr(ls); System.out.println(mapCount); int idx = 0; for(int item:arrCount){ System.out.print("key:" + ++idx +"-"+"val:"+item); } } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看