从"分层二进制输出"至"解决二进制树深度"总结
本文研究的摘要,欢迎转载,但请注明出处:http://write.blog.csdn.net/postedit/41964669
近期在刷LettCode上的算法题,发现好多题目的解题思路大体是一致的,甚至会出现一解对多题的情形,可能一方面原因是我刷的都是简单题,还有一方面原因可能是站点有意来提高我们的信心和联想能力。
比方有求解二叉树最大深度和求解二叉树最小深度的题目。也有推断两颗树是否全然一致和推断两个树是否轴对称的题目,还有按层次从树根往下输出每层元素和按层次从下往树根输出每层元素的题目等。
昨天解答了按层次从树根往下输出每层元素的题目,今天又碰巧遇到类似的三个题目。并非我刻意拿这几个题目来说话,而是我认为算法之间思想是相通的,并非孤立的。从一个算法可以转变为还有一个算法,可能仅仅须要加一些简单的条件。所以我认为假设我们单纯地为了做题而做题,尽管也可以提高自己的算法水平,可是并不能举一反三,假设我们在做一道题的时候可以多一些联想,多考虑一些其他可能的方式,久而久之,我们的思考能力和分析问题的能力也会得到提高。就拿我自己来说吧。之前从没做过不论什么算法题,除了在学校数据结构课上学习的一些知识。刚開始做LettCode上简单题算法题时,感觉非常困难。一道题都要想半天甚至一天,由于之前从未有过算法相关的训练,思维过程也没有那么的灵活。可是我坚持每一道题都自己想。自己分析每一道题。无论自己算法写的有多烂,仅仅要是对的就可以。对于自己这种新手開始不必要要求那么高。在慢慢坚持刷完二十多道简单题后,我发现自己的思维不再那么刻板。我会通过某一道题联系到另外一些相关的题。
我想每道算法题肯定会相应着某一个问题,相应着一个应用场景。要不就没有人提出问题,也不是必需去解决它。我还会继续坚持下去,从简单题到困难题,from
easy to hard,坚持刷完已有的166道题目。这个过程或许就是成长的过程吧,并不须要一个完美的结果,仅仅须要坚持自己,做自己想做的事。不断提高自己,从简单開始,从基础開始。慢慢超越自己,提高自己。
分享这短时间在刷题中的一些体会:
(1)不要好高骛远。从简单做起。要不为什么会把题目分为简单、中等、困难呢,万丈高楼从地起。
(2)坚持下去。每两天我都会抽空做一做题。尽管上班非常忙,抓住身边的暗时间,不久你就会发现不一样的自己。
(3)独立思考。
不要一时想不出来就百度。自己想出来的永远也忘记不了,努力自己思考。提高自己的思维能力。
(4)分享。将自己的思路写下来。分享给大家,知识的共享所得回报不是简单的知识相加,而是线性的甚至是指数级的。
希望对你有所帮助。
谢谢。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
从"分层二进制输出"至"解决二进制树深度"总结的更多相关文章
- php将文件转换成二进制输出[转]
header( "Content-type: image/jpeg"); $PSize = filesize('1.jpg'); $picturedata = fread(fope ...
- level分层次输出内容添加leve
代码如下:function getSubComments($parent = 0, $level = 0) { $db = &JFactory::getDBO(); $sql = " ...
- 关于hasNextInt判断后无限循环输出else项的解决办法
话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...
- resin后台输出中文乱码的解决办法!
resin后台输出中文乱码的解决办法! 学习了:https://blog.csdn.net/kobeguang/article/details/34116429 编辑conf/resin.con文件: ...
- resin后台输出中文乱码的解决的方法!
近期从tomcat移植到resin,发现这东西不错啊! 仅仅是后台输出时有时候中文会乱码. 如今找到resin后台输出中文乱码的解决的方法: 编辑conf/resin.con文件: <!--ja ...
- 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境
原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...
- 05 sublime环境配置及编译运行后输出中文乱码的解决
编译后的乱码问题 编译后的输出:中文显示异常: 编译C出现乱码问题解决 解决思路:解决办法很简单,就是先设置文件编码为GBK格式,之后再输入中文文字,运行时的中文就不是乱码了. 首先,sublime中 ...
- 彻底解决iOS项目中 "_OBJC_CLASS_$_XXXService", referenced from: 的相似问题
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmllcGVuZzEwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 佩特来项目经验小集合(2)___组合查询存储过程,报错 "varchar JBID='' 转换成数据类型 int 时失败"
今天写一个组合查询的存储过程遇到这样一个问题:在将 varchar 值 'SELECT * FROM View_DLS_WXJD_Customer WHERE 1=1 and JBID ='' ...
随机推荐
- hdu3485(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3485 分析: a[i]表示长度为i,第i位为0的,符合情况的个数. b[i]表示长度为i,第i位为1的 ...
- poj2479(dp)
题目链接:http://poj.org/problem?id=2479 题意:求所给数列中元素值和最大的两段子数列之和. 分析:从左往右扫一遍,b[i]表示前i个数的最大子数列之和. 从右往左扫一遍, ...
- 使用注解实现 bean 转 csv
csv 文件是 aaa,bbb,ccc aaa,bbb,ccc 保存 这里的要求是 List<T> 线性表的类型 转换成 类别似 html 中 table的格式,即第一行是 head 后面 ...
- 漫谈并发编程(二):java线程的创建与基本控制
java线程的创建 定义任务 在java中使用任务这个名词来表示一个线程控制流的代码段,用Runnable接口来标记一个任务,该接口的run方法为线程运行的代码段. public ...
- SE 2014年4月5日
背景需求: 缺省情况下,Level-1路由器只将去往其它区域的报文发送到最近的Level-1-2路由器. 路由渗透使Level-1-2路由器将Level-2区域的路由信息发布到Level-1区域. 4 ...
- 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件
本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...
- IIS设置允许下载.exe文件解决方法
最近很多客户使用IIS服务器,然后提示返现宝下载无法找到等无法下载的问题. 返现宝是.exe安装文件,部分服务器或主机可能无法下载. 第一.如果是自己服务器或VPS请按如下设置: 1.设置MIME,让 ...
- linux网络编程学习笔记之三 -----多进程并发服务端
首先是fork()函数.移步APUE 8.3. 比較清晰的解释能够參考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://w ...
- SSL与TLS的区别以及介绍(转)
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层.SSL通过互相认证.使用数字签名确保完整性.使用加密确保私密性,以实现客户 ...
- 促销R语言应用性能
1. 绩效评估 时间的确定 R测量时间是在最简单的方式提供是system.time性能. system.time(expr, gcFirst=TRUE) 这个函数会在不减少程序执行性能的情 ...