- 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
function test(arr) {
const list = arr.reduce((prev, next) => {
if (prev[next]) {
prev[next]++
} else {
prev[next] = 1
}
return prev
}, {})
for (let key in list) {
if (list[key] === 1) {
return key;
}
}
}
console.log(test([2, 2, 2, 1, 1, 6]))
- 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数
function test(arr, k = 0) {
if (k === 0) return arr;
const arr1 = arr.slice(-k);
const arr2 = arr.slice(0, arr.length - k);
return [...arr1, ...arr2]
}
- 给定一个整数,写一个函数来判断它是否是 3 的幂次方
function test(num) {
if (num <= 0) return false;
while(num > 1) {
if (num % 3 !== 0) return false;
num /= 3;
}
return num === 1
}