力扣——算法入门计划第十四天

简介: 力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。 此外,力扣(LeetCode)致力于解决程序员技术评估、培训、职业匹配的痛点,逐步引领互联网技术求职和招聘迈向专业化。

 今天是力扣——算法入门计划第十四天,

也是最后一天,感谢各位大佬的支持和鼓励

算法路上一起奋斗

image.png

目录

🍕题目

🍔思路

🍟代码

🍕题目

🍔集合

🍟代码

🍔哈希表

🍟代码


🍕题目

190. 颠倒二进制位

image.png

🍔思路

每次把 res 左移,把 n 的二进制末尾数字,拼接到结果 res 的末尾。然后把 n 右移

比如:

image.png

🍟代码

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

image.gif

res = (res << 1) | (n & 1)

           n >>= 1

n & 1 image.gifimage.png

 

res << 1  res每次左移一位

n >>= 1 n每次右移动一位

image.png

🍕题目

136. 只出现一次的数字

image.png

🍔集合

使用集合存储数字。遍历数组中的每个数字,如果集合中没有该数字,则将该数字加入集合,

如果集合中已经有该数字,则将该数字从集合中删除,最后剩下的数字就是只出现一次的数字

一加一减的策略

🍟代码

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]

image.gif

🍔哈希表

使用哈希表存储每个数字和该数字出现的次数。

遍历数组即可得到每个数字出现的次数,最后得到只出现一次的数字

🍟代码

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

image.gif

相关文章
|
1月前
|
算法
Leetcode 初级算法 --- 数组篇
Leetcode 初级算法 --- 数组篇
38 0
|
16天前
|
存储 算法 Java
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
|
1月前
|
算法
每日一道算法题(Leetcode 20)
每日一道算法题(Leetcode 20)
27 2
|
1月前
|
算法
【链表】算法题(二) ----- 力扣/牛客
【链表】算法题(二) ----- 力扣/牛客
|
1月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
1月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
1月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
1月前
|
算法
【链表】算法题(一) ----- 力扣 / 牛客
【链表】算法题(一) ----- 力扣 / 牛客
|
1月前
|
算法
【顺序表】算法题 --- 力扣
【顺序表】算法题 --- 力扣
|
1月前
|
机器学习/深度学习 算法
机器学习入门:梯度下降算法(上)
机器学习入门:梯度下降算法(上)
下一篇
无影云桌面