leetcode 51 - 218. 天际线问题
题目:
城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。
给你所有建筑物的位置和高度,请返回 由这些建筑物形成的 天际线 。
每个建筑物的几何信息由数组 buildings 表示,其中三元组 buildings[i] = [lefti, righti, heighti] 表示:
lefti 是第 i 座建筑物左边缘的 x 坐标。
righti 是第 i 座建筑物右...
2020-01-23 02:09:32 |
Algorithm
leetcode 51 - 217. Contains Duplicate 存在重复元素 哈希?位运算?插入排序?
题目:
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
示例 1:
输入:nums = [1,2,3,1]
输出:true
示例 2:
输入:nums = [1,2,3,4]
输出:false
示例 3:
输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true
提示:
...
2020-01-23 02:09:32 |
Algorithm
leetcode 50 - 214. 最短回文串 shortest-palindrome
214. 最短回文串
给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。
示例 1:
输入:s = "aacecaaa"
输出:"aaacecaaa"
示例 2:
输入:s = "abcd"
输出:"dcbabcd"
```
提示:
0 <= s.length <= 5 * 10^4
s 仅由小写英...
2020-01-23 02:09:32 |
Algorithm
leetcode 49 209. Minimum Size Subarray Sum 双指针 binary-search 二分法查找
209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
示例 1:
输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释...
2020-01-23 02:09:32 |
Algorithm
leetcode 48 - Trie (Prefix Tree) 实现 Trie 前缀树
208 实现 Trie (前缀树)
208. Implement Trie (Prefix Tree)
Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。
请你实现 Trie 类:
Trie() 初始化前缀树对象。
void insert(String word)...
2020-01-23 02:09:32 |
Algorithm
leetcode 47 207. Course Schedule 课程表 DFS/BFS
207. 课程表
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。
在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。
例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你...
2020-01-23 02:09:32 |
Algorithm
leetcode 46 204. Count Primes count-primes 素数的判断算法 Sieve of Eratosthenes
204. Count Primes
给定一个整数 n,返回严格小于 n 的素数的个数。
Ex
Example 1:
Input: n = 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.
Example 2:
Input: n = 0
Output: 0
...
2020-01-23 02:09:32 |
Algorithm
leetcode 45 198. House Robber DP/动态规划
198. House Robber
你是一名职业强盗,计划沿街抢劫房屋。
每个房子都藏有一定数量的钱,阻止你抢劫每个房子的唯一限制是相邻的房子有连接的安全系统,如果两个相邻的房子在同一晚被闯入,它会自动联系警察。
给定一个整数数组 nums,代表每个房子的金额,返回今晚在不报警的情况下可以抢劫的最大金额。
EX
Example 1:
Input: nums = [1,2,3,1]...
2020-01-23 02:09:32 |
Algorithm