【发布时间】:2024-01-29 06:05:01
【问题描述】:
我想写一个函数,它以字符串为参数并返回一个与该字符串对应的数字。
Integer hashfunction(String a)
{
//logic
}
其实我要解决的问题如下:
给定一个字符串数组,返回所有属于字谜的字符串组。通过表示原始列表中索引的整数列表来表示一个组。
Input : cat dog god tca
Output : [[1, 4], [2, 3]]
这是我的实现:-
public class Solution {
Integer hashfunction(String a)
{
int i=0;int ans=0;
for(i=0;i<a.length();i++)
{
ans+=(int)(a.charAt(i));//Adding all ASCII values
}
return new Integer(ans);
}
**Obviously this approach is incorrect**
public ArrayList<ArrayList<Integer>> anagrams(final List<String> a) {
int i=0;
HashMap<String,Integer> hashtable=new HashMap<String,Integer>();
ArrayList<Integer> mylist=new ArrayList<Integer>();
ArrayList<ArrayList<Integer>> answer=new ArrayList<ArrayList<Integer>>();
if(a.size()==1)
{
mylist.add(new Integer(1));
answer.add(mylist);
return answer;
}
int j=1;
for(i=0;i<a.size()-1;i++)
{
hashtable.put(a.get(i),hashfunction(a.get(i)));
for(j=i+1;j<a.size();j++)
{
if(hashtable.containsValue(hashfunction(a.get(j))))
{
mylist.add(new Integer(i+1));
mylist.add(new Integer(j+1));
answer.add(mylist);
mylist.clear();
}
}
}
return answer;
}
}
【问题讨论】:
-
这里提示
Output : [[1, 4], [2, 3]]不是整数