JinFei's Blog

Thinking will not overcome fear but action will.

[LeetCode]789. 逃脱阻碍者

距离

题目描述 你在进行一个简化版的吃豆人游戏。你从 [0, 0] 点开始出发,你的目的地是 target = [xtarget, ytarget] 。地图上有一些阻碍者,以数组 ghosts 给出,第 i 个阻碍者从 ghosts[i] = [xi, yi] 出发。所有输入均为 整数坐标 。 每一回合,你和阻碍者们可以同时向东,西,南,北四个方向移动,每次可以移动到距离原位置 1 个单位 ...

[LeetCode]443. 压缩字符串

字符串压缩

题目描述 给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。 否则,需要向 s 追加字符,后跟这一组的长度。 压缩后得到的字符串 s 不应该直接返回 ,需要转储到字符数组 chars 中。需要注意的是,如果组长度为 10 或 10 以上,则在 chars 数组中会...

[LeetCode]551. 学生出勤记录 I

反转字符串

题目描述 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符: ‘A’:Absent,缺勤 ‘L’:Late,迟到 ‘P’:Present,到场 如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励: 按 总出勤 计,学生缺勤(’A’)严格 少于两天。 学生 不会 存在 连续 3 天或 连续 3 天以上的迟到...

[LeetCode]345. 反转字符串中的元音字母

反转字符串

题目描述 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。 元音字母包括 ‘a’、’e’、’i’、’o’、’u’,且可能以大小写两种形式出现。 Example 1: 输入:s = “hello” 输出:”holle” Example 2: 输入:s = “leetcode” 输出:”leotcede” Constraints: 1 &...

[LeetCode]516. 最长回文子序列

回文子序列

题目描述 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 Example 1: 输入:s = “bbbab” 输出:4 解释:一个可能的最长回文子序列为 “bbbb” 。 Example 2: 输入:s = “cbbd” 输出:2 解释:一个可能的最长回文...

[LeetCode]611. 有效三角形的个数

三角形的满足条件

题目描述 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 Example 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 Constraints: 数组长度不超过1000。 数组里整数的范围为 [0, 1000]。 解题思路 ...

[LeetCode]881. 救生艇

最大和最小一条船,贪心策略

题目描述 第i个人的体重为 people[i],每艘船可以承载的最大重量为limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 Example 1: 输入:people = [1,2], limit = 3 输出:1 解释:1 艘船载 (1, 2) Example 2: 输入:p...

[LeetCode]5854. 学生分数的最小差值

k组数据中最大和最小差值

题目描述 给你一个下标从0开始的整数数组nums,其中nums[i]表示第i名学生的分数。另给你一个整数k。 从数组中选出任意k名学生的分数,使这 k 个分数间最高分和最低分的差值达到最小化 。 返回可能的最小差值 。 Example 1: 输入:nums = [90], k = 1 输出:0 解释:选出 1 名学生的分数,仅有 1 种方法: [90] 最高分和...

[LeetCode]120. 三角形最小路径和

类似于字符串的全遍历

题目描述 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 Example 1: 输入:triangle = [[2],[3...

[LeetCode]LCP 30. 魔塔游戏

是否有足够的血来掏出屋子

题目描述 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值;负数表示怪物造成伤害值,即血量减少对应数值;0 表示房间对血量无影响。 小扣初始血量为 1,且无上限。假定小扣原计划按房间编号升序访问所有房间补血/打怪,为保证血量始终为正值,小扣需对房间访问顺序进行调整,...