永远别高估自己的自制力啊,疲软期明显比我预料的来得早的多。

今天刷了一张回溯算法的小卡片,过程磕磕绊绊,似懂非懂。

1.Leetcode 电话号码的字母组合

回溯算法一般过程是多写一个回溯的方法,然后在主方法中加条件判断,记录当前状态,进入回溯方法,退出后再回到回溯前的状态。

本题先创建一个静态字符数组,存放按键上的字符串,同时初始化一个stringbuffer对象,用于存放每一个子字符串。

边界条件是层次n等于输入“23”的长度时,将生成的串塞进list,然后回溯。

2.Leetcode 生成括号

回溯方法中加两个参数 left right = 括号数,保证left<=right, 当他俩都为0时 存储生成的字符串 并回溯。

3.Leetcode 全排列

4.Leetcode 子集

5.单词搜索

回溯算法和递归的差别

https://blog.csdn.net/u014772862/article/details/51789015

回溯的概念:

从问题的某一种可能出发, 搜索从这种情况出发所能达到的所有可能, 当这一条路走到” 尽头 “的时候, 再倒回出发点, 从另一个可能出发, 继续搜索. 这种不断” 回溯 “寻找解的方法, 称作” 回溯法 “。

回溯是一种试探,类似穷举,但是有剪枝功能(加if判断就行)。

递归:

为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态……这种用自已来定义自己的方法,称为递归定义。   

绕一点讲,递归是一种算法结构,而回溯是一种算法思想,可以用递归实现。

递归的本质

其实递归的本质就是找到前后的联系,找到递归的公式

例如    F(n) = F(n-1) + F(n-2) 等等

递归的一般情况是

(1). if(满足递归结束条件),返回值

(2). else,继续递归

回溯的本质,其实是在递归基础上进行了改进

(1). if(不满足继续递归查找的条件,通常是界限判断),返回

(2). if(满足查找条件),记录下来,继续往下

(3). 加入这个节点,更新条件和值

(4). 递归左边

(5).递归右边

(6). 删除这个节点(回溯)

明后天滑雪,要断更两天,希望回来还能好好继续吧。。

是一定要继续啊TT

转载于:https://www.cnblogs.com/machach/p/10082679.html

天寒宜早睡,梦醒闻雪声,倒计时83相关推荐

  1. G - 娜娜梦游仙境系列——梦醒

    G - 娜娜梦游仙境系列--梦醒 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  2. 红尘梦醒雪无踪,花落无息香如故

    如果情感和岁月也能轻轻撕碎,扔到海中,那么,我愿意从此就在海底沉默-你的言语,我爱听,却不懂得,我的沉默,你愿见,却不明白. --张爱玲 我是一枝寂寞的寒梅,皑皑白雪里你只是看到了我的妩媚,有谁知道, ...

  3. 为什么别人一直都很精神,而我老是睡不醒

    许多学霸大神学习了一天都不会犯困,而我怎么一天天的就是睡不醒呢?为什么别人学习十个小时都不会困,其实做到这些,你也会保持旺盛精力! 一.学霸适应并沉浸了学习状态 那么为什么你不能适应这种状态,因为学习 ...

  4. 天天都睡不醒?几个方法帮你摆脱“特困生”

    帮大家整理了一些小方法,让你一下摆脱特困生~ 一.是什么让你成为"特困生"的? 1.睡眠质量不好 影响睡眠质量的原因很多,最主要的原因是睡眠时间不足和精神状态不好.睡眠时间不足.很 ...

  5. 我是如何做到早睡早起的

    不管白天黑夜,停止摄入咖啡因(咖啡和茶等等) 1.个人感觉,咖啡因虽让人感觉只有提神一两个小时,但是晚上睡眠质量不好和入睡困难都是由他导致 2. 停止咖啡因之后会有一段时间精神萎靡.头痛,请安排好这一 ...

  6. 互联网大厂程序员梦醒时分:攒够400万,到40岁退休

    梦醒之后,每个人对于这份职业的未来.互联网行业的未来,以及更重要的,自己的未来都有了更现实的判断. 文 | 祝颖丽  来源 | 晚点LatePost 一个生于 1986 年的人,他所走过的前半生: 从 ...

  7. 梦醒时分,身边却没有女人。

    这一夜我做了个梦,梦醒时分,发现身边没有女人. 在工作中当我压力很大时,我就会做噩梦,在梦中释放压力. 今夜我做了个奇怪的梦,我把我的JJ和服务器梦到了一块,当我启动服务,打开开发端时,我醒了,发觉J ...

  8. OSChina 周四乱弹 ——我也得了晚上睡不着白天睡不醒症!

    2019独角兽企业重金招聘Python工程师标准>>> [今日歌曲] @Lailysh : #毎日の歌# ニッポン笑顔百景 ー桃黒亭一門 <ニッポン笑顔百景> ー桃黒亭一 ...

  9. 【英语】睡不醒的November

    [英语]睡不醒的November 这个月的时间感觉大部分都荒废了 ,尤其是后半个月,很多课都停了.每天可自由支配的时间大大的增加了.但是仔细想想好像每天大部分的时间都被我睡过去了,计算机进度上并没有什 ...

最新文章

  1. 产品经理的必经之路:搭建属于自己的成长模型
  2. JAVA自测题栏目正式上线,来测测你的Java功力到底如何!
  3. Eclipse编辑python时的快捷键
  4. Halcon:立体匹配
  5. phpmyadmin创建/导入/导出mysql数据库教程_PhpMyAdmin创建/导入/导出MySQL数据库教程[图文]...
  6. OCR文字识别方法综述
  7. CUDA+Pycharm-gpu版本+Anaconda安装
  8. 【Git】从本地上传到github的文章显示图片的方法
  9. C/C++基于MFC的网速监控,一招教你实时监控网速!
  10. Matlab导入整个文件夹目录下txt文档到数据库
  11. linux环境变量设置详解
  12. Python程序员难招人?月入30K程序员告诉你答案
  13. 量子计算机qubit态,成功了!三维量子态传送被我国专家突破,量子计算机时代快来了...
  14. mbedtls加密组件使用示例
  15. 访问www.baidu.com经历了什么
  16. c语言程序立体几何计算机,立体几何教学中巧妙利用信息技术 -----培养高中学生数学学习的兴趣   张芬     2014年11月10日...
  17. EBS供应链运维 一揽子发放无法审批
  18. 基于Qt Phonon模块实现音乐播放器
  19. 编写基于DM3730 ARM-A8内核测试程序(裸机版)1---X-LOADER启动分析
  20. idea如何打jar包和帮助文档

热门文章

  1. html自动获取今日的周名称,jquery怎么写显示今天后2周的日历
  2. 美赛整理之投影寻踪模型及其求解
  3. mac解压错误22无效的参数_看看PHP 7.3新版本中的JSON错误处理
  4. web开发技术复习笔记
  5. android网络编程登录和验证,ASP.NET实现用户注册和验证功能(第4节)
  6. java如何实现下载_java 如何实现下载功能
  7. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况(split、zip...)
  8. 定制你自己的CRF模型以及JAVA实现的Word2Vec模型和一些java版NLP的工具
  9. 关于搭建wiki镜像和数据库的一些东西
  10. 基于better-scroll实现的类似ios选择器