LintCode 循环单词
来源:互联网 发布:淘宝详情页950 编辑:程序博客网 时间:2024/06/05 09:00
The words are same rotate words if rotate the word to the right by loop, and get another. Count how many different rotate word sets in dictionary.
E.g. picture and turepic are same rotate words.
注意事项
所有单词均为小写。
样例
Given dict = [“picture”, “turepic”, “icturep”, “word”, “ordw”, “lint”]
return 3.
“picture”, “turepic”, “icturep” are same ratote words.
“word”, “ordw” are same too.
“lint” is the third word that different from the previous two words.
如何判断两个字符串是s1,s2是相同的:把两个s1相连成新串,判断s2是不是新串的子串。
用了集合来做,试了一下对equals()和hashcode()的重写。
public class Solution { /* * @param words: A list of words * @return: Return how many different rotate words */ private String value; public Solution(){} public Solution(String s) { this.value=s; } public String toString() { return this.value; } public boolean equals(Object o) { if(o==this){ return true; } if(!(o instanceof Solution)) { return false; } Solution word=(Solution) o; return judge(this.value,word.value); } public int hashCode() { Solution word= (Solution) this; List<Character> l=new ArrayList<Character>(); for(char x:value.toCharArray()){ l.add(x); } Collections.sort(l); StringBuilder b=new StringBuilder(); for(char x:l){ b.append(x); } return b.toString().hashCode(); } public boolean judge(String s1,String s2){ return (s1+s1).contains(s2); } public int countRotateWords(List<String> words) { // Write your code here Set<Solution> s=new HashSet<Solution>(); for(String x:words){ if(!s.contains(x)){ s.add(new Solution(x)); } } return s.size(); }}
阅读全文
0 0
- LintCode 671 循环单词
- LintCode 循环单词
- 循环单词-LintCode
- LintCode-关于一次遍历解决循环单词问题的思考
- LintCode 最长单词
- lintcode-单词搜索-123
- lintcode-单词接龙-120
- 最长单词(LintCode)
- LintCode- 单词切分
- lintcode ----最长单词
- lintcode ----单词搜索
- LintCode 单词切分
- LintCode 单词搜索 II
- LintCode : 单词搜索 II
- lintcode,单词切分
- lintcode,单词搜索
- lintcode,单词接龙
- LintCode 133 最长单词
- nginx转发方式的配置
- 多元函数的泰勒展开式
- C语言-线性表
- Matlab2017安装
- 684. Redundant Connection
- LintCode 循环单词
- Qt入门-应用程序类QApplication
- HDU 2222【AC自动机模板】
- ServletContext 获取上下文对象
- OpenCV—椭圆拟合fitEllipse
- 大数据学习路线
- spring could 之服务的注册与发现(Eureka)
- 发布npm时遇到的两个小问题,解决方法
- 彻底明白 position及z-index的用法 static ,absolute ,relative