franki Blog

make a small progress every day

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...

leetcode 51题

leetcode 51题 N 皇后 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。 示例1 输入:n = 4 输出:[[".Q..","...Q","Q......

leetcode 50题

leetcode 50题 Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。 示例1 输入:x = 2.00000, n = 10 输出:1024.00000 示例2 输入:x = 2.10000, n = 3 输出:9.26100 思路 递归 代码 const myPow = (x, n) => { if (n =...

leetcode 49题

leetcode 49题 字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例1 输入: ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 思路 方法一: 排序 方法二:计...

leetcode 48题

leetcode 48题 旋转图像 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例1 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8,5,2],[9,6,3]] 示例2 ...

leetcode 41题

leetcode 41题 缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例1 输入:nums = [1,2,0] 输出:3 示例2 输入:nums = [3,4,-1,1] 输出:2 示例3 输入:nums = [7,8,9,11,12] 输出:1 ...

leetcode 39题

leetcode 39题 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例1 输入:candidates = [2,3,6,7], ...

leetcode 35题

leetcode 35题 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例1 输入: [1,3,5,6], 5 输出: 2 示例2 输入: [1,3,5,6], 2 输出: 1 思路 二分搜索 找到最后一个小于target的值 代码 /** * ...

leetcode 34题

leetcode 34题 在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例1 输入:nums = [5,7,7,8,8,10...