自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BUG之Package javax.xml.ws does not exist

Package javax.xml.ws does not exist解决办法:更改setting,选择jdk1.8

2021-11-02 11:41:06 1516

原创 BUG之brew install golangci-lint报错

brew install golangci-lint报错安装命令:brew install golangci-lint报错:Error: No such file or directory @ rb_sysopen -/Users/pilipalalueluelue-go-1.16.6.big_sur.bottle.tar.gz原因:go版本问题——go 1.16.5 is already installed but outdated解决办法:先安装go,再安装golangci-li

2021-11-02 11:28:27 531

原创 maven 导入dependency 报错/红线

maven 导入dependency 报错/红线maven想要导入dependency,比如mysql-connector-java在pom.xml加入<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.8</version></depend

2021-09-09 17:09:00 3516 3

原创 git基础命令 日常使用 进阶命令 常见问题汇总

Git目录Clone项目git的日常使用git的进阶命令Clone项目1.把项目克隆下来git clone [email protected].建立本地分支git branch branch1 #新建branch1分支git branch #查看本地所有分支git checkout branch1 #切换到branch1分支git checkout master #切换到master分支一般项目开发进行在分支上,不在master上git的日常使用????????????每

2021-08-30 13:43:09 216

原创 Object类的方法-小羊的记录本

目录ObjectObjectpublic final native Class<?> getClass();

2020-09-07 22:12:37 98

原创 static关键字-小羊的记录本

目录谈一谈static一些代码谈一谈static【方便在没有创建对象的情况下进行调用】一些代码public class Main {   static int value = 33; public static void main(String[] args) throws Exception{ //new Main()是生成的对象 new Main().printValue(); } private void printValue

2020-09-07 17:22:53 94

原创 DFS大礼包-小羊的记录本

DFS大礼包Leetcode200.岛屿数量Leetcode130. 被围绕的区域Leetcode200.岛屿数量class Solution { public int numIslands(char[][] grid) { int row=grid.length; if(row==0){ return 0; } int col=grid[0].length; //做标记 int[][] visited=new

2020-09-07 16:12:20 108

原创 Leetcode跳跃游戏大礼包-小羊的记录本

目录Leetcode跳跃游戏大礼包55.跳跃游戏45.跳跃游戏21306.跳跃游戏3Leetcode跳跃游戏大礼包55.跳跃游戏class Solution { public boolean canJump(int[] nums) { int maxposition=0; int end=0; for(int i=0;i<nums.length-1;i++){ maxposition=Math.max(maxpos

2020-09-04 14:04:22 102

原创 腾讯2020校园招聘(共4题)-小羊的记录本

目录腾讯2020校园招聘第一题:压缩算法相关Leetcode 394. 字符串解码腾讯2020校园招聘第一题:压缩算法小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为m|S(m为一个整数且1<=m<=100),例如字符串ABCABCABC将会被压缩为[3|ABC],现在小Q的同学收到了小Q发送过来的字符串,你能帮助他进行解压缩么?输入描述:输入第一行包含一个字符串s,代

2020-09-04 11:55:03 428

原创 HashMap源码解析+面试常问

目录HashMap介绍HashMap 常问(1)HashMap实现原理(2) HashMap在什么条件下扩容?(3) 讲讲HashMap的get/put的过程?(4) 为什么HashMap的在链表元素数量超过8时改为红黑树?(5) HashMap的并发问题?(6) 你一般用什么作为HashMap的key?(7)哈希冲突HashMap 源码解析静态成员变量HashMap 成员变量HashMap put方法HashMap resize方法HashMap get()hash()HashMap与HashTable、

2020-08-27 11:25:25 213

原创 最后一次学习排序算法-请学透吧!-小羊的记录本

最后一次学习排序算法冒泡排序选择排序冒泡排序两两对比,交换位置,每次确定最后一个数 /** * 冒泡排序 * @param array * @return */ public static int[] BubbleSort(int[] array){ if(array.length==0 || array==null){ return array; } for(int i=0;

2020-08-24 16:06:54 75

原创 性能分析工具JProfile使用指导书-小羊的记录本

性能分析工具JProfile使用指导书安装JProfile1.1 在IDEA安装JProfile插件1.2 下载安装JProfiler客户端1.3 IDEA配置JProfiler可执行文件2 监测视图2.1 JProfiler监测2.2 内存视图(Live memory)2.2.1 所有对象(ALL objects)2.2.2 记录的对象(Recorded objects)2.2.3 分配调用树(Allocation call tree )2.2.4 分配热点视图(Allocation hot spots

2020-08-19 17:00:27 10544

原创 Leetcode733.图像渲染-小羊的记录本

733.图像渲染有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值改为新的颜色值。最后返回

2020-08-16 14:23:18 90

原创 leetcode121.买卖股票的最佳时机

121.买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入

2020-08-16 11:43:40 75

原创 Leetcode169.多数元素-小羊的记录本

169.多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2思路:方法1.HashMap根据value找key方法2.根据数据分布来排序求得方法1:HashMapclass Solution { public int majorityElement(i

2020-08-16 11:26:57 109

原创 剑指 Offer 27. 二叉树的镜像-小羊的记录本

剑指 Offer 27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]思路:1.又是递归递归递归2.又是左子树递归左子树的,右子树递归右子树的/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

2020-08-15 23:08:48 66

原创 Leetcode257.二叉树的所有路径-小羊的记录本

257.二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入:输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3思路:1.递归递归递归2.左边和右边分开递归递归递归3.叶子结点和非叶子结点分开考虑/** * Definition for a binary tree node. * public class TreeNode

2020-08-15 22:45:05 92

原创 Leetcode111.二叉树的最小深度

111.二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最小深度 2.思路:1.我以为和最大深度类似系列。2.注意[1,2]的最小深度是2不是1,因为题目说要叶子结点到根结点到最小深度。那么就针对这种情况进行判断就完事了。/** * Definition for a binary tree node. * publ

2020-08-15 21:53:47 73

原创 Leetcode104.二叉树的最大深度-小羊的记录本

104.二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。思路:1.递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeN

2020-08-15 16:20:37 78

原创 Leetcode101.对称二叉树-小羊的记录本

101.对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:进阶:你可以运用递归和迭代两种方法解决这个问题吗?思路1.根据对称特点,递归检查两边的根结点,检查内容是根结点是否相等,并且还要递归检查左边根结点的左子树和右边根结点的右子树,递归检查左边根结点的左子树和右边根结点的右子树代码/** * Definition for a binary tree no

2020-08-15 15:54:57 88

原创 leetcode79.单词搜索-小羊的记录本

79.单词搜索一周没刷题了orz,坚持果然是最难的,但是刷永远比不刷好!加油吧小羊~给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCED", 返回 true给定

2020-08-15 12:10:40 79

原创 深拷贝和浅拷贝的区别

深拷贝和浅拷贝的区别主要在于 是否真正获取了一个对象的复制实体,而不是引用。B拷贝了A:A变B也变:浅拷贝(指向的堆内存是同一个值),一起引用堆的一个值,类似a,bA变B不变:深拷贝(指向的堆内存是不同的值),开辟新的内存地址存放复制的对象,类似a,c...

2020-08-10 15:37:23 44

原创 进程和线程 进程调度

目录进程和线程不同点进程的调度算法同步方式进程和线程不同点进程的调度算法多级反馈调度(优先级调度和时间片轮转的结合)(1)设置多个就绪队列,每个队列优先级依次减小。为各个队列分配的时间片大小不同,优先级队列越高,里面进程规定的执行时间片就越小(2)队列中还是按照FCFS原则排队等待,如果第一队列队首进程在规定的时间片内未执行完,则直接调送至第二队尾,依次向后放一个队列的队尾。因此一个长作业进程会分配到 n 个队列的时间片执行(3)按照队列先后依次执行,如果新进的待处理进程优先级较高,则新进

2020-08-09 18:37:25 470

原创 ==和equals的区别

1)对于==如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址(栈中局部变量表)2)对于equals方法注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址(栈中局部变量的地址);诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的"值"。...

2020-08-09 11:15:41 54

原创 Java集合大礼包-小羊的记录本

目录Java集合框架集合三大要素ListArrayListLinkedListSetHashSetTreeSetMapHashMapTreeMap遍历ListSetMapJava集合框架集合三大要素1.接口2.具体类3.算法集合的作用:提高程序设计效率,可以复用。ListArrayList常用方法操作:增加元素查找元素查找索引是否为空长度多少是否包含package list;import java.util.ArrayList;public class Arr

2020-08-07 00:31:42 125

原创 Java虚拟机大礼包-小羊的记录本

目录Java虚拟机内存区域二级目录三级目录Java虚拟机内存区域回答:Java虚拟机内存区域,就是Java程序运行时的数据区域,一共有5块内容,分为共享和线程私有。共享:堆和方法区私有:虚拟机栈,程序计数器,本地方法栈二级目录三级目录Java虚拟机内存区域(3)如何判断某对象该垃圾回收(4) 什么可以当作GC Roots”...

2020-08-06 20:26:16 140

原创 泛型的具体应用-小羊的记录本

泛型的具体应用解决的问题:在不同的业务调用API接口的时候,可能传参的类型不同,但是一般来说是基于一个父类的一系列类型。比如:Cell是基本的类,有三个参数(cgi,lat,lon),业务可能想传入5GCell(cgi,lat,lon,others),那么如何进行泛型的应用?使得接口更加公共化?1.基类的接口【CellGeo】:getCgi(),getLon(),getLat()public interface CellGeo { public String getCgi(); publ

2020-08-06 18:49:21 110

原创 leetcode78.子集(DFS回溯)-小羊的记录本

78.子集给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3]]思路:1.DFS 注意dfs(begin)的变化代码class Solution {public List<List<Integer>> subsets(int[] nums) {

2020-08-05 11:23:45 82

原创 leetcode75.颜色分类(双指针)-小羊的记录本

75.颜色分类给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数

2020-08-04 20:13:36 68

原创 Leetcode64.最小路径和(动态规划)-小羊的记录本

64.最小路径和给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路:1.动态规划,第一行和第一列单独处理,剩余的在前面的基础上进行,简单!代码class Solution { public int minPathSum(int[][] grid

2020-08-04 00:12:24 70

原创 leetcode62.不同路径(动态规划)-小羊的记录本

62.不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2. 向右 -> 向下 -> 向右3. 向下

2020-08-03 23:57:05 106

原创 leetcode56.合并区间-小羊的记录本

56.合并区间给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。思路:1.结果要放在返回的数组中,不该在原数组基础上改;2.按照每一行的第一个数先排序Compara

2020-08-01 09:36:00 75

原创 GeoHash算法-小羊的记录本

目录GeoHash算法GeoHash算法美团外卖根据纬度算编码同理,地球经度区间是[-180,180],可以对经度116.389550进行编码。根据经度算编码第二步:奇偶合并和编码:过上述计算,纬度产生的编码为10111 00011,经度产生的编码为11010 01011。偶数位放纬度,奇数位放经度,把2串编码组合生成新串:11100 11101 00100 01111。最后使用用0-9、b-z(去掉a, i, l, o)这32个字母进行base32编码,首先将11100 11101 001

2020-07-31 17:15:05 183

原创 leetcode55.跳跃游戏(贪心算法)-小羊的记录本

55.跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。

2020-07-30 23:34:22 160

原创 leetcode49.字母异位词分组-小羊的记录本

49.字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。思路:1.通过对数组里的每一个字符串进行字典重排序,这里涉及到了字符串转数组,数组转字符串,必须熟练掌握;还要了解基本工具用

2020-07-30 01:08:51 50

原创 leetcode48.旋转图像-小羊的记录本

48.旋转图像给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,

2020-07-29 23:56:41 110

原创 leetcode39. 组合总和(回溯+剪枝)-小羊的记录本

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

2020-07-29 22:19:50 98

原创 leetcode46.全排列-小羊的记录本

46.全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]思路:1.我终于会写最简单的回溯算法了;2.回溯的主要流程框架要记住;for 选择 in 选择列表: # 做选择 将该选择从选择列表移除 路径.add(选择) backtrack(路径, 选择列表) # 撤销选择

2020-07-29 00:15:19 61

原创 leetcode43. 字符串相乘-小羊的记录本

43.字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使用任何标准库的

2020-07-28 20:50:56 74

原创 leetcode42. 接雨水-小羊的记录本

42.接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路:1.单调栈:等到下一个数大于前一个数(栈顶的数),就要计算一次长宽;2.注意栈是空的情况:左边或者右边没有数,也盛不了水;考虑[1,0,0,1]的入栈过程,有助

2020-07-28 01:05:24 75

空空如也

空空如也

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

TA关注的人

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