4 是晓Xiao哦

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

LeetCode第64题最小路径和

题目来源题目描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。代码class Solution { public int minPathSum(int[][] grid) { if(grid == null || grid.length ==

2020-10-26 19:08:13

线程池

目录为什么要使用线程池如何创建线程池核心参数线程池的处理流程和原理常用的阻塞队列1、 ArrayBlockingQueue2、LinkedBlockingQueue3、PriorityBlockingQueue4、SynchronousQueue5、DelayedQueue饱和策略线程池的种类FixedThreadPoolCachedThreadPoolSingleThreadExecutorScheduledThreadPool为什么要使用线程池控制并发的数量,并发数量过多,可能会导致资源消耗过多

2020-10-12 14:56:44

LeetCode第918题环形子数组的最大和

题目来源题目描述给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],且当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 C[i], C[i+1], …, C[j],不存在 i <= k1, k2 <= j 其中 k1 % A

2020-10-11 16:47:39

单例模式

目录单例模式饿汉模式懒汉模式(线程不安全)懒汉模式(线程安全)双重检查模式 DCL(Double-Check-locking)单例模式单例模式解决的两个基本问题:全局访问和实例化控制优点:单例模式保证唯一的实例和唯一实例的受控访问因为Sinleton封装它的唯一实例,这样它可以严格地控制客户怎么访问它以及何时访问它。饿汉模式静态初始化在类加载时就完成了初始化,提前占用系统资源public class Singleton { //静态初始化 private static Singleton

2020-10-09 21:37:39

LeetCode第406题根据身高重建队列

题目来源题目描述假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]...

2020-10-04 17:00:43

LeetCode第452题用最少数量的箭引爆气球

题目来源题目描述在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们

2020-10-04 16:43:09

LeetCode第435题无重叠区间

题目来源题目描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。示例 3:输入

2020-10-04 16:10:38

LeetCode第455题分发饼干

题目来源题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。一个小朋友最多只能拥有一块饼干。示例 1:输入: [1,2,3], [1,1]输出: 1解

2020-10-04 15:46:15

LeetCode第524题通过删除字母匹配到字典里最长单词

题目来源题目描述给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。如果答案不存在,则返回空字符串。示例 1:输入:s = “abpcplea”, d = [“ale”,“apple”,“monkey”,“plea”]输出:“apple”示例 2:输入:s = “abpcplea”, d = [“a”,“b”,“c”]输出:“a”说明:所有输入的字符串只包含小写字母。字典

2020-10-04 15:23:59

LeetCode第680题 验证回文字符串 Ⅱ

题目来源题目描述给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。代码class Solution { public boolean validPalindrome(String s) { for(int i = 0, j = s.length() - 1

2020-09-30 11:05:06

LeetCode第191题 位1的个数

题目来源题目描述编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 ‘1’。示例 3:

2020-09-30 10:54:25

LeetCode第345题反转字符串中的元音字母

题目来源题目描述编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入:“hello”输出:“holle”示例 2:输入:“leetcode”输出:“leotcede”提示:元音字母不包含字母 “y”代码class Solution { public String reverseVowels(String s) { if(s == null || s.length() == 0) return s; String vowels

2020-09-28 19:02:27

LeetCode第633题平方数之和

题目来源题目描述给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5示例2:输入: 3输出: False解题思路可以把这个问题转为:求解1~target的有序数组中查找两个数,使得这两个数的平方和为target,如果能找到,则返回true,表示target是两个整数的平方和。注意点输入: 2输出: True解释: 1 * 1 + 1 * 1 = 5左边的指针应为

2020-09-28 16:36:11

LeetCode第696题计数二进制子串

题目来源题目描述给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: “00110011”输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数。另外,“00110011”不是有效的子串,因为所有的0(和1)没有组合在一起。示例 2 :输入:

2020-09-28 15:57:25

剑指 Offer 61. 扑克牌中的顺子

题目来源题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13]题意理解把5张牌看成由5个数字组成的数组。大王和小王是比较特殊的牌,我们把它们定义为0。判断5张扑克牌是不是顺子,转化为判断

2020-09-26 11:20:36

LeetCode第82题删除排序链表中的重复元素 II

题目来源题目描述给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3代码/** * Definition for singly-linked list. * public class ListNode { * int val;

2020-09-25 19:48:50

LeetCode第83题 删除排序链表中的重复元素

题目来源题目描述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNod

2020-09-25 16:54:51

LeetCode第20题有效的括号

题目来源题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true解题思路使用

2020-09-24 15:26:35

LeetCode第1143题最长公共子序列

题目来源给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = “abcde”, text2 =

2020-09-24 10:26:38

Java程序初始化的顺序

执行顺序父类静态变量 ,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块, 子类构造函数原因在java语言中,当实例化对象时,对象所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化,才会调用对象所在类的构造函数创建对象。在《深入理解java虚拟机》中提到,在初始化阶段,虚拟机规范严格规定了有且只有5种情况必须立即对类进行“初始化”,其中提到,(1)遇到getstatic,putstatic,invokest

2020-09-23 16:33:13

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。