04 2020 档案

摘要:0.前言 地址: https://www.cnblogs.com/javaguide/p/spring annotations.html 大家好,我是 Guide 哥!这是我的 221 篇优质原创文章。如需转载,请在文首注明地址,蟹蟹! 本文已经收录进我的 75K Star 的 Java 开源项目 阅读全文
posted @ 2020-04-30 18:25 弓呆的胖次 阅读(267) 评论(0) 推荐(0)
摘要:转载 https://leetcode-cn.com/problems/jump-game/solution/fan-xiang-kao-lu-dang-bu-de-bu-tiao-dao-0de-shi-ho/ 思路: 首先,求的是跳到最后一个元素,最后一个元素的最大步数明显可以是0,因为跳到最后 阅读全文
posted @ 2020-04-30 10:28 弓呆的胖次 阅读(150) 评论(0) 推荐(0)
摘要:思路:等于是说,让我们顺时针一圈一圈的遍历一个矩阵,结果放在一个List里面。 1.因为是一圈一圈遍历,可以用四个点标记当前这个矩阵的四个角,然后按照行列行列的次序,把每个点加入结果结合里面。有四个点:c1,c2,r1,r2,分别是最左边的列的下标,最右边的列的下标,最上面行的下标,最下面行的下标。 阅读全文
posted @ 2020-04-30 09:52 弓呆的胖次 阅读(512) 评论(0) 推荐(0)
摘要:思路:https://leetcode-cn.com/problems/maximum-subarray/solution/zheng-li-yi-xia-kan-de-dong-de-da-an-by-lizhiqiang/ 思路一:分治法 分治法基本思路: 1.分解:把原问题分解成若干个大小相近 阅读全文
posted @ 2020-04-30 09:00 弓呆的胖次 阅读(2120) 评论(0) 推荐(0)
摘要:思路:和上一题相比,多了障碍物,思路还是一样的,先把x==0,y==0时的res赋值为1,假如遇到给出的数组的这两行里有障碍物,从障碍物开始不继续赋值为1(初始化之后的数组,默认每个数为0) 之后。。。还是老样子,obstacleGrid[i][j]==1时,跳过,看代码吧,没啥难度我感觉。。。 c 阅读全文
posted @ 2020-04-29 10:34 弓呆的胖次 阅读(133) 评论(0) 推荐(0)
摘要:思路:机器人一次只能向下或向右移动一步。也就是说,从下标(0,0)开始走的机器人,下标x或者下标y为0的这两列,都只有一种路径,因为从(0,0)走到(0,x),(y,0)只能一步一步向下或向右走,一种路径。 当x,y下标不为0时,(x,y)处的路径,很显然,等于(x-1,y)路径数加(x,y-1)的 阅读全文
posted @ 2020-04-29 10:22 弓呆的胖次 阅读(158) 评论(0) 推荐(0)
摘要:思路:求的是x的n次方,如果是写一个循环,肯定会超时。 假如已经知道了x的n次方,该怎么求x的2n次方呢?肯定不需要循环乘x乘n次了,x的n次方的平方,就等于x的2n次方。 假如求x的n次方,n是偶数,可以先求x的n/2次方,之后求个平方。 假如n是奇数,先求x的n/2次方,再求平方,之后再乘以x就 阅读全文
posted @ 2020-04-29 09:52 弓呆的胖次 阅读(222) 评论(0) 推荐(0)
摘要:思路: 方法一:排序数组分类思路 当且仅当它们的排序字符串相等时,两个字符串是字母异位词。 算法 维护一个映射 ans : {String -> List},其中每个键 \text{K}K 是一个排序字符串,每个值是初始输入的字符串列表,排序后等于 \text{K}K。 在 Java 中,我们将键存 阅读全文
posted @ 2020-04-29 09:12 弓呆的胖次 阅读(165) 评论(0) 推荐(0)
摘要:转载:https://blog.csdn.net/AlbenXie/article/details/87950482 Hashmap的存值:public static void main(String[] args) { ///*Integer*/map.put("1", 1);//向map中添加值 阅读全文
posted @ 2020-04-29 08:48 弓呆的胖次 阅读(345) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/javahr/p/8267717.html 一、由基本数据型态转换成String String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 ,也就是 String.valueOf() 这个参数多载的方法 有以下几种 阅读全文
posted @ 2020-04-29 08:30 弓呆的胖次 阅读(195) 评论(0) 推荐(0)
摘要:思路,要的是顺时针旋转九十度。 1.按照主对角线,做个对称。 [[1,2,3],[4,5,6],[7,8,9]] 变成:[[1,4,7],[2,5,8],[3,6,9]],这一步用二层循环就行了,n*n的矩阵,所以m.length==m[0].length,用哪个都行 2,竖着,左右两半来个轴对称, 阅读全文
posted @ 2020-04-28 10:13 弓呆的胖次 阅读(164) 评论(0) 推荐(0)
摘要:看到时间复杂度要求:O(logn),就知道是折半查找,很简单,先折半查找target的下标,之后向左右找nums[left],nums[right]等于target的下标,返回就行。 class Solution { public int[] searchRange(int[] nums, int 阅读全文
posted @ 2020-04-28 09:31 弓呆的胖次 阅读(606) 评论(0) 推荐(0)
摘要:思路:很简单,两个指针cur1,cur2分别指向l1,l2,当cur1,cur2都不空时,比较两个指针指向的节点的数值,把小的那个接到结果res上,之后这个cur1/cur2后移 当这个循环结束后,有可能剩下一个没被遍历到的链表(因为两个链表长度可能不一样),所有再写俩循环就行。 class Sol 阅读全文
posted @ 2020-04-28 08:39 弓呆的胖次 阅读(116) 评论(0) 推荐(0)
摘要:可以利用replaceAll()函数实现目的,介绍可以看下面两个网址 https://www.runoob.com/java/java-string-replaceall.html https://www.cnblogs.com/lzh1043060917/p/12791689.html 把完整的括 阅读全文
posted @ 2020-04-28 08:20 弓呆的胖次 阅读(143) 评论(0) 推荐(0)
摘要:https://www.runoob.com/java/java-string-replaceall.html 原地址在上面 replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。 语法 public String replaceAll( 阅读全文
posted @ 2020-04-28 08:15 弓呆的胖次 阅读(200) 评论(0) 推荐(0)
摘要:一个位置是否能接雨水,取决于这个下标a的左右两侧,是否存在比a的高度更高的下标。所以找到当前元素a能存多少水,步骤分两步 1.找到每个元素(头尾元素不算)左侧高度最高的下标L。和每个元素右侧高度最高的下标R。 2.找L与R的高度的最小值,假设左边更低 3.nums[L]如果大于nums[a],可以存 阅读全文
posted @ 2020-04-24 15:40 弓呆的胖次 阅读(131) 评论(0) 推荐(0)
摘要:时间复杂度可以满足,常数级别额外空间弄不出来。。。。 可以使用HashSet,因为找的是没排序的最小正整数,所以这样就行,先把每一个元素都add进HashSet,之后,从1开始,遍历1到nums.length+1的所有数字,如果这个数字i不在set里面,就说明缺这个数字。用Set。。。好像是怕有重复 阅读全文
posted @ 2020-04-24 15:17 弓呆的胖次 阅读(108) 评论(0) 推荐(0)
摘要:题目: 与上一题的不同: 1.在上一个“组合总和”中,每个元素可选择无数次,这个题里面,一个元素只能选一次。 2. 上一个题里,元素都不重复,这个题,元素可重复。 思路:和上一题差不多,回朔法。先排序。假如给出的数1,2,2,2。target==5;因为每个数只能选一次,所以要有一个数组visite 阅读全文
posted @ 2020-04-24 14:49 弓呆的胖次 阅读(115) 评论(0) 推荐(0)
摘要:这章开始我们对Collection的具体实现类来进行介绍,首先是List,而List中ArrayList是最常用的。 ArrayList介绍 ArrayList简介 ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了 阅读全文
posted @ 2020-04-24 14:25 弓呆的胖次 阅读(468) 评论(0) 推荐(0)
摘要:思路: 思路:根据示例 1:输入: candidates = [2,3,6,7],target = 7。 候选数组里有 2 ,如果找到了 7 - 2 = 5 的所有组合,再在之前加上 2 ,就是 7 的所有组合;同理考虑 3,如果找到了 7 - 3 = 4 的所有组合,再在之前加上 3 ,就是 7 阅读全文
posted @ 2020-04-23 16:21 弓呆的胖次 阅读(211) 评论(0) 推荐(0)
摘要:class Solution { public String countAndSay(int n) { String str,res;//res是对前一项的描述 就是结果,每个数的描述都是从“”生产的,所以要一个str记录一下上一个对前一项的描述 res="1"; for(int i=1;i<n;i 阅读全文
posted @ 2020-04-23 15:59 弓呆的胖次 阅读(113) 评论(0) 推荐(0)
摘要:当一个类加载器收到类加载任务,会先交给其父类加载器去完成,因此最终加载任务都会传递到顶层的启动类加载器,只有当父类加载器无法完成加载任务时,才会尝试执行加载任务。采用双亲委派的一个好处是比如加载位于rt.jar包中的类java.lang.Object,不管是哪个加载器加载这个类,最终都是委托给顶层的 阅读全文
posted @ 2020-04-23 14:03 弓呆的胖次 阅读(126) 评论(0) 推荐(0)
摘要:假如链表长度为5,有1,2,3,4,5五个元素,删除倒数第2个元素4。5-2=3,也就是指向被删除的元素的上一个元素,正好。 正确做法:多次循环: class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { Li 阅读全文
posted @ 2020-04-23 11:40 弓呆的胖次 阅读(148) 评论(0) 推荐(0)
摘要:和三数之和太像了,无非是多了一个循环,求1,2,3,4个数的和等于target的所有不重复集合。第3,4个数那里还可以用双指针法 不同点:先排序,这里和三数之和一样,这里可以加入当前最小值,最大值的判断,减少运算次数,如果当前最小值大于target直接break,因为随着指针右移,四数之和只会越来越 阅读全文
posted @ 2020-04-22 16:22 弓呆的胖次 阅读(188) 评论(0) 推荐(0)
摘要:可以看出,假如输入的有两个数字,得用两层循环得出结果。假如输入三个数字,就得是三层循环。可以用递归 class Solution {//递归, public List<String> letterCombinations(String digits) { List<String> list = ne 阅读全文
posted @ 2020-04-22 16:08 弓呆的胖次 阅读(271) 评论(0) 推荐(0)
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三 阅读全文
posted @ 2020-04-22 15:20 弓呆的胖次 阅读(152) 评论(0) 推荐(0)
摘要:● 请简单描述一下JVM加载class文件的原理是什么? 考察点:JVM 参考回答: JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。 Java中的所有类,都需要由类加载器装载到J 阅读全文
posted @ 2020-04-22 13:55 弓呆的胖次 阅读(216) 评论(0) 推荐(0)
摘要:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: 阅读全文
posted @ 2020-04-22 09:23 弓呆的胖次 阅读(164) 评论(0) 推荐(0)
摘要:可以看这两篇: https://www.jianshu.com/p/2b113f487e5e 一、java.util.Arrays.asList() 的一般用法 List 是一种很有用的数据结构,如果需要将一个数组转换为 List 以便进行更丰富的操作的话,可以这么实现: String[] myAr 阅读全文
posted @ 2020-04-22 09:01 弓呆的胖次 阅读(665) 评论(0) 推荐(0)
摘要:class Solution { public int[] plusOne(int[] digits) {//因为是加一,所以进位只可能是1 int length=digits.length; for(int i=length-1;i>=0;i--) { if(digits[i]!=9)//如果当前 阅读全文
posted @ 2020-04-21 15:44 弓呆的胖次 阅读(133) 评论(0) 推荐(0)
摘要:方法: 这题的做法大概是这样: 去掉前导空格 再是处理正负号 识别数字,注意越界情况。 这道题目如果只是简单地字符串转整数的话,就是简单地rev=rev*10+pop。 但是注意这道题目可能会超过integer的最大表示! 也就是说会在某一步(1)rev*10+pop> Integer.MAX_VA 阅读全文
posted @ 2020-04-21 11:30 弓呆的胖次 阅读(142) 评论(0) 推荐(0)
摘要:新建HashSet:Set<Integer> set =new HashSet<>(); 阅读全文
posted @ 2020-04-21 10:22 弓呆的胖次 阅读(152) 评论(0) 推荐(0)
摘要:StringBuilder的常用方法 在程序开发过程中,我们常常碰到字符串连接的情况,方便和直接的方式是通过"+"符号来实现,但是这种方式达到目的的效率比较低,且每执行一次都会创建一个String对象,即耗时,又浪费空间。使用StringBuilder类就可以避免这种问题的发生,下面就Stringb 阅读全文
posted @ 2020-04-21 09:07 弓呆的胖次 阅读(152) 评论(0) 推荐(0)
摘要:https://www.jianshu.com/p/4a403049a4a2 阅读全文
posted @ 2020-04-21 09:06 弓呆的胖次 阅读(123) 评论(0) 推荐(0)
摘要:思路: 1.首先要有一个列表rows存储所有的数据,列表里每一个元素代表题中的一行,每一行里面的元素都是不断往里面加进去的,不是初始化好的。所以列表的每个元素,也就是每一行,应该用StringBuilder。按照题意rows总共numRows行,下标是0到numRows-1 2.其次,在边界处如何处 阅读全文
posted @ 2020-04-21 09:03 弓呆的胖次 阅读(245) 评论(0) 推荐(0)
摘要:思路:暴力法的改进 class Solution { public String longestPalindrome(String s) { if(s==null||s.length()==0)return s ; int length=s.length(); boolean[][] P=new b 阅读全文
posted @ 2020-04-20 16:58 弓呆的胖次 阅读(112) 评论(0) 推荐(0)
摘要:原博客:https://blog.csdn.net/csxypr/article/details/92378336 String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 String a = "123"; a = "456"; 阅读全文
posted @ 2020-04-20 15:52 弓呆的胖次 阅读(161) 评论(0) 推荐(0)
摘要:题目内容: 题目解析:也就是说,用一个数组来表示一个数,数组最右边是个位。找到大于这个数的另一个数b,这个数b不仅要大于给出的数,还要尽可能小。 方法: 1.题目是找出大于当前数的最小的那个数。假如从左到右,数字按降序走,则一定不可能有更大的数。因为从左到右降序的话,数字一定是最大的。2.所以说,应 阅读全文
posted @ 2020-04-20 11:11 弓呆的胖次 阅读(128) 评论(0) 推荐(0)
摘要:java -Dfile.encoding=utf-8 -jar l_mall-0.0.1-SNAPSHOT.jar 阅读全文
posted @ 2020-04-09 19:37 弓呆的胖次 阅读(453) 评论(0) 推荐(0)
摘要:使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportOperationException异常说明:asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法。Arrays.asList 阅读全文
posted @ 2020-04-08 17:10 弓呆的胖次 阅读(211) 评论(0) 推荐(0)
摘要:内容: 解法这样,首先肯定得排序, 算法流程:特判,对于数组长度 nn,如果数组为 nullnull 或者数组长度小于 33,返回 [][]。对数组进行排序。遍历排序后数组:若 nums[i]>0nums[i]>0:因为已经排序好,所以后面不可能有三个数加和等于 00,直接返回结果。对于重复元素:跳 阅读全文
posted @ 2020-04-08 17:08 弓呆的胖次 阅读(410) 评论(0) 推荐(0)
摘要:下载网址如下:https://nginx.org/en/download.html 下载稳定版即可,中间的好像是linux版本的,偏右侧是windows 2.下载解压之后,进入conf文件夹,找nginx.conf文件 只关注从上到下第一个server里的内容就好了 #user nobody; wo 阅读全文
posted @ 2020-04-03 22:56 弓呆的胖次 阅读(198) 评论(0) 推荐(0)