字符串的完美度总结
来源:互联网 发布:ipad上快手显示无网络 编辑:程序博客网 时间:2024/05/21 06:43
今天把字符串的完美度搞定了,啊,期间遇到很多问题,现分享一下:
我做字符串完美度的的思路分为好几个方案,不过目前只有一个实现了,现在把这个思路贴出来
总的思路:
先将字符串进行拆分为一个字符数组,然后对每个字符出现的次数进行统计,然后按照次数的多少从26开始逐步的进行
赋值,接下来就可以进行计算完美值了。
把代码贴出来:
public static int perfect(String s){char[]array=s.toCharArray();//用于获取每个字符 int maxValue=26;//字符中值最大时的情况int perfectSum=0;//保存完美值System.out.println("元素的个数为:"+array.length);//简历三个list集合一个保存第一次遇到的字符,一个保存期对应的值,一个用于保存期出现的次数,这三个list集合值是想对应的List<Character> listChar=new ArrayList<Character>();List<Integer> listValue=new ArrayList<Integer>();List<Integer> listCount=new ArrayList<Integer>();boolean flage=false;//先将每个字符的出现次数保存,然后根据次数进行分配值,然后再循环所有字符进行计算完美值for(int i=0;i<array.length;i++){for(int f=0;f<listChar.size();f++){Character yizhi=listChar.get(f);if(yizhi.charValue()==Character.toLowerCase(array[i])){//System.out.println("值有相同的为:"+array[i]);flage=true;listCount.set(f,new Integer(listCount.get(f).intValue()+1));break;}elseflage=false;}if(!flage){ int value=1;char change=Character.toLowerCase(array[i]);listChar.add(new Character(change));listCount.add(new Integer(value));}}//对相应的listValue赋初值for(int q=0;q<listChar.size();q++)listValue.add(new Integer(0));int max=0;//保存出现次数最多的值int maxId=0;//保存出现次数最多值得Id //进行对listValue进行赋值(是相应的字符(listChar)对应的值,根据listCount中的值由大到小进行分配)for(int r=0;r<listCount.size();r++){for(int t=0;t<listCount.size();t++){if(((max<=listCount.get(t).intValue())&&((listValue.get(t))==0))||((max<=listCount.get(t).intValue())&&r==0)){maxId=t;max=listCount.get(maxId).intValue();}}listValue.set(maxId,maxValue--);max=0;maxId=0;}//进行计算perfect值for(int p=0;p<listChar.size();p++){perfectSum=perfectSum+(listCount.get(p).intValue())*(listValue.get(p).intValue());}return perfectSum;}
思想总结:
1.对于每个问题的解决必须有一个清晰的解决方案,然后按方案进行编程
2.对于调试程序,一定要先进行静态调试,自己先分析,这样会使自己发现方案中不足
java知识总结:
1.要学会看jdk的文档,当然得有一定的英文基础(我的就不是很好)
2.list集合其类型中必须是引用,不能是基本类型
- 字符串的完美度总结
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度算法
- 挑战编程:字符串的完美度
- 在线编程:字符串的完美度
- 编程挑战:字符串的完美度
- 庞果网之字符串的完美度
- Tableau 不同数据源的join
- Spring 定时器
- flex基础篇三 操作xml的e4x常用方式。
- 求子数组的最大和
- HP Unix性能监控
- 字符串的完美度总结
- 关于正则表达式的“\b”
- jbpm4.4所有指定流程实例id 下所有已经执行的task
- 时间复杂度O(n),空间复杂度O(1)的排序
- useful links for x265 and simd
- 数据库中的触发器
- BCM4329 @ android2.2 modify
- [LeetCode] Pascal's Triangle
- 利用Domino Mail Journaling 永久存储或处理邮件副本