Skip to content

Latest commit

 

History

History
104 lines (68 loc) · 3.87 KB

01.05.03-Exercises.md

File metadata and controls

104 lines (68 loc) · 3.87 KB

01.05.03 练习题目(第 13 天)

1.1 题目大意

描述:给定一个数组 $nums$,和一个值 $val$

要求:不使用额外数组空间,将数组中所有数值等于 $val$ 值的元素移除掉,并且返回新数组的长度。

说明

  • $0 \le nums.length \le 100$
  • $0 \le nums[i] \le 50$
  • $0 \le val \le 100$

示例

  • 示例 1:
输入nums = [3,2,2,3], val = 3
输出2, nums = [2,2]
解释函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2你不需要考虑数组中超出新长度后面的元素例如函数返回的新长度为 2 nums = [2,2,3,3]  nums = [2,2,0,0],也会被视作正确答案
  • 示例 2:
输入nums = [0,1,2,2,3,0,4,2], val = 2
输出5, nums = [0,1,4,0,3]
解释函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4注意这五个元素可为任意顺序你不需要考虑数组中超出新长度后面的元素

2.1 题目大意

描述:给定一个有序数组 $nums$

要求:在原数组空间基础上删除重复出现 $2$ 次以上的元素,并返回删除后数组的新长度。

说明

  • $1 \le nums.length \le 3 * 10^4$
  • $-10^4 \le nums[i] \le 10^4$
  • $nums$ 已按升序排列。

示例

  • 示例 1:
输入nums = [1,1,1,2,2,3]
输出5, nums = [1,1,2,2,3]
解释函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3不需要考虑数组中超出新长度后面的元素
  • 示例 2:
输入nums = [0,0,1,1,1,1,2,3,3]
输出7, nums = [0,0,1,1,2,3,3]
解释函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3不需要考虑数组中超出新长度后面的元素

3.1 题目大意

描述:你的朋友正在使用键盘输入他的名字 $name$。偶尔,在键入字符时,按键可能会被长按,而字符可能被输入 $1$ 次或多次。

现在给定代表名字的字符串 $name$,以及实际输入的字符串 $typed$

要求:检查键盘输入的字符 $typed$。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),就返回 True。否则返回 False

说明

  • $1 \le name.length, typed.length \le 1000$
  • $name$$typed$ 的字符都是小写字母。

示例

  • 示例 1:
输入name = "alex", typed = "aaleex"
输出true
解释'alex' 中的 'a'  'e' 被长按
  • 示例 2:
输入name = "saeed", typed = "ssaaedd"
输出false
解释'e' 一定需要被键入两次但在 typed 的输出中不是这样

习题解析

  1. 0027. 移除元素」习题解析:网页链接Github 链接
  2. 0080. 删除有序数组中的重复项 II」习题解析:网页链接Github 链接
  3. 0925. 长按键入」习题解析:网页链接Github 链接