franki Blog

make a small progress every day

leetcode 62题

leetcode 62题 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例1 输入:m = 3, n = 7 输出:28 示例2 输入:m = 3, n = 2 输出:3 解释: 从左上角...

leetcode 61题

leetcode 61题 旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例1 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例2 输入:head = [0,1,2], k = 4 输出:[2,0,1] 思路 通过求余的方式,确定最终反转的位置 代码 /** * Definiti...

leetcode 60题

leetcode 60题 排列序列 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: “123” “132” “213” “231” “312” “321” 给定 n 和 k,返回第 k 个排列。 示例1 输入:n = 3, k = 3 输出:"213" ...

leetcode 59题

leetcode 59题 螺旋矩阵 II 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例1 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例2 输入:n = 1 输出:[[1]] 思路 顺时针打印,控制上下左右的边界 代码 /** * @param...

leetcode 57题

leetcode 57题 插入区间 给你一个 无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例1 输入:intervals = [[1,3],[6,9]], newInterval = [2,5] 输出:[[1,5],[6,9]] 示例2 输入:intervals = [[1,...

leetcode 56题

leetcode 56题 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例1 输入:intervals = [[1,3],[2,6],[8,10],[15,18]] 输出:[[1,6],[8,10],[15...

leetcode 55题

leetcode 55题 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例1 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。 示例2 输入:num...

leetcode 54题

leetcode 54题 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例1 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例2 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出:[1,2,...

leetcode 53题

leetcode 53题 最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例1 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例2 输入:nums = [1] 输出:1 思路 方法一:动态规划 方法二:举例 ...

leetcode 52题

leetcode 52题 N皇后 II n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 示例1 输入:n = 4 输出:2 解释:如上图所示,4 皇后问题存在两个不同的解法。 示例2 输入:n = 1 输出:1 思路 回溯算法 代码 /** * @pa...