资讯专栏INFORMATION COLUMN

Datawhale刷题LeetCode

YanceyOfficial / 1102人阅读

摘要:数据结构与算法简介及攻略两数之和数组串联学到无返回值,是在原始数组进行的修改宝石与石头官方题解我觉得我的方法应该进行简化数组基础加一寻找数组的中心下标左求和中间值数组所有旋转数组旋转图像螺旋矩阵对角线遍历

Task1:数据结构与算法简介、LeetCode ⼊⻔及攻略

0001.两数之和

class Solution:    def twoSum(self, nums: List[int], target: int) -> List[int]:        records = {}        for idx,val in enumerate(nums):            if target-val not in records:                records[val] = idx            else:                return [records[target-val],idx]

1929.数组串联

+ 学到 extend()无返回值,是在原始数组进行的修改

class Solution:    def getConcatenation(self, nums: List[int]) -> List[int]:        nums.extend(nums)        return nums

0771.宝石与石头

class Solution:    def numJewelsInStones(self, jewels: str, stones: str) -> int:        nums = 0        for i in set(jewels):            count = stones.count(i)            nums+=count        return nums

官方题解

+ 我觉得我的方法应该进行简化!

class Solution:    def numJewelsInStones(self, jewels: str, stones: str) -> int:        jewelsSet = set(jewels)        return sum(s in jewelsSet for s in stones)

Task 02:数组基础

0066.加一

class Solution:    def plusOne(self, digits: List[int]) -> List[int]:        return list(map(int,str(int("".join(map(str,digits)))+1)))

0724.寻找数组的中心下标

2 x [ 左求和 ]  + 中间值 = 数组所有

class Solution:    def pivotIndex(self, nums: List[int]) -> int:        numSum = sum(nums)        leftSum = 0        for i in range(len(nums)):            if numSum-leftSum-nums[i] == leftSum:                return i            leftSum+=nums[i]                     return -1            

0189.旋转数组

class Solution:    def rotate(self, nums: List[int], k: int) -> None:        """        Do not return anything, modify nums in-place instead.        """        length = len(nums)        if k > length:            k = k % length        nums_1,nums_2 = nums[length-k:length],nums[:length-k]        nums[:k],nums[k:] = nums_1,nums_2

0048.旋转图像

0054.螺旋矩阵

0498.对角线遍历

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123491.html

相关文章

  • 第7期 Datawhale 组队学习计划

    马上就要开始啦这次共组织15个组队学习 涵盖了AI领域从理论知识到动手实践的内容 按照下面给出的最完备学习路线分类 难度系数分为低、中、高三档 可以按照需要参加 - 学习路线 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...

    dinfer 评论0 收藏0
  • Leetcode刷题神器,妈妈再也不担心我刷题后Solution同步到Github的问题了

    摘要:概述的题目还没刷多少,写了个的下载器,自己刷的题方便下载下来同步到上详情见我的主要的代码在如何使用安装依赖修改运行无图无真相各位看官,如果觉得还阔以的话,还请点个呗 概述 Leetcode的题目还没刷多少,写了个Solution的下载器,自己刷的题方便下载下来同步到Github上 详情见我的Repo: https://github.com/bonfy/leetcode 主要的代码在 l...

    Donald 评论0 收藏0
  • leetcode 100 斩!回顾

    摘要:斩从第题开始,到现在也差不多快一年了,回顾纪念一下。当时对回溯动态规划也都只是上课的时候学过,也并不熟练。最经典的例子就是斐波那契数列了,求第项数列的值。 leetcode 100 斩!从第 1 题开始,到现在也差不多快一年了,回顾纪念一下。 showImg(https://segmentfault.com/img/bVbu461?w=661&h=191); 为什么开始刷题? 从大一就...

    wyk1184 评论0 收藏0
  • LeetCode】贪心算法--买卖股票的最佳时机 II(122)

    摘要:贪心算法每一步必须满足一下条件可行的即它必须满足问题的约束。四题目分析贪心算法,总是做出在当前看来是最好的选择,不从整体最优上加以考虑,也就是说,只关心当前最优解,按照贪心策略,不关心以后,我们只关心当前利益。 一、写在前面 为什么要在LeetCode刷题?大家都知道不管是校招还是社招算法题是必考题,而这一部分恰巧是大多数人的短板,所以刷题首先是为了提高自身的编程能力,能够在算法面试中...

    xbynet 评论0 收藏0

发表评论

0条评论

YanceyOfficial

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<