自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (3)
  • 收藏
  • 关注

原创 【LeetCode】1189. “气球” 的最大数量(Java)

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。class Solution { public int maxNumberOfBalloons(String text) { char[] ch = new char[26]; //统计字符串所有字符的个数 //统计每个字母的数量,下标为

2020-09-30 10:05:16 133

原创 【LeetCode】1455. 检查单词是否为句中其他单词的前缀(Java)

给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不是任何单词的前缀,则返回 -1 。字符串 S 的

2020-09-30 10:05:10 192

原创 【LeetCode】929. 独特的电子邮件地址(Java)

每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。除了小写字母,这些电子邮件还可能包含 ‘.’ 或 ‘+’。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点(’.’),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例如,"alice.z@leetcode.com” 和 “alicez@leetcode.com” 会转发到同一电子邮件地址。 (请注意,此规则不适用

2020-09-30 10:04:55 528

原创 【LeetCode】1332. 删除回文子序列(Java)

给你一个字符串 s,它仅由字母 ‘a’ 和 ‘b’ 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。解题思路这道题题意又不清晰,看题解后知道,这道题是脑筋急转弯,如果是回文字符串,直接删除,即返回1;如果不是回文,先删除所有的a,再删

2020-09-30 10:04:50 166

原创 【LeetCode】面试题 01.02. 判定是否互为字符重排(Java)

给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。class Solution { public boolean CheckPermutation(String s1, String s2) { //放到数组里,Arrays.sort排序后比较即可 char[] ch1 = s1.toCharArray(); Arrays.sort(ch1); char[] ch2 = s2.toCh

2020-09-30 10:04:36 137

原创 【LeetCode】521. 最长特殊序列 Ⅰ(Java)

给你两个字符串,请你从这两个字符串中找出最长的特殊序列。「最长特殊序列」定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列 可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。解题思路这道题题意也不清晰,其实讲了一大堆,就是想要a与b其中长度最长的数,只要有一个字符不同,就是独有的最长子序列,所以比较出a和b的长度,返回最长的即可,

2020-09-30 10:04:30 254

原创 【LeetCode】893. 特殊等价字符串组(Java)

你将得到一个字符串数组 A。每次移动都可以交换 S 的任意两个偶数下标的字符或任意两个奇数下标的字符。如果经过任意次数的移动,S == T,那么两个字符串 S 和 T 是 特殊等价 的。例如,S = “zzxy” 和 T = “xyzz” 是一对特殊等价字符串,因为可以先交换 S[0] 和 S[2],然后交换 S[1] 和 S[3],使得 “zzxy” -> “xzzy” -> “xyzz” 。现在规定,A 的 一组特殊等价字符串 就是 A 的一个同时满足下述条件的非空子集:该组中的

2020-09-30 10:04:18 149

原创 【LeetCode】344. 反转字符串(Java)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。class Solution { public void reverseString(char[] s) { //双指针翻转 for (int l = 0, r = s.length - 1; l < r; l+

2020-09-30 10:04:12 106

原创 【LeetCode】1374. 生成每种字符都是奇数个的字符串(Java)

给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。解法一class Solution { public String generateTheString(int n) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < n - 1; i

2020-09-30 10:03:57 141

原创 【LeetCode】1370. 上升下降字符串(Java)

给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。重复步骤 5 ,直到你没法从 s 中选择字符。重复步骤 1 到 6 ,直到 s 中

2020-09-30 10:03:51 94

原创 【LeetCode】1309. 解码字母到整数映射(Java)

给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符:字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。返回映射之后形成的新字符串。题目数据保证映射始终唯一。class Solution { public String freqAlphabets(String s) { StringBuilder builder = new Stri

2020-09-29 16:30:06 209

原创 【LeetCode】804. 唯一摩尔斯密码词(Java)

国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: “a” 对应 “.-”, “b” 对应 “-…”, “c” 对应 “-.-.”, 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".-

2020-09-29 16:30:02 94

原创 【LeetCode】709. 转换成小写字母(Java)

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。解法一class Solution { public String toLowerCase(String str) { char[] ch = str.toCharArray(); //遍历 for (int i = 0; i < ch.length; i++) { if (ch[i] &

2020-09-29 16:29:47 94

原创 【LeetCode】657. 机器人能否返回原点(Java)

在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。class Solution {

2020-09-29 16:29:39 65

原创 【LeetCode】1436. 旅行终点站(Java)

给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此只会有一个旅行终点站。class Solution { public String destCity(List<List<String>> paths) {

2020-09-29 16:29:32 180

原创 【LeetCode】1221. 分割平衡字符串(Java)

在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。解法一自己写的,写得不好,解法二是看题解后,优化的。class Solution { public int balancedStringSplit(String s) { int count = 0, l = 0, r = 0; char temp = 'x'; for (in

2020-09-29 16:29:11 140

原创 【LeetCode】面试题 02.02. 返回倒数第 k 个节点(Java)

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。解法一/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int kthToLast(ListNode head, int k) {

2020-09-29 16:29:05 143

原创 【LeetCode】1528. 重新排列字符串(Java)

给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。class Solution { public String restoreString(String s, int[] indices) { char[] arr = new char[indices.length]; //遍历,按照顺序放入即可 for (int

2020-09-29 16:28:59 201

原创 【LeetCode】1450. 在既定时间做作业的学生人数(Java)

给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返回能够使 queryTime 处于区间 [startTime[i], endTime[i]](含)的学生人数。class Solution { public int busyStudent(in

2020-09-29 16:28:52 109

原创 【LeetCode】1290. 二进制链表转整数(Java)

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { pu

2020-09-29 16:28:45 106

原创 【LeetCode】1266. 访问所有点的最小时间(Java)

平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。解题思路//Math.abs() : 取绝对值class Solution { public int minTimeToVisitAllPoints(int[][

2020-09-28 10:04:21 105

原创 【LeetCode】1295. 统计位数为偶数的数字(Java)

给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。解法一class Solution { public int findNumbers(int[] nums) { int count = 0; //遍历 for (int num : nums) { int digits = 0; //循环,判断 while (num > 0) {

2020-09-28 10:04:12 175

原创 【LeetCode】1365. 有多少小于当前数字的数字(Java)

给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。class Solution { public int[] smallerNumbersThanCurrent(int[] nums) { int[] arr = new int[nums.length];

2020-09-28 10:02:22 175

原创 【LeetCode】1342. 将数字变成 0 的操作次数(Java)

给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。class Solution { public int numberOfSteps (int num) { int count = 0; //循环,判断,运算 while (num != 0) { num = num % 2 == 0 ? num / 2 : num - 1; c

2020-09-28 10:02:15 113

原创 【LeetCode】1313. 解压缩编码列表(Java)

给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。请你返回解压后的列表。解法一使用ArrayListclass Solution { public int[] decompressRLElist(int[] nums) { List&l

2020-09-28 10:01:51 140

原创 【LeetCode】LCP 17. 速算机器人(Java)

小扣在秋日市集发现了一款速算机器人。店家对机器人说出两个数字(记作 x 和 y),请小扣说出计算指令:“A” 运算:使 x = 2 * x + y;“B” 运算:使 y = 2 * y + x。在本次游戏中,店家说出的数字为 x = 1 和 y = 0,小扣说出的计算指令记作仅由大写字母 A、B 组成的字符串 s,字符串中字符的顺序表示计算顺序,请返回最终 x 与 y 的和为多少。class Solution { public int calculate(String s) {

2020-09-28 10:01:45 177

原创 【LeetCode】1389. 按既定顺序创建目标数组(Java)

给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index 中都没有要读取的元素。请你返回目标数组。题目保证数字插入位置总是存在。class Solution { public int[] createTargetArray(int[] nums, in

2020-09-28 10:01:38 117 1

原创 【LeetCode】1281. 整数的各位积和之差(Java)

给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。class Solution { public int subtractProductAndSum(int n) { int product = 1; int sum = 0; while (n > 0) { int num = n % 10; product *= num; sum += n

2020-09-28 10:01:31 134

原创 【LeetCode】237. 删除链表中的节点(Java)

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 – head = [4,5,1,9],它可以表示为:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution {

2020-09-28 10:01:22 82

原创 【LeetCode】1108. IP 地址无效化(Java)

给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。class Solution { public String defangIPaddr(String address) { //直接使用String的API即可 return address.replace(".", "[.]"); }}...

2020-09-28 10:01:10 144

原创 【LeetCode】剑指 Offer 64. 求1+2+…+n(Java)

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。class Solution { int sum = 0; public int sumNums(int n) { //不能使用乘除法 //for、while、if、else、switch、case等关键字及条件判断语句 //本来想用公式的,不过仔细一看,不能使用乘除法

2020-09-24 14:07:43 145

原创 【LeetCode】2. 两数相加(Java)

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(i

2020-09-24 14:07:23 126

原创 【LeetCode】617. 合并二叉树(Java)

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。解题思路两颗二叉树的当前节点一共有四种情况:t1节点不为空,t2不为空t1节点不为空,t2为空t1节点为空,t2不为空t1节点为空,t2为空class Solution { //递归合并 public TreeNode mergeTr

2020-09-24 14:07:17 114

原创 【LeetCode】LCP 06. 拿硬币(Java)

桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。class Solution { public int minCount(int[] coins) { int count = 0; //遍历每一堆力扣币 for (int i : coins) { //每堆需要拿的次数,除2表示每次拿两枚,如果最后有取余多拿一次 c

2020-09-24 14:07:08 309

原创 【LeetCode】501. 二叉搜索树中的众数(Java)

给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树解题思路先遍历二叉树,把每个出现的数字,和数字的个数存放到map中,如果先遍历一次map的所有value,找出最大的出现次数max,和最大次数的相同个数count,创建count大的数组,再遍历map的所有key,如果map.get(key)等于最大值,则把key

2020-09-24 14:05:37 190

原创 【LeetCode】771. 宝石与石头(Java)

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。解法一class Solution { public int numJewelsInStones(String J, String S) { char[] j = J.toCharArray(); char[] s

2020-09-23 10:09:02 120

原创 【LeetCode】LCP 01. 猜数字(Java)

小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。class Solution { public int game(int[] guess, int[] answer) { int count = 0; //遍历,相等加1即可

2020-09-23 09:58:58 159

原创 【LeetCode】1588. 所有奇数长度子数组的和(Java)

给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。class Solution { public int sumOddLengthSubarrays(int[] arr) { int sum = 0; //第一个循环:每次读取的个数(1、3、5、...) for (int i = 1; i <= arr.length; i+=2) {

2020-09-23 09:47:20 381

原创 【LeetCode】1486. 数组异或操作(Java)

给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。class Solution { public int xorOperation(int n, int start) { int xor = start; //按照要求,循环异或即可 for (int i = 1; i <

2020-09-23 09:33:32 166

原创 【LeetCode】面试题 02.03. 删除中间节点(Java)

实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public void deleteNode(ListNode nod

2020-09-23 09:30:44 175

VisualGC.zip

jvisualvm的VisualGC插件,下载完成后进行解压,然后打开jvisualvm后打开工具-&gt;插件-&gt;已下载-&gt;添加插件,然后选中下载的nbm安装包进行安装,安装成功后重启即可。

2020-07-28

jconsole.nbm

jvisualvm的jconsole plugins插件,打开jvisualvm后打开工具->插件->已下载->添加插件,然后选中下载的nbm安装包进行安装,安装成功后重启即可。

2020-07-28

cglib.zip

内包含cglib-3.1和asm-all-5.0.3

2020-07-13

空空如也

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

TA关注的人

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