242.有效的字母异位词
class Solution {
public boolean isAnagram(String s, String t) {
int[] record = new int[26];
for(int i=0;i<s.length();i++)
{record[s.charAt(i)-'a']++;}
for(int i=0;i<t.length();i++)
{
record[t.charAt(i)-'a']--;
}
for(int i:record)
{
if(i!=0)
return false;
}
return true;
}
}
(注意true和false)
349. 两个数组的交集
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
if(nums1==null||nums2==null||nums1.length==0||nums2.length==0)
{
return new int[0];
}
Set<Integer> set1= new HashSet<>();
Set<Integer> res= new HashSet<>();
for(int i:nums1)
{
set1.add(i);
}
for(int i:nums2)
{
if(set1.contains(i))
{
res.add(i);
}
}
return res.stream().mapToInt(x->x).toArray();
}
}
202 快乐数
class Solution {
public boolean isHappy(int n) {
Set<Integer> res = new HashSet<>();
while(n!=1&&!res.contains(n))
{ res.add(n);
n=getNum(n);
}
return n==1;
}
public int getNum(int n){
int res=0;
while(n>0)
{
int temp= n%10;
res+= temp*temp;
n=n/10;
}
return res;
}
}
(记住getNum()的用法,res+=temp*temp)
1. 两数之和
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] res = new int[2];
if(nums==null||nums.length==0)
{
return res;
}
Map<Integer,Integer> num = new HashMap<>();
for(int i=0;i<nums.length;i++)
{
int temp=target-nums[i];
if(num.containsKey(temp))
{ res[1]=i;
res[0]=num.get(temp);
break;
}
num.put(nums[i],i);
}
return res;
}
}
Map函数:map.put(,) map.get() map.containsKey();
Map里放的是已经数组中已经遍历过的数