每日一题
未读2140. 解决智力问题题目给你一个下标从 0 开始的二维整数数组 questions ,其中 questions[i] = [pointsi, brainpoweri] 。
这个数组表示一场考试里的一系列题目,你需要 按顺序 (也就是从问题 0 开始依次解决),针对每个问题选择 解决 或者 跳过 操作。解决问题 i 将让你 获得 pointsi 的分数,但是你将 无法 解决接下来的 brainpoweri 个问题(即只能跳过接下来的 brainpoweri 个问题)。如果你跳过问题 i ,你可以对下一个问题决定使用哪种操作。
比方说,给你
1questions = [[3, 2], [4, 3], [4, 4], [2, 5]]
如果问题 0 被解决了, 那么你可以获得 3 分,但你不能解决问题 1 和 2 。
如果你跳过问题 0 ,且解决问题 1 ,你将获得 4 分但是不能解决问题 2 和 3 。
请你返回这场考试里你能获得的 最高 分数。
示例 1:
1234567输入:questions = [[3,2],[4,3],[4,4],[2,5]]输出:5解 ...
2278. 字母在字符串中的百分比题目给你一个字符串 s 和一个字符 letter ,返回在 s 中等于 letter 字符所占的 百分比 ,向下取整到最接近的百分比。
示例 1:
1234输入:s = "foobar", letter = "o"输出:33解释:等于字母 'o' 的字符在 s 中占到的百分比是 2 / 6 * 100% = 33% ,向下取整,所以返回 33 。
示例 2:
1234输入:s = "jjjj", letter = "k"输出:0解释:等于字母 'k' 的字符在 s 中占到的百分比是 0% ,所以返回 0 。
提示:
1 <= s.length <= 100
s 由小写英文字母组成
letter 是一个小写英文字母
思路这题很简单,遍历就行了,值得注意的是
字符串s转为字符数组是用s.toCharArray()。还有字符串的长度是s.length()。
完整代码
12345678910cl ...
每日一题
未读2109.向字符串添加空格题目给你一个下标从 0 开始的字符串 s ,以及一个下标从 0 开始的整数数组 spaces 。
数组 spaces 描述原字符串中需要添加空格的下标。每个空格都应该插入到给定索引处的字符值 之前 。
例如,s = “EnjoyYourCoffee” 且 spaces = [5, 9] ,那么我们需要在 ‘Y’ 和 ‘C’ 之前添加空格,这两个字符分别位于下标 5 和下标 9 。因此,最终得到 “Enjoy *Your *Coffee” 。
请你添加空格,并返回修改后的字符串*。*
示例 1:
12345输入:s = "LeetcodeHelpsMeLearn", spaces = [8,13,15]输出:"Leetcode Helps Me Learn"解释:下标 8、13 和 15 对应 "LeetcodeHelpsMeLearn" 中加粗斜体字符。接着在这些字符前添加空格。
示例 2:
12345输入:s = "icodeinpython", spa ...
每日一题
未读239.滑动窗口最大值题目给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回 滑动窗口中的最大值 。
示例 1:
1234567891011输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3 6 7 5 1 3 -1 [-3 5 3] 6 7 5 1 3 -1 -3 [5 3 6] 7 6 1 3 -1 -3 5 [3 6 7] 7
示例 2:
12输入:nums = [1], k = 1输出:[1]
提示:
1 <= num ...
每日一题
未读2716. 最小化字符串长度题目给你一个下标从 0 开始的字符串 s ,重复执行下述操作 任意 次:在字符串中选出一个下标 i ,并使 c 为字符串下标 i 处的字符。并在 i 左侧(如果有)和 右侧(如果有)各 删除 一个距离 i 最近 的字符 c 。
请你通过执行上述操作任意次,使 s 的长度 最小化 。
返回一个表示 最小化 字符串的长度的整数。
示例 1:
123输入:s = "aaabc"输出:3解释:在这个示例中,s 等于 "aaabc" 。我们可以选择位于下标 1 处的字符 'a' 开始。接着删除下标 1 左侧最近的那个 'a'(位于下标 0)以及下标 1 右侧最近的那个 'a'(位于下标 2)。执行操作后,字符串变为 "abc" 。继续对字符串执行任何操作都不会改变其长度。因此,最小化字符串的长度是 3 。
示例 2:
123输入:s = "cbbd"输出:3解释:我们可以选择位于下标 1 处的字符 'b' 开 ...
Char和Character在 Java 中,Character 是一个 包装类(Wrapper Class),它属于 java.lang 包,用于将基本数据类型 char 封装成对象。
Character 的作用
它提供了一些静态方法,用于对字符进行操作(如判断字符类型、大小写转换等)。
在需要使用 对象 而不是基本类型 char 时(例如存储到 Set< Character > 或 List< Character >),Character 可以自动装箱(Autoboxing)和拆箱(Unboxing)。
char 和 Character 的区别
特性
char(基本类型)
Character(包装类)
类型
基本数据类型
类(对象)
默认值
‘\u0000’(空字符)
null
存储方式
直接存储字符值
存储 char 的引用
使用场景
高效,适用于简单字符操作
需要对象时(如集合 Set< Character >)
自动转换
自动装箱(char → Character)
自动拆箱(Character → char ...
Integer 和 int 的区别(通俗易懂版)本质区别
int 是 基本数据类型(Primitive Type),直接存储数值,效率高,但不能为 null。
Integer 是 包装类(Wrapper Class),是 int 的“对象版”,可以存储 null,并提供了一些额外方法(如类型转换、比较等)。
代码对比(1) 声明与赋值
1234567// int(基本类型)int num1 = 10; // 直接存储数值// num1 = null; // 错误!int不能为null// Integer(包装类)Integer num2 = 20; // 自动装箱(Java 5+)Integer num3 = null; // 允许为null
(2)方法调用
12345678// Integer 提供了一些实用方法Integer num4 = 30;System.out.println(num4.floatValue()); // 转换为float: 30.0System.out.println(num4.compareTo(20)); // 比较大小(结果: 1,因为30 ...
438. 找到字符串中所有字母异位词题目给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。
示例 1:
12345输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。
示例 2:
123456输入: s = "abab", p = "ab"输出: [0,1,2]解释:起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。
提示: ...
605.种花问题题目假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。
给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false 。
示例 1:
12输入:flowerbed = [1,0,0,0,1], n = 1输出:true
示例 2:
12输入:flowerbed = [1,0,0,0,1], n = 2输出:false
提示:
1 <= flowerbed.length <= 2 * 10^4
flowerbed[i] 为 0 或 1
flowerbed 中不存在相邻的两朵花
0 <= n <= flowerbed.length
解题思路一开始看见这道题目的时候就想到,既然不能花不能挨着,那就每三个0种一朵花。于是就有了这段代码
12345678910111213clas ...