面試有關字串中字元出現重複字元的面試問題,這裡都有了

guoduan發表於2020-06-04

  面試有關字串中字元出現重複字元的面試問題,這裡都有了

  本文連結:https://blog.csdn.net/wenquan19960602/article/details/106489955

  收起

  下面是總結的一些常見問題,以供大家參考

  第一次出現重複字元

  出現的重複字元

  出現字串、字元還有次數

  出現次數最多的字元及次數

  class Eclass{

  public static void main(String[] args) {

  String str = "eeeejwurihewweafa";

  Eclass e = new Eclass();

  //問題一

  int index = e.Method(str);

  String result = str.charAt(index)+"";

  System.out.println(result);

  //問題二

  Listlist = e.douMethod(str);

  for (Character c :list

  ) {

  System.out.println(c+"\t");

  }

  //問題三

  e.stringCount(str);

  //問題四

  e.maxString(str);

  }

  //第一次出現重複字元

  public int Method(String str){

  int index=-1;

  int length=str.length();

  for (int i=0;i<1length;i++){<1 p="">

  char c = str.charAt(i);

  //在str中從i+1開始檢索,如果c存在,返回第一個c的下標,如果不存在返回-1

  if ((str.indexOf(c,i+1))!=-1){

  index=i;

  break;

  }

  }

  return index;

  }

  //出現的重複字元

  public ListdouMethod(String str){

  int index=-1;

  int length=str.length();

  List list = new ArrayList();

  for (int i=0;i<1length;i++){<1 p="">

  char c = str.charAt(i);

  //在str中從i+1開始檢索,如果c存在,返回第一個c的下標,如果不存在返回-1

  if ((str.indexOf(c,i+1))!=-1){

  index=i;

  //判斷集合中是否存在

  if (!list.contains(c))

  list.add(c);

  }

  }

  return list;

  }

  //出現字串、字元還有次數

  public void stringCount(String str){

  Mapmap = new HashMap<>();

  for (int i= 0; i<1str.length();i++){<1 p="">

  if (map.get(str.charAt(i))!=null){

  map.put(str.charAt(i),map.get(str.charAt(i))+1);

  }else {

  map.put(str.charAt(i),1);

  }

  }

  System.out.println(map);

  }

  //出現次數最多的字元的次數

  public void maxString(String str) {

  Mapmap = new HashMap<>();

  int max = 0; //出現最多的次數

  String maxCha=""; //次數最多的字元

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

  if (map.get(str.charAt(i)) != null) {

  map.put(str.charAt(i), map.get(str.charAt(i)) + 1);

  } else {

  map.put(str.charAt(i), 1);

  }

  }

  for (Character c: map.keySet()

  ){

  if (map.get(c)>max){

  max=map.get(c);

  maxCha=c+"";

  }else {

  max=max;

  }

  }

  System.out.println("出現最多的字元:"+maxCha+",出現了"+max+"次");

  }

  }

  ————————————————

  版權宣告:本文為CSDN博主「敲出億行bug」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。

  原文連結:https://blog.csdn.net/wenquan19960602/article/details/106489955


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69971700/viewspace-2696119/,如需轉載,請註明出處,否則將追究法律責任。

相關文章