LeetCode
文章平均质量分 79
NorthSmile
研二软件工程在读,研究图像去雾;本科计算机科学与技术专业。
展开
-
146. LRU 缓存
力扣146. LRU 缓存。原创 2023-09-25 17:13:24 · 749 阅读 · 0 评论 -
双指针解决n数之和问题
使用双指针解决n数之和问题,如两数之和、三数之和等。原创 2023-07-28 17:02:28 · 274 阅读 · 0 评论 -
可恶的剪绳子问题
剑指offer剪绳子问题解题,涉及动态规划、大数循环取余操作原创 2023-07-09 16:14:43 · 699 阅读 · 1 评论 -
快速幂算法
使用快速幂算法快速计算某底数的指定幂原创 2023-07-06 15:46:57 · 189 阅读 · 0 评论 -
滑动窗口技巧解决子串问题
滑动窗口技巧解决子串问题原创 2023-07-05 17:33:07 · 187 阅读 · 0 评论 -
字典树/前缀树Trie(附Java代码)
字典树代码实现及力扣应用原创 2023-04-24 14:35:26 · 934 阅读 · 2 评论 -
水塘抽样解决随机选择问题
利用水塘抽样算法解决等概率随机选择问题原创 2023-04-12 15:33:36 · 477 阅读 · 1 评论 -
前缀和技巧解决数组问题
使用前缀和技巧解决数组区间求和问题原创 2023-04-06 15:40:07 · 467 阅读 · 0 评论 -
二分查找算法/折半查找
二分搜索算法代码套路及力扣题解题示例。原创 2023-03-30 17:03:28 · 1443 阅读 · 0 评论 -
摩尔多数投票算法
博耶-摩尔多数投票算法介绍,并以此解决力扣“多数元素”问题。原创 2023-03-10 18:38:35 · 614 阅读 · 0 评论 -
【LeetCode54螺旋矩阵、LeetCode59螺旋矩阵II:简单模拟(Java实现,一种思想解决两道题)】
通过模拟解决螺旋矩阵生成及遍历问题原创 2022-11-08 18:09:09 · 727 阅读 · 7 评论 -
【经典面试题-LeetCode134:加油站问题(Java实现)】
经典面试题:加油站问题原创 2022-11-02 07:00:00 · 1186 阅读 · 2 评论 -
【贪心算法-LeetCode3:无重复字符的最长子串(Java实现)】
贪心策略解决无重复字符最长子串问题原创 2022-10-29 15:49:00 · 1317 阅读 · 5 评论 -
【单链表-LeetCode2: 两数相加(Java非递归代码)】
单链表逆序存储非负数,进行加法运算原创 2022-10-25 07:00:00 · 521 阅读 · 4 评论 -
【LeetCode338:比特位计数(Java代码(官方题解))】你跟我说这叫简单题啊
比特位计数:1)Java内置函数;2)布莱恩·克尼汉算法。原创 2022-10-24 21:53:51 · 537 阅读 · 2 评论 -
【LeetCode43:字符串相乘(大数相乘)(Java实现)】
字符串相乘或大数相乘问题原创 2022-10-23 07:00:00 · 1401 阅读 · 2 评论 -
【经典题-LeetCode70:爬楼梯(附Java代码)】
这里提供两种解决方法,需要注意LeetCode提交时有时间限制,所以推荐使用方法二。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?(1)从第n-1阶楼梯,一次爬1阶,共爬两次到达;需要 n 阶你才能到达楼顶。(2)从第n-2阶楼梯,一次爬2阶到达;原创 2022-10-19 15:53:47 · 679 阅读 · 5 评论 -
【经典面试题-LeetCode20:有效的括号(附Java代码)】
比如字符串s= { [ } ]就不是一个有效的字符串,因为中括号[应该先闭合,即]应该在}的前面。判断字符串长度是否为偶数,如果是奇数说明字符串无效,直接返回false(因为所有括号左右一一对应,所以有效字符串的基础条件就是len(s)%2=0)(2)判断栈顶元素是否为右括号,若为右括号说明字符串无效,跳出循环,此时栈一定不为空(起码会包含一个右括号);给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。(1)判断栈是否为空,若为空,则直接将当前字符入栈;原创 2022-10-19 07:30:00 · 817 阅读 · 14 评论 -
【经典面试题-LeetCode21:合并两个有序链表(附Java代码)】
(2)反之,若tempNode1.val>=tempNode2.val,则将tempNode2所指向的节点通过tempNode插入结果链表,并将tempNode2向右移动一个位置,即tempNode.next=tempNode2、tempNode2=tempNode2.next;需要注意,虽然样例中输入的两个列表是整数数组的形式,但其实官网的评测机内部将其分别先构建成以1为头节点的单链表(样例1为例),而传入mergeTwoLists方法的实参也正为每个链表的头节点。对于两个不带头节点的有序单链表,通过。原创 2022-10-18 07:30:00 · 936 阅读 · 8 评论 -
【LeetCode48:旋转图像(附Java代码)】
对于原输入矩阵matrix和旋转90度后的矩阵rotatedMatrix,rotatedMatrix中的第col列数据为matrix中的第n-1-col行数据,且rotatedMatrix中的第col列数据从row=0,1,…借助辅助矩阵tempMatrix拷贝matrix的内容,内存中tempMatrix和matrix对应不同的区域,然后通过旋转前后的元素坐标之间的关系实现。此处借助辅助矩阵实现,其实官方题解中的方法三,通过两次翻转矩阵替换旋转的方式也很好理解,感兴趣的可去官网查看。原创 2022-10-17 08:00:00 · 1088 阅读 · 16 评论 -
【LeetCode12:整数转罗马数字(附Java、Python3实现)】
当某个数大于对应临界点时则需要进行分解,比如num=600,500原创 2022-10-14 15:38:56 · 838 阅读 · 8 评论 -
【LeetCode13:罗马数字转整数(附Java、Python3代码)】
(2)因为如果遇到特殊情况,指针i和j同时向右移动两个位置,那么当传入字符串最后两个字符不构成特殊情况时,j会指向s.length的位置,也就是发生了数组越界,出现空指针异常。3.比较字符串s,s[j]-s[i]对应的数值是否大于0,如果大于0,说明此时相邻两个字符可能构成特殊情况,左面字符小于右面字符:若为特殊情况,则此时i和j同时向右移动2个距离,否则说明此时i所指向的字符为基础字符,此时i,j向右移动1个距离;罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。原创 2022-10-14 06:00:00 · 944 阅读 · 9 评论 -
【LeetCode6:Z字形变换(附Java、Python3代码)】
而flag则用来控制数据流的方向,每当i=0或者i=rows-1时就对自身取反,即flag=-flag。我只能说大佬神佬啊,自己写了好久死活写不对,刚开始一直在找字符串元素下标之间的规律,人裂开了。看到大佬的解答,直接就是一个醍醐灌顶!之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。其中当传入行数rows=1时,直接返回原字符串即可,核心代码处理rows>1的情况。本题目的:将一个给定的字符串,按照Z字形排列,在遍历时得到一个新的字符串。原创 2022-10-12 17:08:03 · 689 阅读 · 16 评论 -
【经典面试题-LeetCode69/剑指 Offer II 072:x 的平方根 (Python3实现)】
可以明确的是,此处题目要求计算结果直接将小数部分舍去,只保留整数部分,如样例中8的平方根最后返回2。这是一道经典的面试题,需要我们在不使用任何内置函数的前提下,手动实现求指定整数的算术平方根。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。x ,计算并返回 x 的 算术平方根。原创 2022-10-10 22:56:12 · 517 阅读 · 4 评论