发布时间:2024-08-09 11:01
今天是力扣——算法入门计划第十四天,
也是最后一天,感谢各位大佬的支持和鼓励
算法路上一起奋斗
目录
题目
思路
代码
题目
集合
代码
哈希表
代码
190. 颠倒二进制位
每次把 res
左移,把 n 的二进制末尾数字,拼接到结果 res
的末尾。然后把 n 右移
比如:
class Solution:
# @param n, an integer
# @return an integer
def reverseBits(self, n):
res = 0
for i in range(32):
res = (res << 1) | (n & 1)
n >>= 1
return res
res = (res << 1) | (n & 1)
n >>= 1n & 1
res << 1 res每次左移一位
n >>= 1 n每次右移动一位
136. 只出现一次的数字
使用集合存储数字。遍历数组中的每个数字,如果集合中没有该数字,则将该数字加入集合,
如果集合中已经有该数字,则将该数字从集合中删除,最后剩下的数字就是只出现一次的数字
一加一减的策略
class Solution:
def singleNumber(self, nums: List[int]) -> int:
one=[]
for i in nums:
if i not in one:
one.append(i)
else:
one.remove(i)
return one[0]
使用哈希表存储每个数字和该数字出现的次数。
遍历数组即可得到每个数字出现的次数,最后得到只出现一次的数字
class Solution:
def singleNumber(self, nums: List[int]) -> int:
harshtable=dict()
for i in nums:
if i in harshtable:
harshtable[i]+=1
else:
harshtable[i]=1
for i in harshtable.keys():
if harshtable[i]==1:
return i
【CSDN云VS腾讯云】要不然怎么说CSDN开发云是打工人和学生党的福音呢?
基于最新 Vite+Vue3+VantUI移动端应用项目搭建
Caputo 分数阶导数快速的 H2N2 插值逼近(附Matlab代码)
android组件!Android高级工程师系列学习路线介绍,重难点整理
MySQL中字段类型为longtext的值导出后显示二进制串方式
@GetMapping、@PostMapping 和 @RequestMapping详细区别附实战代码(全)
php vue rbac,Vue+ThinkPHP5.1 实现基于角色控制权限的前后端分离后台管理系统