有效的字母异位词
public boolean isAnagram(String s, String t) {
int []dict=new int[26];
for(int i=0;i<s.length();i++){
dict[s.charAt(i)-'a']++;
}
for(int i=0;i<t.length();i++){
dict[t.charAt(i)-'a']--;
}
for(int i=0;i<26;i++){
if(dict[i]!=0)return false;
}
return true;
}
两个数组的交集
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1=new HashSet<>();
Set<Integer> res=new HashSet<>();
for(int i=0;i<nums1.length;i++){
set1.add(nums1[i]);
}
for(int i=0;i<nums2.length;i++){
if(set1.contains(nums2[i])){
res.add(nums2[i]);
}
}
int[]result=new int[res.size()];
int j=0;
for(int i:res){
result[j++]=i;
}
return result;
}
快乐数
public int getSum(int n){
int sum=0;
while(n!=0){
sum+=(n%10)*(n%10);
n=n/10;
}
return sum;
}
public boolean isHappy(int n) {
Set<Integer> set=new HashSet<>();
while(n>0){
n=getSum(n);
if(!set.contains(n)){
set.add(n);
if(n==1)return true;
}else{
return false;
}
}
return true;
}
两数之和
public int[] twoSum(int[] nums, int target) {
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<nums.length;i++){
int k=target-nums[i];
if(map.containsKey(k)){
return new int[]{i,map.get(k)};
}else{
map.put(nums[i],i);
}
}
return new int[2];
}