求出現重現次數最多的字母,如有多個重複的則都求出來,重現次數

來源:互聯網
上載者:User

求出現重現次數最多的字母,如有多個重複的則都求出來,重現次數

一個字串中可能包含a~z中的多個字元,如有重複,如String="aavlasdjflajeeeeewjjowejjojasjfesdvoeawje";,求出現次數最多的那個字母及次數,如有多個重複的則都求出。

1.引入TreeSet:通過集合快速找到所有出現的字串

2.引入ArrayList:為了快速排序,再通過StringBuffer產生排序後的字串

3.通過String api 中的基本方法indexOfLaseIndexOf 來計算TreeSet 中每個字串的最大值

4.如果出現相同的,則把相同的都記錄在一個列表中

5.記錄第一個出現次數最多的字元

6.計算最大字串列表中的哪些才是真正出現次數最多的。


package cn.usst.DataTest2;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.TreeSet;public class DataTest {public static void main(String[] args) {String input = "aavlasdjflajeeeeewjjowejjojasjfesdvoeawje";new DataTest().doString(input);}@SuppressWarnings({ "rawtypes", "unchecked" })private void doString(String input) {char[] chars = input.toCharArray();ArrayList lists = new ArrayList();TreeSet set = new TreeSet();for (int i = 0; i < chars.length; i++){lists.add(String.valueOf(chars[i]));set.add(String.valueOf(chars[i]));}System.out.println(set);Collections.sort(lists);System.out.println(lists);StringBuffer sb = new StringBuffer();for ( int i = 0; i < lists.size(); i++){sb.append(lists.get(i));}input = sb.toString();System.out.println(input);int max = 0; String maxString = "";ArrayList maxlist =  new ArrayList();Iterator its = set.iterator();while(its.hasNext()){String os = (String) its.next();int begin = input.indexOf(os);int end = input.lastIndexOf(os);int value = end - begin + 1;if(value > max){max = value; maxString = os; maxlist.add(os);}else if(value == max){maxlist.add(os);}}int index = 0;for (int i = 0; i< maxlist.size(); i++){if(maxlist.get(i).equals(maxString)){index = i; break;}}System.out.println();for(int i = index; i < maxlist.size(); i++){System.out.println("maxdata = " + maxlist.get(i) );}System.out.println("max = " + max);}}



金山Java筆試題(最好要今年的)

IO流 多態 概念 其他的不能說了·~~基礎~~
 
excel 中有3000多個字母名稱,有的重複出現很多次次,怎篩選出現次數≥3次的名稱,並排列到另一列?

選中B列整列,在輸入欄輸入
=IF(COUNTIF($A$1:A1,A1)=3,A1,"")
然後按CTRL+斷行符號 結束公式輸入
則B列顯示出來的就是出現次數≥3次的結果,如果要將結果搞到連續儲存格顯示,則選中B列,複製——選擇性粘貼——數值
然後,再選中B列,排序——“選定地區排序”,降序排序,這樣就OK了
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.