自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 收藏
  • 关注

原创 139. 单词拆分(Java)(动归正向迭代,一维背包)

1 题目给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。示例 2:输入: s = “applepenapple”, wordDict

2020-09-19 21:16:07 219

原创 39. 组合总和(Java)(回溯递归)

1 题目给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2:输入:candidates = [2,3,5], target =

2020-09-18 16:32:51 197

原创 377. 组合总和 Ⅳ(Java)(正向迭代动归)(一维背包问题)

1 题目给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combination-sum-iv著作权

2020-09-18 13:16:38 208

原创 二叉树中俩节点的最短距离(pdd正式批2面)

1 题目如题2 Java2.1 方法一()public class PinDuoDuo_02 { public static void main(String[] args) { } // TODO 这方法不好啊老铁!别再用返回值了,用成员变量;本解法返回的是 a/b 到公共父节点的距离 static int d = 0; public static int helper(TreeNode root, TreeNode a, TreeNode b){

2020-09-04 17:59:14 198

原创 8. 字符串转换整数 (atoi)(腾讯1面)(字符串)(麻烦)

1 题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个

2020-09-04 15:25:31 79

原创 算法;归并

// 注意返回 void public void mergeSortHelper(int[] arr, int l, int r){ if(l >= r) return; // 先分;神坑2:注意 m 归左边 int m = (l + r) / 2; mergeSortHelper(arr, l, m); mergeSortHelper(arr, m + 1, r); // 后治 ...

2020-08-18 21:02:59 80

原创 86. 分隔链表(Java)(dummy node,哑节点)

1 题目给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5https://leetcode-cn.com/problems/partition-list/2 Java2.1 方法一(dummy node,哑节点)class

2020-08-08 00:05:56 366

原创 437. 路径总和 III(Java)(树递归,回溯)

1 题目给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum-iii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 Java2.1

2020-07-04 20:25:23 146

原创 面试题05. 替换空格(Java)(以字符遍历)(以字符串数组遍历)

1 题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 Java2.1 方法一(以字符遍历)class So

2020-05-24 09:57:54 283

原创 494. 目标和(Java)(回溯递归)(动归迭代,背包问题)

1 题目给定一个非负整数数组,a1, a2, …, an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例 1:输入: nums: [1, 1, 1, 1, 1], S: 3输出: 5解释:-1+1+1+1+1 = 3+1-1+1+1+1 = 3+1+1-1+1+1 = 3+1+1+1-1+1 = 3+1+1+1+1-1 = 3一共有5种方法让最终

2020-05-19 13:49:08 137

原创 543. 二叉树的直径(Java)(神坑!)(递归)

1 题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/diame

2020-05-19 12:23:09 166

原创 196. 删除重复的电子邮箱(MySQL)(删除表中某列值重复的数据)

1 题目2 MySQL2.1 方法一delete p1from Person as p1, Person as p2where p1.Email = p2.Email AND p1.Id > p2.Id;

2020-05-18 11:58:58 193

原创 1143. 最长公共子序列(Java)(动归)

1 题目给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = “abcde”, text2 =

2020-05-17 13:25:50 103

原创 718. 最长重复子数组(Java)(类似求字符串的公共子串)(动归)

1 题目给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是 [3, 2, 1]。说明:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 1002 Java2.1 方法一(暴力;超时)每次从A、B中取长度为l的子数组(l以短数组的长度为起始递减至1),看两个数组是否相等,如果相等,立即

2020-05-16 12:13:31 179

原创 面试题55 - I. 二叉树的深度(104. 二叉树的最大深度)(Java)(递归)

1 题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 Java2.1 方法一(递归)/

2020-05-13 15:54:28 101

原创 225. 用队列实现栈(Java)

1 题目使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作

2020-05-13 13:06:29 108

原创 !42. 接雨水(Java)(单调栈)(动态规划,左缀max,右缀max)(双指针)

1 题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 62 Java2.1 方法一(单调栈,按行求)当两个较高元素中间夹一个或几个较低元素,此时可存水,即“凹陷部分”class Solution

2020-05-11 17:10:36 204

原创 面试题;拼多多;1079. 活字印刷(Java)(回溯,以26个字母为分支)(回溯,以字符串剩余字符为分支)

1 题目你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。注意:本题中,每个活字字模只能使用一次。示例 1:输入:“AAB”输出:8解释:可能的序列为 “A”, “B”, “AA”, “AB”, “BA”, “AAB”, “ABA”, “BAA”。示例 2:输入:“AAABBC”输出:188提示:1 <= tiles.length <= 7tiles 由大写英文字母组成来源:力扣(LeetCode)链接:

2020-05-10 18:44:13 306

原创 560. 和为K的子数组(Java)(窗口数组)(HashMap妙用)

1 题目给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。来源:力扣(LeetCode)...

2020-05-08 00:06:20 156

原创 53. 最大子序和(Java)(!动归正向迭代)

1 题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。来源:力扣(LeetCode)链接:https://leetc...

2020-05-07 17:54:03 91

原创 笔试题;携程(斐波那契数列变形)

1 题目跨 N 级台阶,可以一次跨 1/2/3 级,但只能跨 1 次 3 级,一共有多少种跨法?2 Java注意使用 回溯正向递归,而非 动归正向迭代这道题不知道怎么利用子问题加速这种时候直接用回溯吧import java.util.Scanner;/** * @classname XieCheng_Main1 * @description TODO 跨 N 级台阶,可以一次跨...

2020-05-07 12:46:43 135

原创 49. 字母异位词分组(Java)(HashMap的高级运用)

1 题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。2 Java2.1 方法一(超时)c...

2020-05-07 00:29:06 162

原创 面试题;快手(20200506)

1 题目给定字符串,找出第一个只出现一次的字符2 Java遍历!!!两遍!!!import java.util.HashMap;import java.util.Map;/** * @author 张泽阳 */public class Test { public static void main(String[] args) { String s = "...

2020-05-06 23:00:15 389

原创 20. 有效的括号(Java)(map匹配)

1 题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入:...

2020-05-05 23:32:21 323

原创 19. 删除链表的倒数第N个节点(Java)(快慢指针)

1 题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?来源:力扣(LeetCode)链接:https://leetcode-c...

2020-05-04 19:39:13 157

原创 2. 两数相加(Java)(字节面试)(错误;链表转数字)(链表直接相加)

1 题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...

2020-05-03 17:06:22 151

原创 1179. 重新格式化部门表(MySQL)(如何行转列)

1 题目2 MySQL2.1 方法一(行转列)select id, sum(case when month = 'Jan' then revenue end) as Jan_Revenue, sum(case when month = 'Feb' then revenue end) as Feb_Revenue, sum(case when month = 'Mar...

2020-05-02 23:32:38 168

原创 183. 从不订购的客户(MySQL)(多表查询——表A存在 但表B不存在的数据)

1 题目2 MySQL2.1 方法一(A left join B on 条件 where B.列 is null)select Name as Customersfrom Customers left join Orders on Customers.Id = Orders.CustomerIdwhere Orders.CustomerId is null;2.2 方法二(...

2020-05-02 20:13:43 201

原创 23. 合并K个排序链表(Java)(归并链表)(k指针)(最小堆)

1 题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-k-s...

2020-05-02 19:37:56 144

原创 626. 换座位(MySQL)(如何交换数据?)(case when)

1 题目2 MySQL2.1 方法一(case when)注意是case when,不是 case 列select (case when mod(id, 2) != 0 and id = counts then id # 奇数,且是最后一行 when mod(id, 2) != 0 and id != counts then id + 1 # 奇...

2020-05-01 20:27:00 199

原创 181. 超过经理收入的员工(MySQL)(自连接)

1 题目2 MySQL2.1 方法一(A join B on 条件)select A.Name as Employeefrom Employee as A join Employee as B on A.ManagerId = B.Id and A.Salary > B.Salary;2.2 方法二(A, B where 条件)select A.Name a...

2020-05-01 19:21:48 107

原创 148. 排序链表(Java)(归并排序链表)

1 题目在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5来源:力扣(LeetCode)链接:https://leetcode...

2020-04-25 17:03:29 177

原创 175. 组合两个表(MySQL)(多表查询,各种连接)

1 题目2 MySQL2.1 方法一(外连接)select FirstName, LastName, City, Statefrom Person left join Addresson Person.PersonId = Address.PersonId;3 如何多表查询(外连接)3.1 方法一:表1 left join 表2 on 条件select 列1,列2,列3...

2020-04-25 09:51:09 109

原创 142. 环形链表 II(Java)(HashSet查重)

1 题目链表无环返回null链表有环返回环的入口节点https://leetcode-cn.com/problems/linked-list-cycle-ii/2 Java2.1 方法一(HashSet查重)/** * Definition for singly-linked list. * class ListNode { * int val; * ListN...

2020-04-24 17:21:42 96

原创 专题:链表双指针问题(快慢指针、相遇指针)

1 获取倒数第k个元素1.1 题目面试题22. 链表中倒数第k个节点https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof1.2 快慢指针/** * Definition for singly-linked list. * public class ListNode { * ...

2020-04-24 17:06:14 435

原创 141. 环形链表(Java)(HashSet查重)(相遇指针)

1 题目给定一个链表,判断链表中是否有环https://leetcode-cn.com/problems/linked-list-cycle/2 Java2.1 方法一(HashSet查重)/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next;...

2020-04-24 14:00:39 212

原创 620. 有趣的电影(MySQL)(多条件查询+排序(没法union))

1 题目2 MySQL2.1 方法一(不等于,取模,排序)select id, movie, description, ratingfrom cinemawhere description <> 'boring' and id % 2 = 1order by rating desc;写的不好1 != 改用 <>2 取模方法:& mod...

2020-04-24 12:32:15 195

原创 627. 交换工资(MySQL)(如何按条件修改数据)

1 题目2 MySQL2.1 方法一()update salaryset sex = ( case sex when 'm' then 'f' when 'f' then 'm' end);2.2 方法二()3 如何按条件修改数据?3.1 方法一:case when thenupdate 表set 列 = ( cas...

2020-04-24 12:04:37 196

原创 595. 大的国家(MySQL)(多条件查询)

1 题目2 MySQL2.1 方法一(or)select name, population, areafrom Worldwhere population > 25000000 or area > 3000000;2.2 方法二(union代替or)select name, population, areafrom Worldwhere population &g...

2020-04-23 12:16:30 140

原创 182. 查找重复的电子邮箱(MySQL)(如何查找重复数据)

1 题目2 MySQL2.1 方法一(groupby……having)不能把count判断放在where中因为执行顺序是 from、where、groupby、having、selectcount 必须在 groupby 之后执行select Emailfrom Persongroup by Emailhaving count(Email) > 1;2.2 方法二(子...

2020-04-23 12:07:29 306

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除