前不久在ITEYE上看到一题算法题,看了上面很多了给出了不少方案,但大多都是代码一大堆,比较难理解,这里我也写了一个,欢迎各位高手指点。
题目:给定一系列的单词,要求把字母个数和字母都相同的单词规类为一组。比如 top,fuck,you,oh,yes,pot,foot,toof,因为top和pot两个单词字母的数量相同,而且它们包括的字母都是一样的,只是字母顺序不一样,这样的单词我们都归为一组。foot与toof也认为是同一组。
思路:第一步,得到单词系列的数组,数组的元素是一个单词。
第二步,创建一个map,再遍历每个数组。
第三步,读取每个元素,将其转化为char[]数组,将其排序后,再转化为String 作为map的key值,把未排序的元素值作为value 存放到map中。存放时先检查该key对应的元素是否已经存在,如果存在,就将原来的值取出,再上当前值重新放回map中。
第四步,遍历map的所所有value,即可以得到分组后的结果。
String str="top,fuck,you,oh,yes,pot,foot,toof"; String[] strTem=str.split(","); Map map=new HashMap(); for(int i=0;i<strTem.length;i++) { String temVal=strTem[i]; char[] temChar=temVal.toCharArray(); Arrays.sort(temChar); String key=new String(temChar); if(map.get(key)==null) { map.put(key,temVal); }else{ map.put(key,map.get(key).toString()+" "+temVal); } } System.out.print(map.toString());
相关推荐
分类的算法习题,包括递归,贪心,分治,搜索,动态规划等
资源中包括决策树分类算法、朴素贝叶斯分类算法、人工神经网络分类算法的代码(.ipynb,.py)和案例股票价格波动分析的数据(.csv),建议使用jupyter notebook打开.ipynb文件,体验更佳 1、资源配合博文《【python...
C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....
人工智能 归类算法.rar 人工智能 归类算法.rar 人工智能 归类算法.rar
可以实现简单的随机森林分类算法,含完整数据集及m文件
分类器中最基本的算法,最近邻分类器,每一个样本和自己距离最近的样本比较,属于最近距离样本所属的类别。简单但是要比较所有所以有些慢
改进 EM 算法中提出贝叶斯随机分类方法,用于初始化算法中的待估计参数。采用径向基函数插值法求解 EM 算法极大化步 中的超越方程组,并通过实际算例对比分析了改进 EM 算法与传统算法的准确性。给出了用改进 EM ...
代码 adaboost经典的分类算法代码代码 adaboost经典的分类算法代码代码 adaboost经典的分类算法代码代码 adaboost经典的分类算法代码代码 adaboost经典的分类算法代码代码 adaboost经典的分类算法代码代码 adaboost...
针对核化图嵌入算法对于人脸识别等高维小样本问题存在着计算量大且所需存储空间多的缺点, 提出了一种核化图嵌入算法的快速求解模型。该模型的思想是首先对原始样本进行降维处理, 对此给出了定理1和2。两个定理证明了...
图片分类算法图片分类算法图片分类算法图片分类算法图片分类算法图片分类算法图片分类算法图片分类算法图片分类算法图片分类算法
在我们构建分类器的时候,一定会面临机器学习算法的选择,这是关于机器学习算法的简单介绍,给您提供清晰简单的思路,希望能给您带来帮助。
POJ各题算法分类和题目推荐 ACM必看 POJ各题算法分类和题目推荐 ACM必看 POJ各题算法分类和题目推荐 ACM必看
**1.4 三维装箱求解** **1.5 物流选址研究** 1.5.1 背包问题 1.5.2 物流选址 1.5.4 货位优化 ##### 1.6 电力系统优化研究 1.6.1 微电网优化 1.6.2 配电网系统优化 1.6.3 配电网重构 1.6.4 有序充电 1.6.5 ...
1026 Modular multiplication of polynomials 简单题,有比较简单的好算法 1307 Packets 简单题,不过也蛮经典的…… 1312 Prime Cuts 简单题 1334 Basically Speaking 简单题 1337 Pi 简单题 1342 Word ...
这个压缩包里共包括两个源代码,分别是训练算法,实际分类检测算法,主要是利用BP神经网络来分类。训练算法的原理可以直接参考,实际分类检测就是利用训练好的BP神经网络参数来进行分类。我的BP网络结构是3层,783...
对于KNN,SVM,adaboost以及决策树等分类算法对数据集运行结果进行总结,代码点我博文
KNN分类算法例子KNN分类算法例子
python实现机器学习之决策树分类算法,简单易学,而且可直接运行。
2015外研社小学英语单词归类复习大全单词归类.pdf