这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战
之前在力扣上利用javascript做了三个算法题(前K个高频单词、计算两个数据间的汉明距离、黑板异或游戏),都比较简单,我主要是为了熟悉js中与数组、字符串的一些函数方法,这篇文章记录一下这三个题的内容和代码。
一、前K个高频单词
题目
题目网址:leetcode-cn.com/problems/to…
示例
注意事项
进阶: 尝试以 O(n log k) 时间复杂度和 O(n) 空间复杂度解决。
题解代码
二、计算两个数据间的汉明距离
题目
题目网址:leetcode-cn.com/problems/ha…
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目
示例
提示
提示: 0 <= x, y <= 231 - 1
题解方法一:按位异或
原理
^按位异或:两个位不同,结果是1,否则结果为0.
代码
题解方法二:按位与
原理
&按位与:两个位都是1,结果就是1,否则为0
代码
三、黑板异或游戏
题目
题目网址:leetcode-cn.com/problems/ch…
示例
提示
1 <= nums.length <= 10000 <= nums[i] < 216
题解代码
Alice胜利要满足以下两个条件中的一个: 1. nums数组全部元素按位异或,结果为0 2. nums数组长度为偶数