深度优先搜索

人生经验

1. 需要输出所有解、并由于元素集有重复元素,要求返回的结果需要去重的情况,可考虑使用值对应数量的map,然后分别考虑依次取不同数量该值的可能。

LeetCode39

题目:给定一堆数,每个数可以用无限多次,问凑出目标数target的结果集,要求不能重复。

题解:爆搜,设计为dfs(cur, target),cur为当前用第i个数,这个数用0到target / candidates[cur]个。

LeetCode 216

题目:给定数字1到9,从中选 k 个数,返回所有方案,要求方案中不包含相同数字,且答案中不包含相同的方案。

题解:爆搜,从1搜到9,「包含当前数的答案」 和 「不包含当前数答案」的并集组成题解。

LeetCode 22

  题目:给定括号数量,输出与之可能的括号序列。

  题解:设定条件,不能允许右括号数小于左括号,直接暴搜即可。

LeetCode 52

  题目:N皇后问题。

  题解:数据范围不大,回溯法即可。

LeetCode 473

  题目:给定一堆数,问可否由边长为这些数的的火柴,拼接出正方形。

  题解:暴搜 + 减枝,如果这些数不能整除4,则不可能;分别把这个数放到1、2、3、4号边进行搜索,若当前号边超过期望边值,则返回。

动态规划

人生经验

LeetCode 121

题目:股票买卖,只允许一次买卖的情况

题解:

方法1. 建立数组,分别存该点之后的最大价格,然后利用该数组对应点值减该点价格,取最大。

方法2. 动态规划,等于该点之前的最大收益,或者该点减去之前最低价格,这两种情况的最大收益。

LeetCode 122

题目:股票买卖,允许多次买卖。

题解:爬坡法。如果今天价格高于昨天价格,则可以进行一次买卖,即可以爬坡,累加即可。

LeetCode 72

题目:通过增、删、改,使一个字符串变为另一个字符串

题解:与LCS相同,定义dp[i][j]为word1在i位置,word2在j位置时,需要操作的次数。

人生经验

1. LeetCode 145

LeetCode 145

题目:用迭代实现二叉树后序遍历

题解:栈,将当前节点左子树依次入栈,如果遍历过了左子树,则将当前节点left置为null以标记,右子树同理。

LeetCode 105

题目:无重复节点,根据先序和中序遍历序列,构建二叉树。

题解:递归,先序序列第一个节点,即使根节点,可根据中序找到左右子数的节点,递归处理。

LeetCode 102

题目:层序遍历二叉树。

题解:采用单队列层序遍历,以NULL作为分隔符。

LeetCode一句话题解的更多相关文章

  1. Leetcode 简略题解 - 共567题

    Leetcode 简略题解 - 共567题     写在开头:我作为一个老实人,一向非常反感骗赞.收智商税两种行为.前几天看到不止两三位用户说自己辛苦写了干货,结果收藏数是点赞数的三倍有余,感觉自己的 ...

  2. LeetCode OJ 题解

    博客搬至blog.csgrandeur.com,cnblogs不再更新. 新的题解会更新在新博客:http://blog.csgrandeur.com/2014/01/15/LeetCode-OJ-S ...

  3. LeetCode 算法题解 js 版 (001 Two Sum)

    LeetCode 算法题解 js 版 (001 Two Sum) 两数之和 https://leetcode.com/problems/two-sum/submissions/ https://lee ...

  4. leetcode & lintcode 题解

    刷题备忘录,for bug-free 招行面试题--求无序数组最长连续序列的长度,这里连续指的是值连续--间隔为1,并不是数值的位置连续 问题: 给出一个未排序的整数数组,找出最长的连续元素序列的长度 ...

  5. LOJ 一本通一句话题解系列:

    第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按 ...

  6. [leetcode] 位操作题解

    子集 题目[78]:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1],   [2],   [ ...

  7. LeetCode 中等题解(3)

    34 在排序数组中查找元素的第一个和最后一个位置 Question 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂 ...

  8. LeetCode 中等题解(1)

    16 最接近的三数之和 Question 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和. ...

  9. noip做题记录+挑战一句话题解?

    因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...

随机推荐

  1. # 20155327 2016-2017-4 《Java程序设计》第9周学习总结

    20155327 2016-2017-4 <Java程序设计>第9周学习总结 20155327 2016-2017-4 <Java程序设计>第9周学习总结 教材学习内容总结 了 ...

  2. [leetcode] 13. Remove Duplicates from Sorted List

    这个题目其实不难的,主要是我C++的水平太差了,链表那里绊了好久,但是又不像用python,所以还是强行上了. 题目如下: Given a sorted linked list, delete all ...

  3. 教你如何学python

    首先,你要有自信心,要明确学习目的.学Python,可以解决在软件使用中所遇到的问题,可以为找到理想工作添加重要砝码.还能锻炼思维,使我们的逻辑思维更加严密:能不断享受到创新的乐趣,将走在高科技的前沿 ...

  4. 更改SQL Server中默认备份文件夹

    当你安装SQL Server时,安装路径一般如下:C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL.在这个目录下也有数据文件的文件夹和备份文件的文 ...

  5. Silverlight与JavaScript的交互操作

    Silverlight和JavaScript交互介绍以及简单Demo演示,主要包括JavaScript操作Silverlight数据.Silverlight操作JavaScript数据以及数据模版绑定 ...

  6. 201621123023《Java程序设计》第12周学习总结

    一.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 二.书面作业 本次PTA作业题集多线程 1. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书 ...

  7. ClamAV学习【8】——64位Windows7下编译运行实践

    之前用SourceInsight静态分析了ClamAV引擎源码,现在打算开始动态研究下.不过出师不利,一开始就遇到纠结的问题,能力还有待提高. 从官网下了一个VS2005工程的源码包(http://d ...

  8. 激活IDEA,pycharm方法

    1.修改hosts文件将0.0.0.0 account.jetbrains.com添加到hosts文件最后,注意hosts文件无后缀,如果遇到无法修改或权限问题,可以采用覆盖的方法去替换hosts文件 ...

  9. php—Smarty-2

    一.注释 *注释内容* Html注释显示客户端源文件中 Smarty注释不会发给客户端 Smarty的注释主要给模板设计者来看的 二.模板中的变量 l  由php文件分配 1)  普通变量 2)  数 ...

  10. css如何去掉select原始样式

    css代码: select { /*将默认的select选择框样式清除*/ appearance: none; -moz-appearance: none; -webkit-appearance: n ...