242.有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词
var isAnagram = function(s, t) {
if(s.length !== t.length ) return false
let map = {}
for(let v of s){
if(!(v in map)){
map[v] = 1
}else{
map[v]++
}
}
for(let v of t){
map[v]--
}
for(let v in map){
if(map[v] > 0 || map[v] == undefined){
return false
}
}
return true
};
349. 两个数组的交集
var intersection = function(nums1, nums2) {
let map = new Map()
for(let v of nums1){
map.set(v)
}
let res = new Set()
for(let v of nums2){
if(map.has(v)){
res.add(v)
}
}
return [...res]
};
202. 快乐数
「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是 快乐数 就返回 true ;不是,则返回 false
主要的点: 在JS里使用getSum方法时,由于不能定义int类型,需要在除后进行取整
var isHappy = function(n) {
let map = new Map()
while(true){
if(map.has(n)){
return false
}
if(n===1) return true
map.set(n)
n = getSum(n)
}
};
function getSum(n){
let nextN = 0
while(n>=1){
nextN += (n%10) * (n%10)
n = Math.floor(n/10)
}
return nextN
}
1. 两数之和
var twoSum = function(nums, target) {
let map = new Map()
for(let i in nums){
if(map.has(target-nums[i]))
{
return [i,map.get(target-nums[i])]
}
map.set(nums[i],i)
}
return false
};