力扣刷题之路
文章平均质量分 62
大量收集力扣上的优秀题解,每天一道算法题的思路解析,用最清晰明朗的方法来解答各类算法题,争取早日拿到心仪offer
铭丫铭丫铭(-ι_- )
这个作者很懒,什么都没留下…
展开
-
【leetcode】【5】最长回文子串
最长回文子串题目给你一个字符串s,找到s中最长的回文子串。** 回文子串指 abcba 等对称结构的字符串。题解1:动态规划(Dynamic Programming)思路源自程序员Carl,他在Github上创建了名为力扣刷题攻略的项目,链接贴在文末。Carl在题解中提及了动规五部曲:确定dp数组以及下标的含义。确定递推公式。dp数组如何初始化。确定遍历顺序。举例推导dp数组。在实际解决动规问题时,可以通过上述步骤为自己提供一个比较清晰的思路,接下来将详细阐述本题中每个步骤需原创 2021-09-28 23:08:17 · 168 阅读 · 0 评论 -
【4】寻找两个正序数组的中位数(C#)
寻找两个正序数组的中位数题目 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数 。示例: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2示例: 输入:nums1 = [], nums2 = [1] 输出:1.00000提示: nums1.length == m nums2.length == n 0 <= m原创 2021-09-25 01:21:09 · 419 阅读 · 0 评论 -
【3】无重复字符的最长子串(C#)
无重复字符的最长子串题目描述哈希表 做这道题前,我第一个想到的思路就是利用哈希表加双指针做暴力解法,双指针用来定位当前子串的前端和后端,哈希表原创 2021-09-05 23:52:12 · 218 阅读 · 0 评论 -
【2】两数相加(C#)
两数相加题目说明题解1.链表 | 高位补0 这道题使用链表解决的思路不算复杂,但是不进行整理归纳容易将代码写乱,增加许多不必要的特判条件。写这篇博文之前特地看了 编程熊 的题解,觉得思路很清晰,于是按照他的思路将题目重写了一遍,下面给大家展示解题思路与代码。 链表为逆序,两个链表从头部开始逐个结点的值相加,相加的结果可能产生进位,需要使用临时变量去记录(本题解中的carry);对于较短的链表采用高位补0的思路继续求和,直至两个链表都遍历完毕且进位值为0。//Definition for原创 2021-09-03 00:10:49 · 501 阅读 · 0 评论 -
【1】两数之和(C#)
【1】两数之和题目描述:题解利用 C# 中的哈希表 HashTable 键值对的特性,可以在 O(n) 的时间复杂度内解决两数之和的问题。首先依次遍历数组 nums 中的元素,若目标值与元素值的差值未存储进哈希表,则将当前元素与其下标存储到 HashTable 中;若目标值与元素值的差值在哈希表中找到,那么数组中存在满足条件的两个数,以差值作为 Key 在哈希表中寻找第一个数的下标,与当前遍历元素的下标组成数组作为结果返回。若不存在满足条件的两数则返回空数组。public class Sol原创 2021-09-01 23:35:52 · 194 阅读 · 0 评论 -
力扣第84题——柱状图中最大的矩形
力扣第84题——柱状图中最大的矩形前言前言:其实我之前很少刷困难题,因为一般笔试或面试问困难题的机会不多(除了网易,一面就给我背刺了一道 二十四点),刷这道题是因为 2020/09/10 心动网络最后一题出的就是这题,当时用的双指针时间复杂度就卡在O(N2),结果只通过50%,所以考完试特地上力扣看了题解。原题思路:单调栈我们首先来想最简单的思路:枚举高的解法。遍历所有柱子,每次记录当前柱子的高h,然后从这个柱子往两边延伸,直到遇到高度小于h的柱子(或者到达边界),就确定了矩形的左右边界,如果原创 2020-09-11 17:25:18 · 489 阅读 · 0 评论 -
几道力扣排序题(C++)
力争11天刷完所有力扣排序算法题,每天五道fighting!1[博主完成两种实现用时:7分钟]实现一: 思路:直接用sort算法。class Solution {public: bool isAnagram(string s, string t) { sort(s.begin(),s.end()); sort(t.begin(),t.end())...原创 2020-04-08 00:41:49 · 522 阅读 · 0 评论