随笔分类 - LeetCode题解
摘要:32. 最长有效括号 方法一:动态规划 思路:如果i对应的),则如果i-1一个为( ,则dp[i]=dp[i-2]+2;如果i-1为)查看i-1是否被匹配过。 public class Solution { //动态规划 public int LongestValidParentheses(stri
阅读全文
摘要:29. 两数相除 #移位 任何正整数都可以用 Math.pow(2,0)+Math.pow(2,1)+...+Math.pow(2,n) 表示。 利用 10/3 =(6+4)/3=2+1=3求解 为了方便计算需要把数都转化为正数,为了防止数值溢出int,转换为long。 public class S
阅读全文
摘要:30. 串联所有单词的子串 #方法:滑动窗口 哈希表 关键技巧点:长度相同的单词。== 比如单词的长度为3,则0,3,6..1,4,7..2,5,8..一定能覆盖所有的拆分字符串。 思路:维护word和缓存的查找哈希表。当两个哈希表数值正常的时候,即找到一个结果。 public class Solu
阅读全文
摘要:https://leetcode-cn.com/problems/trapping-rain-water/ 双指针解法。 1 public class Solution 2 { 3 public int Trap(int[] height) 4 { 5 int size = height.Lengt
阅读全文
摘要:https://leetcode-cn.com/problems/container-with-most-water/ 双指针解法。 需要理解最大面积 1 public class Solution 2 { 3 //双指针解法,首先要理解 4 public int MaxArea(int[] hei
阅读全文
摘要:https://leetcode-cn.com/problems/palindrome-number/ 虽然很简单,还是写一下题解吧。 思路1. 首先判断负数和个位数是0但x不等于0的一定不是回文。然后翻转字符串的一半,判断另一半时候和翻转后的相等。注意:121这种奇数位结构。 1 public c
阅读全文
摘要:10. 正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字
阅读全文
摘要:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/ 此题的关键是需要确定两个数组的大小,时刻保证左边=右边,数组的奇偶数可以用数学公式去解决。
阅读全文
摘要:问题描述 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符 说明 a和b都是 32位 整数么? 是的 我可以使用位运算符么? 当然可以 样例 如果 a=1 并且 b=2,返回3 解题思路 以计算 5+17=22 为例: 在十进制加法中,我们可以分成三步进行: 1. 只做各位相加不进位
阅读全文
摘要:93. 平衡二叉树 描述 笔记 数据 评测 给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 您在真实的面试中是否遇到过这个题? Yes 样例 给出二叉树 A={3,9,20,#,#,15,7}, B={3,#,20
阅读全文
摘要:97. 二叉树的最大深度 描述 笔记 数据 评测 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最大深度为3. 标签 相关题目 /** * Def
阅读全文
摘要:99. 重排链表 难度系数 中等 通过率 24% 难度系数 中等 通过率 24% 难度系数 中等 通过率 24% 描述 笔记 数据 评测 给定一个单链表L: L0→L1→…→Ln-1→Ln, 重新排列后为:L0→Ln→L1→Ln-1→L2→Ln-2→… 必须在不改变节点值的情况下进行原地操作。 您在
阅读全文
摘要:102. 带环链表 描述 笔记 数据 评测 给定一个链表,判断它是否有环。 您在真实的面试中是否遇到过这个题? Yes 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true 挑战 不要使用额外的空间 /** * Definition o
阅读全文
摘要:106. 排序列表转换为二分查找树 描述 笔记 数据 评测 给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树 您在真实的面试中是否遇到过这个题? Yes 样例 2 1->2->3 => / \ 1 3 标签 链表 递归 /** * Definition of ListNode
阅读全文
摘要:170. 旋转链表 描述 笔记 数据 评测 给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数 您在真实的面试中是否遇到过这个题? Yes 样例 给出链表1->2->3->4->5->null和k=2 返回4->5->1->2->3->null /** * Definition
阅读全文
摘要:96. 链表划分 描述 笔记 数据 评测 给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。 你应该保留两部分内链表节点原有的相对顺序。 您在真实的面试中是否遇到过这个题? Yes 样例 给定链表 1->4->3->2->5->2->null,并且 x=3 返回 1->2
阅读全文
摘要:112. 删除排序链表中的重复元素 描述 笔记 数据 评测 给定一个排序链表,删除所有重复的元素每个元素只留下一个。 您在真实的面试中是否遇到过这个题? Yes 样例 给出 1->1->2->null,返回 1->2->null 给出 1->1->2->3->3->null,返回 1->2->3->
阅读全文
摘要:165. 合并两个排序链表 描述 笔记 数据 评测 将两个排序链表合并为一个新的排序链表 您在真实的面试中是否遇到过这个题? Yes 样例 给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。 标签 领英 链表 /** * De
阅读全文
摘要:描述 笔记 数据 评测 给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 注意事项 链表中的节点个数大于等于n 您在真实的面试中是否遇到过这个题? Yes 样例 给出链表1->2->3->4->5->null和 n = 2. 删除倒数第二个节点之后,这个链表将变成1->2->3->5->n
阅读全文
摘要:52-下一个排列 给定一个整数数组来表示排列,找出其之后的一个排列。 注意事项 排列中可能包含重复的整数 样例 给出排列[1,3,2,3],其下一个排列是[1,3,3,2]给出排列[4,3,2,1],其下一个排列是[1,2,3,4] 标签 排列 LintCode 版权所有 思路 从后往前找,找到第一
阅读全文