自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2591. 将钱分给最多的儿童(Java)

2591. 将钱分给最多的儿童(Java)

2023-09-22 23:03:37 210

原创 LCP 50. 宝石补给(Java)

LCP 50. 宝石补给(Java)

2023-09-15 22:13:26 172

原创 1222. 可以攻击国王的皇后(Java)

1222. 可以攻击国王的皇后(Java)

2023-09-14 23:58:46 65

原创 2596. 检查骑士巡视方案(Java)

2596. 检查骑士巡视方案(Java)

2023-09-13 22:29:47 108

原创 2594. 修车的最少时间(Java)

2594. 修车的最少时间(Java)

2023-09-08 00:00:06 139

原创 2605. 从两个数字数组里生成最小数字(Java)

2605. 从两个数字数组里生成最小数字(Java)

2023-09-05 22:54:49 94

原创 219.存在重复元素II(Java)

219.存在重复元素II(Java)

2021-05-30 18:33:18 72

原创 290.单词规律(Java)

290.单词规律(Java)

2021-05-28 17:58:30 122

原创 24.两两交换链表中的节点(Java---链表的旋转与反转)

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100/** * Definition for singly-linked list.

2021-05-23 13:42:26 88

原创 61.旋转链表(Java---链表的旋转与反转)

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]示例 2:输入:head = [0,1,2], k = 4输出:[2,0,1]提示:链表中节点的数目在范围 [0, 500] 内-100 <= Node.val <= 1000 <= k <= 2 * 109/** * public class ListNode { *

2021-05-21 15:43:06 157

原创 203.移除链表元素(Java---链表的删除)

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]提示:列表中的节点在范围 [0, 104] 内1 <= Node.val <=

2021-05-20 09:55:39 100

原创 227.基本计算器II(Java---栈与计算器)

给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。示例 1:输入:s = “3+2*2”输出:7示例 2:输入:s = " 3/2 "输出:1示例 3:输入:s = " 3+5 / 2 "输出:5提示:1 <= s.length <= 3 * 105s 由整数和算符 (’+’, ‘-’, ‘*’, ‘/’) 组成,中间由一些空格隔开s 表示一个 有效表达式表达式中的所有整数都是非负整数,且在范围 [0, 23

2021-05-18 21:14:19 64

原创 逆波兰表达式(Java)

逆波兰表达式(Java)

2021-05-18 16:54:39 98

原创 KMP(Java)

KMP(Java)

2021-05-16 22:09:53 50

原创 507.完美数(Java---简单数学题)

对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true,否则返回 false示例 1:输入:28输出:True解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所有正因子。示例 2:输入:num = 6输出:true示例 3:输入:num = 496输出:true示例 4:输入:num = 8128输出:true示例 5:输

2021-05-16 21:21:10 140

原创 168.Excel表列名称(Java---数字的位操作)

给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C…26 -> Z27 -> AA28 -> AB…示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: “ZY”相似题目: 171//除 26法class Solution { public String convertToTitle(int columnNu

2021-05-16 11:15:54 83

原创 171.Excel表列序号(Java---数字的位操作)

给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3…Z -> 26AA -> 27AB -> 28…示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28示例 3:输入: “ZY”输出: 701/***列名称类似于 26进制数,不同在于没有 0*所以低位满 26无进位表示,即* 26为 Z而非 A0*/class Solution { p

2021-05-16 10:37:29 124

原创 191.位1的个数(Java---数字的位操作)

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 0000000000000000000000001000

2021-05-13 23:01:55 82

原创 5.最长回文子串(Java---中心拓展法)

给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成class Solution { public String lon

2021-05-11 21:45:38 75

原创 28.实现strStr()(Java---字符串匹配)

实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。示例 1:输入:haystack = “hello”, needle = “ll”输出:2示例 2:输入:haysta

2021-05-07 22:22:13 87

原创 68.文本左右对齐

68.文本左右对齐

2021-05-05 17:09:13 355

原创 6.Z字形变换(Java---字符串变换)

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。示例 1:输入:s = “PAYPALISHIRING”, numRows = 3输出:“PAHNAPLSIIGYIR”解释:P      A     H      NA  P  L  S  I    I  GY      I      R示例 2:输入:s = “PAYPALISHIRING”, numRows = 4输出:“PINALSIGYAHRPI”解释:P        I

2021-05-04 19:02:42 114

原创 43.字符串相乘(Java---高精度运算)

给定两个以字符串形式表示的非负整数 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 本身。不能使用任何标准库的大数类型(比

2021-05-04 11:25:39 165

原创 66.加一(Java---高精度运算)

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]提示:1 <=

2021-05-04 10:01:17 104

原创 392.判断子序列(Java---子序列)

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。进阶:如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。示例 1:输入:s = “abc”, t = “ahbgdc”输出:true示例 2:输入:s = “axc”, t = “ahbgdc”输出:false提示:0 <= s.len

2021-05-03 23:39:04 148

原创 13.罗马数字转整数(Java---数字与字符串间转换)

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000通常情况下,罗马数字中小的数字在大的数字的右边。但也存在六种情况:I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

2021-05-03 18:48:47 149

原创 8.字符串转换整数(Java---数字与字符串间转换)

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“123”

2021-05-03 17:33:34 290

原创 443.压缩字符串(Java---数字与字符串间转换)

给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:[“a”,“a”,“b”,“b”,“c”,“c”,“c”]输出:返回 6 ,输入数组的前 6 个字符应该是:[“a”,“2”,“b”,“2”,“c”,“3”]说明:“aa” 被 “a2” 替代。“bb” 被 “b2” 替代。“ccc” 被

2021-05-02 11:30:41 225 1

原创 38.外观数列(Java---数字与字符串间转换)

给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”描述前一项,这个数是 11 即 “ 二

2021-04-29 09:32:09 72

原创 696.计数二进制子串(Java---字符的统计)

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

2021-04-28 13:47:31 95

原创 451.根据字符出现频率排序(Java---字符的统计)

给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字母必须放在一起。示例 3:输入:“Aabb”输出:“bbAa

2021-04-27 22:31:57 144

原创 49.字母异位词分组(Java----字符的统计)

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。class Solution { public List<List<String>> groupAnagrams(Stri

2021-04-27 19:02:49 78

原创 383.赎金信(Java---字符的统计)

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。示例 1:输入:ransomNote = “a”, magazine = “b”输出:false示例 2:输入:ransomNote = “aa”, magazine = “ab”输出:false示例 3:输入:ransomNote = “aa”, magazin

2021-04-27 15:15:03 59

转载 387.字符串中的第一个唯一字符(Java---字符的统计)

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = “leetcode”返回 0s = “loveleetcode”返回 2提示:你可以假定该字符串只包含小写字母。class Solution { public int firstUniqChar(String s) { int onlyCharIndex = -1; //哈希表键为字符,值为出现次数 Map<Character

2021-04-27 14:35:14 43

原创 557.反转字符串中的单词III(Java---字符串的反转)

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入:“Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”提示:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。class Solution { public String reverseWords(String s) { int end = 0; int count

2021-04-27 10:29:10 86

原创 541.反转字符串II(Java---字符串的反转)

给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例:输入: s = “abcdefg”, k = 2输出: “bacdfeg”提示:该字符串只包含小写英文字母。给定字符串的长度和 k 在 [1, 10000] 范围内。class Solution { public String re

2021-04-27 09:28:52 117

原创 344.反转字符串(Java---字符串的反转)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。原地修改输入数组、使用 O(1) 的额外空间。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]class Solution { public void reverseString(char[] s) {

2021-04-25 23:29:33 68

原创 58.最后一个单词的长度(Java---单词)

给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = “Hello World”输出:5示例 2:输入:s = " "输出:0提示:1 <= s.length <= 104s 仅有英文字母和空格 ’ ’ 组成//从右向左遍历计算第一个单词长度class Solution { public int len

2021-04-25 23:21:16 81

原创 434.字符串中的单词数(Java---单词)

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: “Hello, my name is John”输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。class Solution { public int countSegments(String s) { int count = 0; for(int i = 0; i < s

2021-04-25 17:55:32 74

原创 14.最长公共前缀(Java---公共前缀)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成class So

2021-04-25 17:01:11 105

空空如也

空空如也

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

TA关注的人

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