從HashMap中找出出現次數最多的鍵
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; public class Main{ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); while(true){ int num = input.nextInt(); if(num == 0) return ; //輸入<String,Integer>鍵值對 HashMap <String,Integer> map = new HashMap<String,Integer>(); for(int i=0;i<num;i++){ String tmp = input.next(); if(map.containsKey(tmp)){ map.put(tmp, map.get(tmp)+1); }else{ map.put(tmp, 1); } } //放入list中排序,找出出現次數最大的鍵即可 String maxKey = null; int value = 0 ; ArrayList list = new ArrayList(); Iterator ite = map.entrySet().iterator(); while(ite.hasNext()){ Map.Entry entry =(Map.Entry)ite.next(); value = Integer.parseInt(entry.getValue().toString()); list.add(entry.getValue()); Collections.sort(list); if(value == Integer.parseInt(list.get(list.size()-1).toString())){ maxKey = entry.getKey().toString(); } } System.out.println(maxKey); } } }
相關推薦
從HashMap中找出出現次數最多的鍵
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.
從一億個ip找出出現次數最多的IP(分治法)
/* 1,hash雜湊 2,找到每個塊出現次數最多的(默認出現均勻)—–>可以用字典樹 3,在每個塊出現最多的資料中挑選出最大的為結果 */ 問題一: 怎麼在海量資料中找出重複次數最多的一個 演算法思想: 方
從1億個ip中找出訪問次數最多的IP
問題一:怎麼在海量資料中找出重複次數最多的一個演算法思想:方案1:先做hash,然後求模對映為小檔案,求出每個小檔案中重複次數最多的一個,並記錄重複次數。 然後找出上一步求出的資料中重複次數最多的一個就是所求(如下)。問題二: 網站日誌中記錄了使用
BAT面試上機題從3億個ip中找出訪問次數最多的IP詳解
我們面臨的問題有以下兩點:1)資料量太大,無法在短時間內解決;2)記憶體不夠,沒辦法裝下那麼多的資料。而對應的辦法其實也就是分成1)針對時間,合適的演算法+合適的資料結構來提高處理效率;2)針對空間,就是分而治之,將大資料量拆分成多個比較小的資料片,然後對其各個資料片進行處理,最後再處理各個資料片的結果。原文
海量日誌資料__怎麼在海量資料中找出重複次數最多的一個
問題一: 怎麼在海量資料中找出重複次數最多的一個 演算法思想: 方案1:先做hash,然後求模對映為小檔案,求出每個小檔案中重複次數最多的一個,並記錄重複次數。 然後找出上一步求出的資料中重複次數最多的一個就是所求(如下)。 問題二:
Problem E: 找出出現次數最多的字母
Description 找出出現次數最多的字母 Input 現在給你一行密文,全部由小寫字母組成(不超過100個),你要找出出現次數最多的那個字母 Output 每組輸出1行,輸出出現次數最多的那個字母 Sample Input aaaaaaabbc nnnn
海量日誌資料,找出出現次數最多的IP地址。
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java
python(dict字典相關知識以及小例子:生成一個列表,存放100個隨機整數,找出出現次數最多的數字)
一、什麼是字典? #字典的使用 #子字典是一個容器類,可以用來儲存資料 #列表儲存資料特點:1、有序的 2、每一個都有一個索引,通過索引可以對資料進行查詢,修改,刪除 #字典儲存資料: key:v
Java-實現找出陣列中一個數字出現次數最多的數字
import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; public class Mytest {/*** @par
8.7在陣列中找出出現次數大於N÷K的數
題目 給定一個整形陣列arr,再給定一個整數K,列印所有出現次數大於N/K的數,如果沒有這樣的數,列印提示資訊。 首先分析K=2這個特殊情況,有以下思路: 排序後,取陣列中間的數。但該方法的時間複雜度為排序演算法的時間複雜度O(NlogN)。
陣列中找出出現次數超過一半的數
劍指offer中的題目,利用快速排序的partition函式進行解決,程式碼如下 class Solution { public: int partition(vector<int> numbers,int p,int r) {
十萬個數據,找出重複次數最多的十個資料並列印
利用集合 ,找出十萬個數據中,重複次數最多的十個資料並列印. 先通過Hashmap儲存, key為資料,value為它出現的次數. 然後用優先順序佇列,儲存型別為Map.Entry,重寫比較器類,利用value進行比較. 優先順序佇列中利用小根堆形式,只儲存十個. 接下來遍歷其他的,如果比小
找出重複次數最多的數字
問題 給定一個大小為n的陣列,該陣列包含數字的範圍在 [0...k-1], k是一個正整數,k < = n。在這個陣列找到重複次數最多的數字。 例如, 假設k= 10給定的陣列是arr[] = {1, 2, 2, 2, 0, 2, 0, 2, 3, 8, 0,
從十億資料中找出出現最多的數以及出現次數
package org.example.bigdata; import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List
js常會問的問題:找出字符串中出現次數最多的字符。
spl object 16px 說明 最大數 bsp 賦值 out 數列 一、循環obj let testStr = ‘asdasddsfdsfadsfdghdadsdfdgdasd‘; function getMax(str) {
找出該字符串中出現次數最多的那個字符
esp 表示 輸出 ive 出現次數 output post 字典 如果 /*時間限制 C/C++ 3s 其他 6s, 空間限制 C/C++ 32768k 其他 65535k 題目描述 給定一個長度不限的字符串,請找出該字符串中出現次數最多的那個字符,並打印出該字符
Problem A: 零起點學演算法91——找出一個數組中出現次數最多的那個元素
#include<stdio.h> int main() { int n,a[20],b[20]={0}; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) {
演算法練習08 找出字串中出現次數最多的字元
題目 找出一個字串中出現次數最多的字元 const str = 'asdfaaaa' 最後的返回值是字串'a' 實現 嗯,我略加思考(半個小時左右),給出了一個複雜的方案,一個屎一般的方案 屎一般的方案 我的方案是利用redcue,計算出了每個字串出現的頻次
js演算法:找出一個字串中出現次數最多的字元!
在其他部落格裡面看到了一種方法: 這個方法很簡單,但是15-20行程式碼對於萌新來說,不是很好理解,因此我給出了以下這個方案,先想辦法統計出所有字母各出現的次數,然後把這些次數push到一個數組裡面,找出最大的那個數(我這裡是通過排序找出的最大數),最大數有了,該數對應的字元不就很容易
python找出序列中出現次數最多的元素之Counter物件
解決此類問題我們將用到collections模組中的Counter類,並直接呼叫Counter類的most_common()方法或得答案。 用下面的例子來講解具體用法: 基本用法 from col