这题实在是没懂它的意思。。。囧啊
额 结果只要看字符以及对应的个数相同就行了。。。直接排序嘛 还简单一些
import java.util.HashSet; public class Solution { public ArrayList<String> anagrams(String[] strs) { ArrayList<String> results = new ArrayList<String>(); HashSet<String> anas = new HashSet<String>(); HashMap<String, Integer> first = new HashMap<String, Integer>(); HashSet<String> added = new HashSet<String>(); for (int i = 0; i != strs.length; ++i){ String temp = getSmallestAna(strs[i]); if (anas.contains(temp)){ if (!added.contains(strs[first.get(temp)])){ results.add(strs[first.get(temp)]); added.add(strs[first.get(temp)]); } results.add(strs[i]); } else { anas.add(temp); first.put(temp, i); } } return results; } public String getSmallestAna(String origin){ char[] chars = origin.toCharArray(); char head = 'z'; int length = origin.length(); HashSet<Integer> indexs = new HashSet<Integer>(); for (int i = 0; i != length; ++i) if (chars[i] < head){ head = chars[i]; indexs.clear(); indexs.add(i); } else if (chars[i] == head) indexs.add(i); String small = origin; for (int index: indexs){ String temp = origin.substring(index, length) + origin.substring(0, index); if (temp.compareTo(small) < 0) small = temp; } return small; } }
额 结果只要看字符以及对应的个数相同就行了。。。直接排序嘛 还简单一些
import java.util.HashSet; public class Solution { public ArrayList<String> anagrams(String[] strs) { ArrayList<String> results = new ArrayList<String>(); HashSet<String> anas = new HashSet<String>(); HashMap<String, Integer> first = new HashMap<String, Integer>(); HashSet<String> added = new HashSet<String>(); for (int i = 0; i != strs.length; ++i){ String temp = getSmallestAna(strs[i]); if (anas.contains(temp)){ if (!added.contains(strs[first.get(temp)])){ results.add(strs[first.get(temp)]); added.add(strs[first.get(temp)]); } results.add(strs[i]); } else { anas.add(temp); first.put(temp, i); } } return results; } public String getSmallestAna(String origin){ char[] chars = origin.toCharArray(); Arrays.sort(chars); return new String(chars); } }
发表评论
-
Insert Interval
2012-11-11 01:33 543各种条件真复杂,不仅是边界条件,而且还要分很多种情况讨论 而且 ... -
Implement strStr()
2012-11-07 15:44 582唉 终于到了要记算法的时候了 KMP。。。还没写完 回去再写。 ... -
Flatten Binary Tree to Linked List && Generate Parentheses && Gray Code
2012-11-07 00:08 1093Flatten太简单了 递归 一遍过 oh yeah = = ... -
First Missing Positive
2012-11-06 22:50 589唉 想了很久都没想出来 后来还是看了网上的答案 >_&l ... -
Edit Distance
2012-11-06 00:27 670动规 就是递推。。。比较难想 然后数组长度设置比字符串长度多一 ... -
Divide Two Integers
2012-11-05 00:12 714自己实现除法 太太太恶心了。。。。 就是用位移代替了乘法,然后 ... -
Distinct Subsequences
2012-11-04 21:44 657动规,从前到后用T的每一个字符i,扫描S的每一个字符j。维护一 ... -
Count and Say
2012-11-04 18:46 693public class Solution { ... -
Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Sear
2012-11-04 17:36 826/** * Definition for binary ... -
Container With Most Water
2012-11-04 00:25 697本来以为是个简单的题目,直接二重循环,结果小测试过了,大测试超 ... -
Construct Binary Tree from Inorder and Postorder Traversal
2012-11-03 23:40 748不知道为什么错了。。。eclipse上明明是正确的啊 leet ... -
Combinations
2012-11-03 22:19 605全排列 按理说很简单,可是用递归写,边界条件就还是难想清楚,s ... -
Combination Sum I && II
2012-11-03 21:41 751还是递归 但是边界条件以及边界上的处理不容易搞清楚(一开始我就 ... -
climbing stairs
2012-11-03 17:18 610一开始觉得是简单的组合数学题,但是写完之后发现,首先组合数不是 ... -
Binary Tree Inorder Traversal
2012-11-02 23:51 615I简单 直接递归就好 addAll函数很好用 /** ... -
Best Time to Buy and Sell Stock I & II
2012-11-02 22:05 1045啊 第一次直接过small和big测试 好爽!虽然主要是以前知 ... -
Balanced Binary Tree
2012-11-01 23:38 609/** * Definition for binary ... -
Add Two Numbers
2012-10-30 23:03 614这题不难 直接上递归就行 /** * Definiti ... -
Add Binary
2012-10-29 00:07 600public String addBinary(Strin ... -
4Sum
2012-10-27 22:49 734本来以为只要在3Sum外面再包一层循环就好了,可是。。。在Ju ...
相关推荐
Anagrams by Robert Rayment.Finding anagrams quickly for up to 9 letters in VB is impossible challenge!).
简单java swing小游戏anagrams,这是一个把单词中字母顺序打乱后猜正确顺序的小游戏,非常简单,适合java初学者,我自己把从netbeans官网版的做了一些小改动,改成了更加随机的生成方式,提高了一点点游戏难度。
Programming with anagrams
Anagrams (Updated):Quickly finds anagrams for 2 to 9 letters. Using method suggested by Shannon Harmon. Use is made of the UKACD word list - see UKACD.txt.
资源来自pypi官网。 资源全名:anagrams-0.0.4.tar.gz
资源来自pypi官网。 资源全名:anagrams-0.0.2.tar.gz
Anagram programs for your
git clone https://github.com/andyL89/anagrams_and_antigrams.git ⓘ注意:如果您有任何问题,请确保您的HTTPS代码正确! 上面的示例可能不是最新的HTTPS代码! 然后,在该过程完成后,使用命令。 code .补充说明...
$ npm install wikipedia-anagrams 要在浏览器中使用,请使用 。 用法 var getAnagrams = require ( 'wikipedia-anagrams' ) ; getAnagrams( 资源, [opts,] clbk ) 在页面中查找。 该函数需要两个参数: 资源:...
字谜Android App-Anagram游戏
维基百科字谜应用 提供用于在页面中查找的服务器端 Web API。覆盖范围执照 安装$ git ... 例如, [2015-04-18T00:08:30.331Z] INFO: wikipedia-anagrams-app/13972 on local: Environment configuration: dev.[2015-
LeetCode438_Find_All_Anagrams_in_String 438题目:给定一个字符串s和一个非空字符串p,字符串全部由小写字母子组成。 在S中找出所有p对应的anagrams(颠倒)字符串的子串,返回这些子串的起始索引 如s="cbaebabacd...
字谜 找到字谜和相似的发音词 运行示例 node example . js 单元测试 通过命令npm test 应用程序接口 findAnagrams(words) 对于输入的words数组,作为字谜的单词被组合在一起。 该函数返回一个数组数组,每个内部...
#Anagrams Finder 该程序的目标是在字典中查找所有字谜。 给定一个包含小写单词的文本文件,此程序将计算字典中出现的所有字谜“类”。 例如,单词“ tops”,“ opts”和“ pots”都在同一字谜类中。 成功运行的...
Stores the anagrams in ad in a shelf. filename: string file name of shelf ad: dictionary that maps strings to list of anagrams Anagrams是一种文字游戏,通过重新排列某个词或短语的字母来形成一个新的词...
Grabble是一款使用Anagrams播放的Java小程序。 在这个快节奏的游戏中,每个人都同时玩游戏,使用流行的桌游中的图块制作单词。 它在热座中支持计算机和无限制的人类玩家。 可以自定义图集,单词列表等。
一个生成Anagrams的简单程序 相关博客文章: : 样品用法: 下载存储库,将其解压缩到同一文件夹中,然后运行 node anagram.js 如果您有新的词典数据集,请以完全相同的顺序运行以下文件。 切记用文件wordlist....
Team14-Anagrams- 问题陈述:对于sowpods词典中的每个单词,请生成词典中存在的该单词的字谜列表。 运行代码的说明:输入说明:将输入文件以名称“ sowpodsInput.txt”存储在桌面上运行代码在桌面上的名为“ ...
字谜应用 此应用程序是在名为Android的Applied CS的研讨会中开发的基本文字游戏。 字谜是通过重新排列另一个单词的字母而形成的单词。 例如,电影是冰人的七巧板。