有效的字母异位词 leetcode242
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length() != t.length()){
return false;
}
int[] table = new int[26];
for(int i = 0; i < s.length(); i++){
table[s.charAt(i) - 'a']++;
}
for(int i = 0; i < t.length(); i++){
table[t.charAt(i) - 'a']--;
if(table[t.charAt(i) - 'a'] < 0){
return false;
}
}
return true;
}
}
两个数组的交集 leetcode 349
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = 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])){
set2.add(nums2[i]);
}
}
int[] arr = new int[set2.size()];
int j = 0;
for(int i : set2){
arr[j++] = i;
}
return arr;
}
}
快乐数 leetcode202
class Solution {
public boolean isHappy(int n) {
Set<Integer> record = new HashSet<>();
while(n != 1 && !record.contains(n)){
record.add(n);
n = getNextNumber(n);
}
return n == 1;
}
public int getNextNumber(int n){
int res = 0;
while(n > 0){
int temp = n % 10;
res += temp * temp;
n = n / 10;
}
return res;
}
}
两数之和 leetcode 1
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(target - nums[i])) {
return new int[] { i, map.get(target - nums[i]) };
}
map.put(nums[i], i);
}
return null;
}
}