字符串转换整数 (atoi)详解

请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连...

航班预订统计算法详解

这里有 n 个航班,它们分别从 1 到 n 进行编号。 我们这儿有一份航班预订表,表中第 i 条预订记录 bookings[i] = [i, j, k] 意味着我们在从 ...

接雨水算法详解

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。       上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,...

欧拉素数筛选算法详解

给定一个正整数n,找到其范围内的所有素数,并利用最小的时间复杂度 这道题在面试的时候,面试官给了一个小时且不断提示都没能做到完美。。。 用了欧拉筛选这个数学方法,主要有两点 1.标记出非素数 2.标记的过程中 只判断必要的 #i...

删除排序数组中的重复项算法详解

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。   示例 1...

全排列 51 n皇后问题算法详解

给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]] 解:这道题时典型的回溯法,把所有...

零钱兑换算法详解

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2,...

解数独算法详解

编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以...

不同路径算法详解

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径?  ...

最小路径算法详解

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入:[  [1,3,1], [1,5,1...