1 | 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 |
醍醐灌顶
1 | class Solution { |
参考文献
1 | 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 |
醍醐灌顶
1 | class Solution { |
参考文献
1 | 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 |
最简单的动态规划
因为位置(i,j)只能由(i-1,j)或者(i,j-1)走到,因此dp[i][j]=Math.min(dp[i - 1][j], dp[i][j - 1])+ grid
,此外需要考虑边际条件,i-1<0
以及j-1<0
1 | class Solution { |
难度:中等
给你一个 无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
示例 1:
1 | 输入:intervals = [[1,3],[6,9]], newInterval = [2,5] |
示例 2:
1 | 输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] |
示例 3:
1 | 输入:intervals = [], newInterval = [5,7] |
示例 4:
1 | 输入:intervals = [[1,5]], newInterval = [2,3] |
示例 5:
1 | 输入:intervals = [[1,5]], newInterval = [2,7] |
提示:
0 <= intervals.length <= 104
intervals[i].length == 2
0 <= intervals[i][0] <= intervals[i][1] <= 105
intervals
根据 intervals[i][0]
按 升序 排列newInterval.length == 2
0 <= newInterval[0] <= newInterval[1] <= 105
1 | class Solution { |
1 |
|
作者:LeetCode-Solution来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 |
按照右边界排序
1 | class Solution { |
难度中等1159
给你一个整数数组 nums
,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
1 | 输入:nums = [1,2,3] |
示例 2:
1 | 输入:nums = [0] |
提示:
1 <= nums.length <= 10
-10 <= nums[i] <= 10
nums
中的所有元素 互不相同例子[5,2,9]
0/1 序列 | 子集 | 0/10/1 序列对应的二进制数 |
---|---|---|
000000 | {} | 0 |
001001 | {9} | 1 |
010010 | {2} | 2 |
011011 | {2,9} | 3 |
100100 | {5} | 4 |
101101 | {5,9} | 5 |
110110 | {5,2} | 6 |
111111 | {5,2,9} | 7 |
1 | class Solution { |
1 | class Solution { |
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/subsets/solution/zi-ji-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 |
哈希表方法
1 | class Solution { |
难度中等491
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?
网格中的障碍物和空位置分别用 1
和 0
来表示。
示例 1:
1 | 输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]] |
示例 2:
1 | 输入:obstacleGrid = [[0,1],[0,0]] |
提示:
m == obstacleGrid.length
n == obstacleGrid[i].length
1 <= m, n <= 100
obstacleGrid[i][j]
为 0
或 1
动态规划
如果在边缘有阻碍,那么改阻碍后面的都不可达
如果当前有障碍,那么当前的值是0
其余的是从i-1
,j-1
到来的
1 | class Solution { |
1 | class Solution { |
难度:中等
一个机器人位于一个 m x n
网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
示例 1:
1 | 输入:m = 3, n = 7 |
示例 2:
1 | 输入:m = 3, n = 2 |
示例 3:
1 | 输入:m = 7, n = 3 |
示例 4:
1 | 输入:m = 3, n = 3 |
提示:
1 <= m, n <= 100
2 * 109
暴力递归
1 | class Solution { |
动态规划
i-1
,j-1
到来的1 | class Solution { |
动态规划
1 |
|
1 | 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 |
插入排序
时间复杂度不符合要求
1 | /** |
自顶向下的归并排序
空间复杂度不符合要求
1 | class Solution { |
1 |
|
参考文献
作者:LeetCode-Solution来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 作者:LeetCode-Solution |
1 | 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 |
1 | class Solution { |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true