算法学习之状态的定义和状态转移

Jackey C/C++ 1,828 次浏览 1 评论 , ,
题目要求: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 ...

算法学习之发现重叠子问题

Jackey C/C++ 1,958 次浏览 0 评论 ,
题目要求: 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: 10 ...

算法学习之动态规划法-爬楼梯

Jackey C/C++ 1,733 次浏览 0 评论 ,
题目要求: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: ...

算法学习之斐波那契数列

Jackey C/C++ 1,968 次浏览 0 评论 , ,
什么是斐波那契数列? 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2...

算法学习之N皇后

Jackey C/C++ 1,986 次浏览 0 评论 ,
题目要求: n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题...

算法学习之floodfill算法

Jackey C/C++ 2,022 次浏览 0 评论 ,
题目要求: 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网...

算方法学习之二维平面上的回溯法

Jackey C/C++ 1,839 次浏览 0 评论 , ,
题目要求: 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格...

算法学习之组合问题

Jackey C/C++ 1,542 次浏览 0 评论 ,
题目要求: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。   示例 1: 输入:n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], ...

Golang 跳出 for-switch 和 for-select 代码块

Jackey Golang 2,115 次浏览 0 评论
没有指定标签的 break 只会跳出 switch/select 语句,若不能使用 return 语句跳出的话,可为 break 跳出标签指定的代码块: // break 配合 label 跳出指定代码块 func main() { loop: for { s...

算法学习之排列问题

Jackey C/C++ 1,790 次浏览 0 评论 ,
题目要求: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。   示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3...

算法学习之树形问题

Jackey C/C++ 1,777 次浏览 0 评论 ,
题目要求: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:d...

Golang闭包取值陷阱

Jackey Golang 1,723 次浏览 0 评论 ,
运行一下代码查看输出情况: func main() { tests1ice := []int{1, 2, 3, 4, 5} for _, v := range tests1ice { go func() { fmt.Println(v) }() } time.Sl...

算法学习之二分搜索树中的问题

Jackey C/C++ 1,784 次浏览 0 评论 ,
题目要求: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深...

算法学习之路径总和2

Jackey C/C++ 1,776 次浏览 0 评论 ,
题目要求: 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(...

算法学习之二叉树所有的路径

Jackey C/C++ 1,596 次浏览 0 评论 ,
题目要求: 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root = [1,2,3,null,5] 输出:["1->2->5","1-&...
Go