今日任务
- 242.有效的字母异位词
- 349. 两个数组的交集
- 202. 快乐数
- 1. 两数之和
给定两个字符串
s
和t
,编写一个函数来判断t
是否是s
的字母异位词
。示例 1:
输入: s = "anagram", t = "nagaram" 输出: true示例 2:
输入: s = "rat", t = "car" 输出: false
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length() != t.length() ){
return false;
}
HashMap<Character,Integer> map = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
if(!map.containsKey(s.charAt(i))){
map.put(s.charAt(i),1);
}else{
Integer count = map.get(s.charAt(i));
count++;
map.put(s.charAt(i),count);
}
}
for (int i=0;i<s.length();i++){
Integer count = map.get(t.charAt(i));
if(count == null){
return false;
}
count--;
map.put(t.charAt(i),count);
if(count<0)return false;
}
return true;
}
}
给定两个数组
nums1
和nums2
,返回 它们的交集
。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 解释:[4,9] 也是可通过的
这一题很简单,使用hashset和双指针可以简单求解
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Arrays.sort(nums1);
Arrays.sort(nums2);
int p = 0;
int q = 0;
HashSet<Integer> res = new HashSet<>();
while(p<nums1.length && q<nums2.length){
if(nums1[p] == nums2[q]){
res.add(nums1[p]);
p++;
q++;
}else if (nums1[p]< nums2[q]){
p++;
}else{
q++;
}
}
return res.stream().mapToInt(Integer::intValue).toArray();
}
}
编写一个算法来判断一个数
n
是不是快乐数。「快乐数」 定义为:
- 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
- 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
- 如果这个过程 结果为 1,那么这个数就是快乐数。
如果
n
是 快乐数 就返回true
;不是,则返回false
。示例 1:
输入:n = 19 输出:true 解释: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 = 1示例 2:
输入:n = 2 输出:false提示:
1 <= n <= 231 - 1
class Solution {
public boolean isHappy(int n) {
HashSet<Integer> tempNum = new HashSet<>();
while(n != 1){
n = sum(n);
if(!tempNum.contains(n)){
tempNum.add(n);
}else{
return false;
}
}
return true;
}
public int sum(int n){
int sum = 0;
int temp = 0;
while(n!=0){
temp = n % 10;
sum += temp*temp;
n = n/10;
}
return sum;
}
}
这一阵子忙着开题就没刷题,之后如果没有什么忙的事情一定坚持!
标签:false,示例,int,sum,随想录,第五天,nums1,nums2,刷题 From: https://blog.csdn.net/2401_84208906/article/details/144796456