Leecode
文章平均质量分 59
Leecode算法题目
武师叔
做一个有趣而不甘平庸的人!阿里云专家博主,华为云享专家,以后从事方向云计算领域,HCIE-Cloudcomputing
展开
-
每日一题 | 454.四数相加 II
我们经常用的数组就是一张哈希表,哈希表的关键码就是数组索引下标,通过下标直接访问数组中的元素。这道题目采用哈希表来解题,这里让我们浅浅的复习一下哈希表的基础知识。哈希表(Hash Table,也有一些书籍称为“散列表”)哈希表是根据关键的值直接访问的数据结构。......原创 2022-08-26 17:47:36 · 140 阅读 · 0 评论 -
每日一题| 1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。...原创 2022-08-29 11:03:46 · 519 阅读 · 0 评论 -
每日一题 | LeetCode 454 四数相加Ⅱ
给你四个整数数组nums1、nums2、nums3 和nums4,数组长度都是n,请你计算有多少个元组 (i, j, k, l) 能满足:原创 2022-06-03 23:08:21 · 291 阅读 · 0 评论 -
每日一题 | LeetCode 1 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。PS:你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:示例 2:示例 3:题目解析难度:简单这道题如果不考虑时间复杂度的话,最简单粗暴的方式就是暴力破解,列举 中的,再找数组中是否存在。这种双重循环的时间复杂度是,这也太慢了,可以想一个时间复杂度小于的算法嘛?答案肯定是可以的,用哈希可以原创 2022-06-02 21:47:41 · 126 阅读 · 0 评论 -
LeetCode 349:两个数组的交集
LeetCode 349:两个数组的交集题意给定两个数组,计算它们的交集。示例输入:nums1 = [4, 9, 5],nums2 = [9, 4, 9, 8, 4]输出:[9, 4]提示输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。题目解析求两个数组的交集,直白点儿就是【nums2 的元素是否在 nums1 中】。第一种解法这道题字符串 num1 和 num2 仅包含1000以内,数字就固定的 1000个。(不要我问我为什么1000以内,因为你has设到100以原创 2022-05-27 18:32:31 · 123 阅读 · 0 评论 -
LeetCode 242:有效的字母异位词
LeetCode 242:有效的字母异位词跳转题目点我-----LeetCode 242题意给定字符串 s 和 t,判断两个字符串是否为字母异位词。ps: s 和 t 中每个字符出现的次数都相同,则 s 和 t 互为字母异位词。示例输入:s = "anagram", t = "nagaram"输出:true题目解析水题,难度简单,题目倒是挺唬人。碰到这种类似什么字符出现次数啥的,如果没有思路了,都可以往哈希的思路上便一下。关于哈希表,如果家人们不懂的话,可以看我下面这篇文章,包原创 2022-05-01 18:03:52 · 174 阅读 · 0 评论 -
五一了,发一篇关于哈希表的爽文
哈希表文章内有一些词语(网络热梗等)和插图,他是方便大家理解,并对算法产生(浓厚的)兴趣!不要根据一些注释,过分曲意理解作者哦!!!!文章内容来源本作者对该领域内容的归纳总结,文末附有主要文献来源文章画图软件(www.processon.com)一、认识哈希表1.1 哈希表出现缘由要查一个数在数组中的位置,那可是太费劲了,只能从头开始一个个的比较,直到找到相等的才算完事。这个方法,说实话也太笨了,简直不是我这种懒人应该做的事。就不能有种方法直接看到这个数,就直接在数组原创 2022-05-01 13:36:14 · 268 阅读 · 5 评论 -
每日一题——LeetCode 24:交换链表
LeetCode 24:交换链表快来点我去练习-------GO题意两两交换链表相邻节点的值,返回交换后的链表。示例输入:head = [1, 2, 3, 4]输出: [2, 1, 4, 3]题目解析水题,难度中等。这道题要求不能只是单纯的改变节点内部得值,需要进行实际的节点交换。和反转链表一样,这类链表题思维上没有难度,就是每次从链表上截取两个节点进行交换。主要是考察代码实现能力。这道题我用带虚拟头节点的单链表实现。虚拟头节点(其实我以前都叫头节点,后来有臭宝和我说容易看混,我就原创 2022-04-22 19:19:34 · 184 阅读 · 0 评论 -
leecode上的代码到pycharm运行解决方法
目录leecode上的代码到pycharm运行解决历程1、事情的起因:2、于是我开始思考这个问题:3、->的意义:4、代码修改部分(leecode59矩阵II)5、通用修改模板6、得到结果7、片尾感谢leecode上的代码到pycharm运行解决历程1、事情的起因:leecode上的代码到pycharm运行出错了,我一运行的确输出是是list未定义2、于是我开始思考这个问题:为什么在leecode(OJ在线判题系统)上面是对的,在pych原创 2022-04-18 18:12:35 · 1798 阅读 · 6 评论 -
每日一题——206.反转链表
206. 反转链表难度:简单给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]代码实现(方法一递归):def reverseList(self, head: ListNode) -> ListNode: if head is N原创 2022-04-16 13:52:05 · 345 阅读 · 0 评论 -
每日一题——PAT乙级1004 成绩排名 python
PAT (Basic Level) Practice (中文)1004 成绩排名 (20 分)读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为原创 2022-04-15 16:25:27 · 275 阅读 · 0 评论 -
每日一题——203移除链表元素
203. 移除链表元素https://leetcode-cn.com/problems/remove-linked-list-elements/一、203.移除链表元素难度:简单给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val =原创 2022-04-11 14:52:14 · 1012 阅读 · 0 评论 -
每日一题——leecode59( 螺旋矩阵 II)
59. 螺旋矩阵 II难度:中等 (看清楚不是简单,别再说老子水文啊~)给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]思路:一道模拟题,难度中等,面试出现频率极高。模拟题就是本身不涉及算法,就是单纯根据题目所描述的模拟整个过程从而得到最后的结果。这类原创 2022-04-04 16:25:03 · 755 阅读 · 0 评论 -
每日一题——leecode209( 长度最小的子数组)
209. 长度最小的子数组难度:中等给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其和≥ target的长度最小的连续子数组[numsl, numsl+1, ..., numsr-1, numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。示例 2:输入:target = ...原创 2022-04-03 11:20:20 · 607 阅读 · 0 评论 -
每日一题——LeetCode977(有序数组的平方)二种方法
977. 有序数组的平方难度:简单给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]方法一:直接排序思路与算法最简单的原创 2022-04-01 22:45:37 · 241 阅读 · 0 评论 -
每日一题——LeetCode(移除元素)两种方法
27. 移除元素难度:简单给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。方法一:暴力解法(搞笑的,天真了)动画演示:单指针解决力扣leecode27题——删除元素-CSDN直播我尽然第一个想到的是python中列表的remove()函数,我还以为我秀了leecode一脸(心...原创 2022-03-26 15:10:13 · 1035 阅读 · 0 评论 -
每日一题——LeeCode(二分查找)
难度:简单给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。太简单了,就没有思路了,代码如下:class Solution: def search(self, nums: List[int], target: int) -> int: left=0 right=len(nums)-1 wh原创 2022-03-26 10:58:28 · 145 阅读 · 0 评论 -
股神三部曲——买卖股票的最佳时机
121. 买卖股票的最佳时机难度:简单给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。思路:因为股票就买卖一次,所以贪心算法的逻辑就是取区间左侧最小值,取区间右侧最大值,得到的差值就是最大利润。class Solution: ...原创 2022-03-24 20:07:46 · 154 阅读 · 0 评论 -
每日一题——leecode(买卖股票最佳时机)贪心python
range(1,5)表示1,2,3,4即[1,5)难度:中等给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候最多只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。返回 你能获得的 最大 利润。这里采用贪心算法:这里等同于每天买卖股票,实现最大利润。只需要我们每天收集整理正利润即可,收集正利润的区间就是股票买卖点区间,而我们只需要关注最终利润,不需要记录区间。那么只收集正利润是贪心...原创 2022-03-24 12:18:37 · 948 阅读 · 0 评论 -
每日一题——LeetCode(删除有序数组中的重复项)
26. 删除有序数组中的重复项26. 删除有序数组中的重复项给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有k个元素,那么nums的前k个元素应该保存最终结果。### 解题思路首先要知道len()是数组的个数,而nums[1]表示从第一位起(第一位初始为0)思...原创 2022-03-23 23:06:03 · 390 阅读 · 0 评论