自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二分查找

1.二分查找二分查找需要是有序的,时间复杂度是log2n。package a0831;public class binarySearch { public static int search(int[] nums,int target){ int i=0,j=nums.length-1; while(i<=j){ int mid=(i+j)/2; if(nums[mid]>target)

2020-08-31 11:14:36 146

原创 剑指 Offer 57 - II. 和为s的连续正数序列java题解

今天的心情依旧是 我怎么这么菜啊呜呜呜呜呜1.题目输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。2.思路1.本题运用了滑动窗口:假设窗口的左边界为i,右边界为j,区间是左开右闭 [i,j)。滑动窗口的性质是左右边界都只能向右移动。初始条件:i=j=12.滑动窗口范围的数的和就是要找的和为target的序列①如果 和>target, 要缩小窗口,那么左边界向右移动,即i+.

2020-08-30 20:32:30 200

原创 剑指 Offer 57. 和为s的两个数字java题解

1.题目输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。2.思路由于是有序的数组1.双指针法,一个指向low,一个指向high。如果s<nums[low]+nums[high],high-1;如果s>nums[low]+nums[high],low+1;如果s=nums[low]+nums[high],返回数组{nums[low],nums[high]};当low=high时跳出循环。3.复杂度时间复

2020-08-30 17:42:17 155

原创 剑指 Offer 56 - II. 数组中数字出现的次数 IIJava题解

题目在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。思路这题紧接着上一题,剑指 Offer 56 - I. 数组中数字出现的次数java题解1.三个相同的数字的异或结果还是该数字,所以不能像上一题那样,但沿用了位运算的思路。2.三个相同的数字二进制每一位加起来必然可以整除3,由于有只出现一次的一个数字a,不能整除3的说明a的那一位为1,能整除3的说明a的那一位为0。3.上述思路同样适用于数组中一个数字出现一次,其他数字出现奇数次问题(如果是偶数

2020-08-29 20:36:21 208

原创 剑指 Offer 56 - I. 数组中数字出现的次数java题解

立个flag 再不认真写思路是????思路1.两个相同的数异或结果为0,如果有一个只出现一次的数a,那么数组中所有数的异或结果为这个数a。2.本题有两个只出现一次的数a和b,数组最后的异或结果就是这两个数异或的结果a^b。3.如果将数组中的数分成两组,a、b分别在这两组,那么这两组数分别异或的结果就是a和b了。4.问题是怎么分组呢①先异或所有数,得到k=a^b②需要找到a,b不一样的位置,即k中是1的位。方法是 设置mark=1,若(mark&k)==0,mark左移一位③遍历数

2020-08-29 19:23:52 237

原创 剑指 Offer 55 - II. 平衡二叉树Java题解

感觉8月比7月摸鱼了许多,题也不是天天写。不会写还记不住,暴风哭泣,好累啊代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean is.

2020-08-29 11:21:14 160

原创 剑指 Offer 55 - I. 二叉树的深度java题解

日记:今天为什么做了好几道呢因为笔试面试我好累我懒死了我好菜代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { private int count=0,max=.

2020-08-26 21:37:27 138

原创 剑指 Offer 54. 二叉搜索树的第k大节点java题解

1.思路中序遍历可以得到递增的序列,所以寻求第k大的数,就用中序遍历的倒序(即先遍历右子树,再根节点,最后左子树)2.代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {

2020-08-26 20:44:13 177

原创 剑指 Offer 53 - II. 0~n-1中缺失的数字java题解

class Solution { public int missingNumber(int[] nums) { int i=0,j=nums.length-1; while(i<=j){ int m=(i+j)/2; if(nums[m]==m) i=m+1; else j=m-1; } retu

2020-08-26 16:18:05 113

原创 N个数的数组求N-1个数组合乘积最大的一组java题解

public class a0825 { public static double maxmultiply(Double[] A ,int n){ if(A==null) return 0; int pos=0;//正数个数 int neg=0;//负数个数 int zero=0;//0个数 double fabminp=A[0]; //绝对值最小的正数 d

2020-08-25 13:00:46 333

原创 剑指 Offer 53 - I. 在排序数组中查找数字java题解

class Solution { public int search(int[] nums, int target) { int len=nums.length; if(len==0){ return 0; } //初始化 int left=0; int right=len-1; int mid; //找右边界 while(left&

2020-08-23 10:54:31 155

原创 剑指 Offer 52. 两个链表的第一个公共节点java题解

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode getIntersectionNod

2020-08-23 10:22:05 166

原创 linux命令行清除redis缓存

步骤1.redis-cli2.dbsize3.flushall4.exit

2020-08-22 18:38:07 1130

原创 An unexpected connection driver error occured 连接错误rabbitmq

原因:没有对用户授权解决办法:我这里直接授予用户administrator的角色rabbitmqctl set_user_tags 用户名 administrator原因:application.properties配置文件中spring.rabbitmq.virtual-host写错了解决办法:改成正确的。默认是spring.rabbitmq.virtual-host=my_vhost...

2020-08-22 18:33:50 868

原创 剑指 Offer 51. 数组中的逆序对java题解

class Solution { public int reversePairs(int[] nums) { int len=nums.length; //长度0或1,无逆序对,直接返回0 if(len<2){ return 0; } int[] temp=new int[len];//临时数组 int[] copy=new int[len]; for(int

2020-08-22 10:09:58 115

原创 剑指 Offer 50. 第一个只出现一次的字符java题解

class Solution { public char firstUniqChar(String s) { //有序的集合 Map<Character,Boolean> map=new LinkedHashMap<>(); char[] c=s.toCharArray(); for(char cr:c){ map.put(cr,!map.containsKey(cr));

2020-08-21 10:26:33 116

原创 剑指 Offer 49. 丑数java题解

class Solution { public int nthUglyNumber(int n) { int[] dp=new int[1691]; int a=0,b=0,c=0; dp[0]=1; for(int i=1;i<n;i++){ int n2=dp[a]*2; int n3=dp[b]*3; int n5=dp[c]*5;

2020-08-21 10:04:10 108

原创 剑指 Offer 48. 最长不含重复字符的子字符串java题解

class Solution { public int lengthOfLongestSubstring(String s) { Map<Character,Integer> dic=new HashMap<>(); int temp=0,res=0,i=0; for(int j=0;j<s.length();j++){ i=dic.getOrDefault(s.charAt(j),-1);

2020-08-20 10:50:44 204

原创 剑指 Offer 47. 礼物的最大价值Java题解

1.思路设f(i,j)为从棋盘左上角走至单元格(i,j)的礼物最大累计价值,得到以下递推关系:f(i,j) 等于f(i,j−1) 和f(i−1,j) 中的较大值加上当前单元格礼物价值grid[i,j]2.代码class Solution { public int maxValue(int[][] grid) { int m=grid.length; int n=grid[0].length; for(int i=1;i<m;i++){

2020-08-19 10:24:41 183

原创 剑指 Offer 46. 把数字翻译成字符串Java题解

class Solution { public int translateNum(int num) { String str=String.valueOf(num); int len=str.length(); if(len<2) return len; char[] c=str.toCharArray(); return dp(c); } public int dp(cha

2020-08-15 09:06:20 168

原创 剑指 Offer 45. 把数组排成最小的数java题解

class Solution { public String minNumber(int[] nums) { String[] str=new String[nums.length]; for(int i=0;i<nums.length;i++){ str[i]=String.valueOf(nums[i]); } mysort(str,0,str.length-1); StringBuil

2020-08-13 21:16:07 123

原创 剑指 Offer 44. 数字序列中某一位的数字java题解

class Solution { public int findNthDigit(int n) { int digit=1; long start=1; long count=9; while(n>count){ n-=count; digit=digit+1; start=start*10; count=start*digit*9;

2020-08-12 13:53:10 139

原创 基于JavaSwing的账本账簿个人财务管理系统

项目介绍这是一个基于JavaSwing个人财务管理系统。具有登录、查询信息、系统管理、收支管理、查看报表等功能。 数据全部存放在文件中,没有使用数据库。运行效果:代码地址https://github.com/Lirtson/FinancialManagementSystem...

2020-08-11 10:51:21 1938

原创 剑指 Offer 43. 1~n整数中1出现的次数java题解

时间复杂度O(log(n)) 空间复杂度O(1)每轮的结果算法,由找规律得到class Solution { public int countDigitOne(int n) { int res=0; int high=n/10,cur=n%10,low=0,digit=1; while(high!=0||cur!=0){ if(cur==0) res+=high*digit;

2020-08-11 10:04:02 137

原创 常见排序算法的JAVA代码实现

1.选择排序package Sort;/*选择排序描述:不断选择剩余元素中的最小者 */public class Selection { public static void sort(Integer[] a){ //将a[]按升序 int N=a.length; for(int i=0;i<N;i++){ int min=i; for(int j=i+1;j<N;j++){

2020-08-10 14:45:33 126

原创 剑指 Offer 42. 连续子数组的最大和java题解

class Solution { public int maxSubArray(int[] nums) { int res=nums[0]; for(int i=1;i<nums.length;i++){ if(nums[i-1]>0){ nums[i]+=nums[i-1]; } if(nums[i]>res){

2020-08-10 10:24:23 127

原创 剑指 Offer 41. 数据流中的中位数java题解

class MedianFinder { PriorityQueue<Integer> a,b; /** initialize your data structure here. */ public MedianFinder() { a=new PriorityQueue<>();//小顶堆 存储较大的一半 b=new PriorityQueue<>((x, y) -> (y - x));//大顶堆 存储较小的

2020-08-10 10:06:15 144

原创 (demo)实现简易的tomcat

项目代码在github的地址:https://github.com/Lirtson/MyTomcat代码1.请求对象import java.io.IOException;import java.io.InputStream;//请求对象public class MyRequest { private String url; private String method; public MyRequest(InputStream inputStream) throws I.

2020-08-09 20:03:12 356

原创 (JAVA)利用链表LinkedList+ConcurrentHashMap实现LRU

实现带过期时间的LRU:https://blog.csdn.net/weixin_42970433/article/details/107896626思路:每次添加新结点时,判断Map中是否已有,如果有,移动到队头;没有的话就新建一个结点放入。package LRU1;public class Node{ private String key; private Object value; public Node(String key, Object value) { .

2020-08-09 17:37:05 492 2

原创 (JAVA)利用优先队列PriorityQueue+ConcurrentHashMap实现带过期时间的LRU

思路:每次添加新结点时,判断Map中是否已有,如果有,移动到队头;没有的话就新建一个结点放入。对于带过期时间的功能,使用PriorityQueue将过期时间最小的Node放在队首,到时间删除结点。package LRU;public class Node implements Comparable<Node>{ private String key; private Object value; private long expireTime;//过期时间

2020-08-09 17:14:06 824

原创 idea中多选的快捷键

ctrl+shift+alt

2020-08-09 16:43:19 4345

原创 剑指 Offer 40. 最小的k个数java题解

快排:https://blog.csdn.net/nrsc272420199/article/details/82587933class Solution { public int[] getLeastNumbers(int[] arr, int k) { if(k==0||arr.length==0){ return new int[0]; } return quickSearch(arr,0,arr.length-1,k-

2020-08-09 10:48:27 150

原创 剑指 Offer 39. 数组中出现次数超过一半的数字java题解

参考:如何理解摩尔投票算法? - 喝七喜的回答 - 知乎https://www.zhihu.com/question/49973163/answer/235921864 public int majorityElement(int[] nums) { int flag=0; int count=0; for(int num:nums){ if(count==0){ flag=num;

2020-08-09 10:02:03 179

原创 剑指 Offer 38. 字符串的排列java题解

class Solution { List<String> res=new LinkedList<>(); char[] c; public String[] permutation(String s) { c=s.toCharArray();//String转char[] dfs(0); return res.toArray(new String[res.size()]);//List转String[]

2020-08-08 14:39:53 203

原创 剑指 Offer 36. 二叉搜索树与双向链表java题解

/*// Definition for a Node.class Node { public int val; public Node left; public Node right; public Node() {} public Node(int _val) { val = _val; } public Node(int _val,Node _left,Node _right) { val = _val;

2020-08-07 10:44:34 180

原创 剑指 Offer 35. 复杂链表的复制java题解

/*// Definition for a Node.class Node { int val; Node next; Node random; public Node(int val) { this.val = val; this.next = null; this.random = null; }}*/class Solution { public Node copyRandomList(Node

2020-08-06 10:10:44 139

原创 剑指 Offer 34. 二叉树中和为某一值的路径java题解

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { List<List<Integer>> res=new LinkedList<>()

2020-08-05 10:58:36 149

原创 Git 切换分支时当前分支更改代码被带到其他分支

2020-08-04 14:44:20 2206

原创 剑指 Offer 33. 二叉搜索树的后序遍历序列java题解

1.递归分治class Solution { public boolean verifyPostorder(int[] postorder) { return recur(postorder,0,postorder.length-1); } boolean recur(int[] postorder,int i,int j){ if(i>=j) return true; int p=i; while(postor

2020-08-04 09:26:06 132

原创 idea中lombok注解GetterSetter等不生效的解决办法

原因:lombok版本问题解决办法:Settings->Plugins 重新安装lombok,安装完重启IDEA

2020-08-03 11:27:27 1259

1.2024年青岛莱西市“莱聚英才”青年人才优选部分国内高校名单.docx

1.2024年青岛莱西市“莱聚英才”青年人才优选部分国内高校名单.docx

2024-04-24

空空如也

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

TA关注的人

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