import java.util.Scanner;
public class AlgorithmCharVoteCountArray
{
public static void main(String[] args)
{
System.out.println("Please type a line of letters like abaaaabc: ");
//cmd输入
Scanner sc=new Scanner(System.in);
String s=sc.next();
System.out.println(findChar(s));
}
public static Character findChar(String s)
{
int n =s.length(), half=n/2;
int []counts=new int[127];//index,initial value done
for (int i=0;i<n;++i)
{
if (++counts[s.charAt(i)]>half)//++likeput
{
System.out.println(counts[s.charAt(i)]);
return s.charAt(i);
}
//all 0 initiated array vote count (像写正字);
//chars are unicode 0~65535, while 0~127 are commonly used;
//counts[97]=counts['a']=counts[0x61]=counts[0141]==counts[0b1100001];
}
return null;//no matter return what, but have to write a return in the return type method;
//the method ends when it meet first return.
}
}
String处理2
最新推荐文章于 2021-02-13 09:17:18 发布