- 博客(38)
- 收藏
- 关注
原创 sql五十题中前25题的非重点
3、查询所有学生的学号、姓名、选课数、总成绩(不重要)#连接查询后是假想的表,执行时候还是各顾各的SELECT a.s_id, a.s_name, COUNT(b.c_id) AS `选课数`, SUM(b.s_score) AS `总成绩`FROM student AS a JOIN score AS b ON a.s_id = b.s_idGROUP BY a.s_id4、查询姓“张”的老师的个数(不重要)SELECT COUNT(t_name) AS `个数`FROM t.
2022-05-10 16:01:27
224
原创 sql五十题中前25题的重点
1.查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(重点)SELECT a.s_id FROM #多加括号错了,()起来重新命名也不对,连接查询过后没法设置成一个新表,是假象的新表 (SELECT s_id, c_id,s_score FROM score WHERE c_id = '01') AS a JOIN (SELECT s_id, c_id,s_score FROM score WHERE c_id = '02') AS b ON a.s_id = b.s_
2022-05-10 16:01:14
216
原创 剑指(五题)
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseList(ListNode head) { if (head == null) return ...
2022-05-09 23:12:03
150
原创 剑指(五题)
class Solution { public int lengthOfLongestSubstring(String s) { if (s.length() == 0) return 0; int len = s.length(); int max = 1; for (int i = 0; i < len; i++) { char ch = s.charAt(i); /...
2022-05-08 12:20:45
153
原创 剑指(五道)
class Solution { public int majorityElement(int[] nums) { Map<Integer, Integer> map = new HashMap<>(); //k代表数字,v代表出现的次数 for (int i = 0; i < nums.length; i++) { map.put(nums[i], map.getOr...
2022-05-06 14:41:01
101
原创 力扣关于数据库的题目(12道)
#连接后这两个就是一个表了select firstName, lastName, city, statefrom Person left join Addresson Person.PersonId = Address.PersonId;select p.firstName, p.lastName, a.city, a.statefrom Person as p left join Address as aon p.PersonId = a.PersonId;...
2022-05-05 23:32:41
663
原创 剑指(五题)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public int[] levelOrder(TreeNode root) { //bfs...
2022-05-05 14:18:04
72
原创 剑指(五题)
// class Solution {// public int[] exchange(int[] nums) {// int[] res = new int[nums.length];// int t = 0;// for (int i = 0; i < nums.length; i++) {// if (!method(nums[i])) {// res[t++] = ...
2022-05-04 22:50:10
80
原创 5.3剑指6道题
//和整数拆分是一样的class Solution { public int cuttingRope(int n) { //dp[i]代表的是i拆分获得的最大值 int[] dp = new int[n + 1]; dp[2] = 1; for (int i = 3; i < n + 1; i++) { //枚举所有情况就行,不用写成<=i - j排除情况 for ...
2022-05-03 13:49:44
65
原创 5.2剑指开刷(前10)
class Solution { public int findRepeatNumber(int[] nums) { int len = nums.length; Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < len; i++) { if (map.containsKey(nums[i])) { ...
2022-05-02 16:20:54
203
原创 hot100相关(六题一组记录)
class Solution { public int search(int[] nums, int target) { int len = nums.length; int left = 0; int right = len - 1; int res = 0; while (left <= right) { int mid = ...
2022-04-29 20:42:25
109
原创 hot100相关(五题一组记录)
// class Solution {// public int hammingDistance(int x, int y) {// return Integer.bitCount(x ^ y);// }// }// class Solution {// public int hammingDistance(int x, int y) {// int s = x ^ y;//自动补全高位开始异或运算(相同为0,不同为1)/...
2022-04-29 20:34:19
75
原创 hot100(五题一组记录)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right...
2022-04-29 20:23:11
88
原创 hot100补充(6题一组)
public class Solution { public boolean wordBreak(String s, List<String> wordDict) { // 可以类比于背包问题 Set<String> wordDictSet = new HashSet(wordDict); // dp[i] 表示 s 中以 i - 1 结尾的字符串是否可被 wordDict 拆分 boolean[] dp ...
2022-03-27 17:57:16
281
原创 hot100补充(5题一组)
//f(i)表示以i为根的二叉树的搜索树个数,所以n的全部的搜索树个数G(n)// G(n)=f(1)+f(2)+f(3)+f(4)+...+f(n)// 当 i 为根节点时,其左子树节点个数为 i-1 个,右子树节点为 n-i,则左子节点二叉排序树的个数*右子节点二叉排序树的个数就是当i为根节点时候二叉排序树的个数// f(i) = G(i−1)∗G(n−i)// 综合两个公式可以得到 卡特兰数 公式//G(n)=G(0)∗G(n−1)+G(1)∗(n−2)+...+G(n−1)...
2022-03-26 14:25:16
290
原创 hot100补充(5道题目一组)
//这么简单得题目,别强迫症了啊,无所谓啊,哎//3.21记住只要是题目都很奇妙,不奇妙得没法出,大胆写//就是两种变化从1234到1243这是第一类,直接倒数两个得交换//第二种变换1243到1324这种,当前值和后面比当前大得排序后最小得交换。//因为这个题目是只找当前传入的下一个就行class Solution { public void nextPermutation(int[] nums) { int len = nums.length; ...
2022-03-25 14:53:52
279
原创 初步了解贪心算法
class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int gLen = g.length; int sLen = s.length; int i = 0; int j = 0; int count = 0; ...
2022-01-14 19:10:12
374
1
原创 递归和回溯算法模板,区别以及相关题目
三道题套路解决递归问题 | lyl's blog (lyl0724.github.io)public class Solution { List<List<Integer>> res = new ArrayList<>(); //使用removeLast()必须是LinkedList //再说了增删肯定LinkedList更方便 //...
2022-01-12 11:33:45
221
原创 二叉树第一阶段总结补充(这篇主要用的BFS)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, Tre...
2022-01-07 18:35:08
240
原创 二叉树第一阶段总结(这篇主要用的BFS)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right...
2022-01-07 18:28:09
374
原创 栈与队列相关题目
class MyQueue { LinkedList<Integer> stack1; LinkedList<Integer> stack2; public MyQueue() { stack1 = new LinkedList<Integer>(); stack2 = new LinkedList<Integer>(); } public void push(...
2022-01-01 21:24:35
272
原创 双指针法相关题目
// class Solution {// public int removeElement(int[] nums, int val) {// Arrays.sort(nums);// int slow = 0;// int fast = 1;// int len = nums.length;// for (; fast < len; fast++) {// if (...
2021-12-21 21:45:29
172
原创 字符串相关题目
vv//反转相当于两两交换class Solution { public void reverseString(char[] s) { int left = 0; int right = s.length - 1; while (left < right) { char temp = s[left]; s[left] = s[right]; s[ri
2021-12-21 21:39:31
142
原创 哈希表相关题目
// class Solution {// public boolean isAnagram(String s, String t) {// if (s.length() != t.length()) return false;// char[] c1 = s.toCharArray();// char[] c2 = t.toCharArray();// Arrays.sort(c1);// Ar...
2021-12-19 21:42:21
168
原创 链表相关题目
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; }...
2021-12-17 20:47:45
833
原创 (时间原因,每个类型先只做一道)滑动窗口和模拟法的题目
// //暴力解法,终于自己写出来了// class Solution {// public int minSubArrayLen(int target, int[] nums) {// int len = nums.length;// int templen = nums.length;// int count = 0;// for (int i = 0; i < len; i++) {// ...
2021-11-15 20:23:51
437
原创 移除数组的相关题目总结
class Solution { public int removeElement(int[] nums, int val) { int n = nums.length; int slow = 0; int fast = 0; for ( ; fast < n; fast++) { nums[slow] = nums[fast]; if (nums[fast] != va...
2021-11-11 14:39:16
397
原创 关于二分查找讲解及其相关题目推荐
笔记内容都在代码种注释,精髓。//mid=(left+right)>>1的含义//右移运算符>>,运算结果正好能对应一个整数的二分之一值,这就正好能代替数学上的除2运算,但是比除2运算要快。//mid=(left+right)>>1相当于mid=(left+right)/2class Solution { public int search(int[] nums, int target) { int left = 0;
2021-11-09 13:38:52
69
原创 160, 74, 98, 215, 115
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ //一看就是哈希或者双指针,很强了。public class Solution { public L...
2021-11-06 16:51:00
59
原创 剑04, 215, 136, 200, 226
//二维数组的二分查找//排序的查找都用二分查找啊class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { if (matrix.length == 0) return false; int lenL = matrix.length; int lenH = matrix[0].length; int row = ...
2021-11-05 16:07:54
68
原创 56, 面10.01, 225, 111, 38
//第一个二维数组的题目// 不规则二维表// 定义二维数组//int[][] arr = new int[3][]; // 3行,未知的列//集合是get()获取元素class Solution { public int[][] merge(int[][] intervals) { if (intervals.length == 0) { return new int[0][]; } //对二维数组排序的...
2021-11-02 23:37:31
98
原创 104, 94, 102, 101, 144
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right...
2021-10-30 14:28:36
46
原创 34,剑3,141,剑22,58
class Solution { public int[] searchRange(int[] nums, int target) { int left = 0; int right = nums.length - 1; int a = -1; int b = -1; //找到就停止前进- - for (int i = 0; i < nums.length; i++) { ...
2021-10-28 18:46:53
53
原创 26,27,28,35,66(按照题解多少刷的前50个)
//双指针的快慢指针出现。//删除重复元素的题目。//一个指针将数组循环,另一个指针指向我们最终需求的数组位置。class Solution { public int removeDuplicates(int[] nums) { int len = nums.length; int slow = 0; int fast = 0; while (fast < len) { //slow...
2021-10-25 00:22:04
41
原创 19,20,22,21,24
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; }...
2021-10-20 16:51:39
58
原创 12,13,15,16,17
//贪心算法public class Solution { public String intToRoman(int num) { // 把阿拉伯数字与罗马数字可能出现的所有情况和对应关系,放在两个数组中,并且按照阿拉伯数字的大小降序排列 int[] nums = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; String[] romans = {"M", "CM", "...
2021-10-17 21:24:45
71
原创 7,8,9,11,14
//数字转成字符串,reverse方法直接将字符串反转了。最后都是toString重写的,不然就是引用的地址了。//负号也是可以通过这个方式直接转的。这里就用了long来作比较,有点不符合题意,没事。class Solution { public int reverse(int x) { StringBuilder sb = new StringBuilder(); long a = Math.abs((long)x); ...
2021-10-13 12:20:51
148
原创 力扣前五题
//for循环的解决方法class Solution { public int[] twoSum(int[] nums, int target) { for(int i = 0; i < nums.length - 1; i++){ for(int j = i + 1; j < nums.length - 1; j++){ if(nums[i] + nums[j] == target){ ...
2021-10-09 20:14:46
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人