自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL分组TopK问题

185. 部门工资前三高的所有员工法一:利用子查询SELECT d.Name AS 'Department', e1.Name AS 'Employee', e1.SalaryFROM Employee e1 JOIN Department d ON e1.DepartmentId = d.IdWHERE 3 > (SELECT COUNT(DISTINCT e2.Salary) FROM

2021-05-30 13:38:32 1125

原创 leetcode 78. 子集

子集问题78. 子集常规方法暂不介绍,介绍一种巧妙的解法:二进制遍历每次构造一个子集,原数组每个元素都有两种情况:选和不选,对应到二进制的 0、1,于是可以一个二进制数对应一个子集,比如:0000 对应空集, 1111 对应全集。代码如下class Solution { public List<List<Integer>> subsets(int[] nums) { int n = nums.length; List<List&

2021-05-16 23:37:53 105

原创 Java多线程:并行处理串行输出的五种方法

最近研究了一些多线程中并行处理,串行输出的题。总结了几种方法。这种题的内容一般是:三个线程,分别能够输出"A"、“B”、“C”,按照"A"、“B”、"C"的顺序输出

2021-05-03 12:22:04 1257

原创 位运算取余

当 除数 为 2 的幂次时x%n=x&(n−1)x \% n = x \& (n-1)x%n=x&(n−1)其中n=2kn = 2^kn=2k

2020-08-14 15:04:55 176

原创 1~n中m的出现次数

从下面两道题总结的规律剑指 Offer 43. 1~n整数中1出现的次数面试题 17.06. 2出现的次数根据下面的题解面试题43. 1~n 整数中 1 出现的次数(清晰图解)进一步应用到任意数字 m 的情况class Solution { public int countDigit(int n, int m) { int high = n / 10; int low = 0; int cur = n % 10; int d

2020-08-09 17:04:42 466

原创 判定字符是否唯一

面试题 01.01. 判定字符是否唯一方法1:哈希表方法2:位运算ASCII码一共128个,long型数值位长64,用两个long变量,0代表当前字符未出现,1表示出现过class Solution { public boolean isUnique(String astr) { //方法1 // HashSet<Character> set = new HashSet<>(); // for(char c : astr.to

2020-07-17 16:44:21 165

原创 归并排序模板

void merge(int[] arr, int start, int end) { if (start == end) return; int mid = (start + end) / 2; merge(arr, start, mid); merge(arr, mid + 1, end); int[] temp = new int[end - start + 1]; int i = start, ...

2020-07-01 21:52:13 74

原创 微分算子法

D=d/dx(1)D = d/dx\tag{1}D=d/dx(1)y∗=F(D)f(x)(2)y*=F(D)f(x)\tag{2}y∗=F(D)f(x)(2)F(D)eax=F(a)eax(3)F(D)e^{ax} = F(a)e^{ax}\tag{3}F(D)eax=F(a)eax(3)F(D)eaxg(x)=eaxF(D+a)g(x)(4)F(D)e^{ax}g(x) = e^{ax}F(D+a)g(x)\tag{4}F(D)eaxg(x)=eaxF(D+a)g(x)(4)F(D

2020-06-29 15:09:14 1663

原创 面试题52. 两个链表的第一个公共节点

面试题52. 两个链表的第一个公共节点两个指针同时行走,当到链表尾部就跳到另一个链表头部,当两个指针相遇时停止/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */publi

2020-06-17 22:53:53 80

原创 739.每日温度-单调栈

739.每日温度暴力法O(n2)O(n^2)O(n2)class Solution { public int[] dailyTemperatures(int[] T) { int L = T.length; int[] res = new int[L]; for(int i=0;i<L;i++){ int tmp = 1; for(int j=i+1;j<L;j++){

2020-06-13 13:38:32 139

原创 面试题35. 复杂链表的复制

面试题35. 复杂链表的复制链表深拷贝第一步:copyList在每个原节点后面插入复制节点第二步:randromCopy复制随机连接第三步:reList把原链表和复制的链表分离出来java代码如下/*// Definition for a Node.class Node { int val; Node next; Node random; ...

2020-03-22 22:35:38 106

原创 贝祖定理

对任何整数aaa、bbb和mmm,关于未知数xxx和yyy的线性丢番图方程ax+by=max+by=max+by=m有整数解时当且仅当mmm是aaa及bbb的最大公约数ddd的倍数。m%gcd(x,y)=0m\%gcd(x,y)=0m%gcd(x,y)=0...

2020-03-21 12:52:48 2122

原创 idea tomcat中文乱码

该调成UTF-8的地方都调了tomcat7换成tomcat9也是乱码单独打开tomcat没有乱码在idea里一直是乱码最终根据这篇文章解决【IntelliJ IDEA】 启动Tomcat时,有乱码,出现 “淇℃伅 [main] org.apach”解决方案修改tomcat安装目录下的config/logging.properties文件,找到java.util.logging.Con...

2020-03-20 13:32:35 105

原创 代理模式学习笔记

代理模式Proxy根据下面的文章学习代理模式https://juejin.im/post/5a99048a6fb9a028d5668e62#heading-0https://juejin.im/post/5dec590551882512480a76e3我们的目标:增强方法,尤其是在一些封装好,不能直接修改原方法的情况下,对方法进行增强。解决方案a)继承最直观解决方案b)聚合(静态...

2020-03-17 00:27:30 99

原创 摩尔投票法 169. 多数元素

class Solution { public int majorityElement(int[] nums) { //摩尔投票法 int m = 0; int p = 0; for(int num:nums){ if(p == 0){ m = num; ...

2020-03-13 11:37:48 79

原创 二叉树求深度模板

543. 二叉树的直径/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solutio...

2020-03-10 15:33:58 108

原创 bug(面试题59 - II. 队列的最大值)(已解决)

做面试题59 - II. 队列的最大值时遇见个bug public int pop_front() { if(q.isEmpty()) return -1; //int val = q.poll(); if(q.peek() == d.peekFirst()){ d.poll(); } ...

2020-03-07 21:35:21 115

原创 LeetCode 994. 腐烂的橘子

看别人的写法模仿了一下为橘子引入腐败时间然后就是BFS了class Orange{ int x; int y; int time; public Orange(int x,int y,int time){ this.x = x; this.y = y; this.time = time; }}clas...

2020-03-04 20:11:31 89

原创 LeetCode剑指4,二维数组中查找

右上角或左下角开始寻找优化方向:每次不一定只向下或向左移一位,用二分的思想找到连续同方向移动的终止坐标class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { if(matrix.length==0) return false; int m = ...

2020-02-24 17:13:41 113

原创 【LeetCode8】40.组合数目II

class Solution { List<List<Integer>> res = new ArrayList<>(); int[] candidates; int len; public List<List<Integer>> combinationSum2(int[] candidates,...

2020-02-22 12:53:41 91

原创 【LeetCode刷题记录7】39.组合数目(回溯算法)

39.组合数目注意:*题中有可以重复使用数组元素的条件*(没好好看条件,程序过了,自己一直想不明白为啥过了,后来发现误打误撞满足了题中的条件)每次更新路径都要在复制的原路径上加元素,不能直接用旧路径,子分支多于一个,假如第一个分支在原路径上更新,后面的分支也要更新,可原路径已经没了每次都要产生一堆List记录路径,可以加入及时删除List的语句,降低空间复杂度class Solut...

2020-02-22 00:45:38 98

原创 java二分搜索模板

class Solution { public int search(int[] nums, int target) { int left = 0; int right = nums.length-1; while(left<=right){ int mid = left+((right-left)>&gt...

2020-02-19 16:27:21 136

原创 【LeetCode6】剑指offer.面试题03. 数组中重复的数字

布尔数组class Solution { public int findRepeatNumber(int[] nums) { int len = nums.length; boolean[] vis = new boolean[len]; for(int i:nums){ if(vis[i]==true) retu...

2020-02-19 12:32:22 189

原创 区块链学习记录1

跟着网上的教程用java实现了个简易的区块链,真正的比特币之类应该是加入了一万个细节:)主要根据以下几篇文章学习:SHA256算法原理详解150行java代码让你彻底理解区块链是什么区块链之工作量证明,挖矿是什么?代码如下(最后输出的是json格式,需要下个gson的jar包导入)定义区块类import java.util.Date;public class Block {...

2020-02-10 22:52:08 213

原创 【LeetCode刷题记录4】24. 两两交换链表中的节点

个人LeetCode刷题记录:24. 两两交换链表中的节点题目地址递推法/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Sol...

2020-02-03 15:53:45 107

原创 【LeetCode刷题记录3】23. 合并K个排序链表

法一:暴力法(差一个测试无法通过)/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public Li...

2020-02-03 15:43:39 123

原创 【LeetCode刷题记录2】8. 字符串转换整数 (atoi)

个人LeetCode刷题记录:8. 字符串转换整数 (atoi)题目地址java求解代码class Solution { public int myAtoi(String str) { char[] charList = str.toCharArray(); //String转字符数组 int flag = 1; //正负号标记 ...

2020-02-01 18:43:13 131

原创 【LeetCode刷题记录1】7. 整数反转

个人LeetCode刷题记录:7. 整数反转题目地址java求解代码class Solution{ public int reverse(int x) { int res = 0; //记录最后返回的结果值 int t ; //用来临时记录 while(x != 0) //因为x可取正负,不适合用x>0,或x<0,每次...

2020-02-01 18:42:19 100

空空如也

空空如也

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

TA关注的人

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