LEETCODE 1394. Find Lucky Integer in an Array 解题思路分析

题目大意:

找出数组中的幸运数

在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。

给你一个整数数组 arr,请你从中找出并返回一个幸运数。

  • 如果数组中存在多个幸运数,只需返回 最大 的那个。
  • 如果数组中不含幸运数,则返回 -1 
继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1395. Count Number of Teams 解题思路分析

题目大意:

统计作战单位数

n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。

每 3 个士兵可以组成一个作战单位,分组规则如下:

  • 从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rating[j]、rating[k]
  • 作战单位需满足: rating[i] < rating[j] < rating[k] 或者 rating[i] > rating[j] > rating[k] ,其中  0 <= i < j < k < n

请你返回按上述条件可以组建的作战单位数量。每个士兵都可以是多个作战单位的一部分。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1396. Design Underground System 解题思路分析

题目大意:

设计地铁系统

请你实现一个类 UndergroundSystem ,它支持以下 3 种方法:

1. checkIn(int id, string stationName, int t)

  • 编号为 id 的乘客在 t 时刻进入地铁站 stationName 。
  • 一个乘客在同一时间只能在一个地铁站进入或者离开。

2. checkOut(int id, string stationName, int t)

  • 编号为 id 的乘客在 t 时刻离开地铁站 stationName 。

3. getAverageTime(string startStation, string endStation) 

  • 返回从地铁站 startStation 到地铁站 endStation 的平均花费时间。
  • 平均时间计算的行程包括当前为止所有从 startStation 直接到达 endStation 的行程。
  • 调用 getAverageTime 时,询问的路线至少包含一趟行程。

你可以假设所有对 checkIn 和 checkOut 的调用都是符合逻辑的。也就是说,如果一个顾客在 t1 时刻到达某个地铁站,那么他离开的时间 t2 一定满足 t2 > t1 。所有的事件都按时间顺序给出。

继续阅读
发表在 leetcode | 标签为 , , , | 一条评论

LEETCODE 47. Permutations II 解题思路分析

题目大意:

给定一个可包含重复数字的序列,返回所有不重复的全排列。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 45. Jump Game II 解题思路分析

题目大意:

跳跃游戏 II

给定一个非负整数数组,你最初位于数组的第一个位置。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

你的目标是使用最少的跳跃次数到达数组的最后一个位置。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 43. Multiply Strings 解题思路分析

字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 37. Sudoku Solver 解题思路分析

题目大意:

解数独

编写一个程序,通过已填充的空格来解决数独问题。

一个数独的解法需遵循如下规则

  1. 数字 1-9 在每一行只能出现一次。
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。

空白格用 '.' 表示。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 38. Count and Say 解题思路分析

题目大意:

外观数列

「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:

1.     1
2.     11
3.     21
4.     1211
5.     111221

1 被读作  “one 1”  (“一个一”) , 即 11。
11 被读作 “two 1s” (“两个一”), 即 21。
21 被读作 “one 2”,  “one 1″ (”一个二” ,  “一个一”) , 即 1211。

给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。

注意:整数序列中的每一项将表示为一个字符串。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 16. 3Sum Closest 解题思路分析

题目大意:

最接近的三数之和

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 
与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 
继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 1389. Create Target Array in the Given Order 解题思路分析

题目大意:

按既定顺序创建目标数组

给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:

目标数组 target 最初为空。
按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。
重复上一步,直到在 nums 和 index 中都没有要读取的元素。

继续阅读
发表在 leetcode | 标签为 , , | 一条评论