![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 58
paper@planes
世界很美好,珍惜每一天!
展开
-
java刷题专题——链表 (142.环形链表II)
问题:给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释...原创 2021-10-03 15:27:57 · 117 阅读 · 0 评论 -
java刷题专题——数组 (26. 删除有序数组中的重复项)
问题:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。示例 2:输入:nums = [0,0,1,1,1,2,2,3,3原创 2021-09-03 22:10:50 · 96 阅读 · 0 评论 -
java刷题专题——数组 (27.移除元素)
问题:给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数...原创 2021-09-01 13:59:36 · 379 阅读 · 0 评论 -
java刷题专题——数组 (704.二分查找)
题目:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1来源:力扣(Leet...原创 2021-09-01 11:20:20 · 133 阅读 · 0 评论 -
java刷题训练LeetCode ——(第二题,647. 回文子串)
问题:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:"abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:"aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindromic-s原创 2021-08-29 21:44:07 · 149 阅读 · 0 评论 -
java刷题训练LeetCode ——(第一题,349. 两个数组的交集)
再来看一道有关数组的哈希处理,这种类型看似不难,实际上动手起来还是有些困难的。特别是有关哈希数据结构set的用法,理解和掌握的还有待加强。问题:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。来源:力扣(Lee原创 2021-08-26 23:04:40 · 94 阅读 · 0 评论 -
java刷题训练LeetCode ——(第一题,242.有效的字母异位词)
这里有一道与两数之和类似的题,同样使用到了哈希表方法。问题:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若s 和 t中每个字符出现的次数都相同,则称s 和 t互为字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/p...原创 2021-08-25 23:05:33 · 87 阅读 · 0 评论 -
java刷题训练LeetCode ——(第一题,1.两数之和)
问题:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解答:这道题有两种解决方法,一...原创 2021-08-25 15:50:16 · 425 阅读 · 0 评论 -
java刷题训练LeetCode ——(开始)
前期学习了数据结构与算法,视频已经刷过一边了,对数据结构与算法的也有了更深一步的掌握。但无论做什么事情都不能仅限于理论,要理论结合实践,这样才能真正的熟练掌握与应用。就像我之前帮导师的公司画电路板一样,要自己动手去做,才能快速的掌握。只知道天天看视频看书,这样掌握起来是非常慢的,动手实践才能学会真知。 那么从今天开始,我就要开始结合题目来练习了,期望在以后的工作中能熟练应用数据结构与算法的知识。 对于如何学习java的相关知识自己也是在网上看了很多遍了,有...原创 2021-08-23 17:11:41 · 164 阅读 · 0 评论