摘要: LeetCode 662. 二叉树最大宽度 思路:节点编号 + BFS。时间复杂度:O(n),空间复杂度:O(n) 利用完全二叉树(以及堆的顺序存储)编号的规则,根节点编号为1,左孩子是2,右孩子是3. 对于任意一个节点,如果它的编号是i, 那么它的左孩子的编号是2*i, 右孩子的编号是2*i + 阅读全文
posted @ 2023-05-17 21:45 编程爱好者-java 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 如何重新组织代码提高可读性? (函数层面, part 3)1. 抽取与主要问题无关的代码2. 重新组织代码使得一次只做一件事3. 首先描述功能,然后再实现功能,这样更清楚明了如何抽出问题无关的子问题? (chap 10)0. 无关问题的思考 - 看到一个函数或一个代码块, 问自己, "这段代码的高层 阅读全文
posted @ 2017-01-18 22:17 编程爱好者-java 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 如何写好流程控制语句(if-else/switch/while/for)使得代码更可读些?(chap 7)* 提高条件语句的可读性(if语句, 或者bool型summary变量) 分析: left-hand side放我们需要检查的, 经常变化的变量 right-hand side放常量或者不容易变 阅读全文
posted @ 2017-01-16 22:56 编程爱好者-java 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 正则表达式一个小例子 阅读全文
posted @ 2017-01-03 22:20 编程爱好者-java 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 读书笔记,如何写出好的代码 阅读全文
posted @ 2017-01-02 17:57 编程爱好者-java 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 一、初衷我想要有一个自己的域名,然后有自己的server,在server上搭一个网站或者开通一个ftp服务,我想通过这个域名来访问它。二、什么是DDNSDDNS 动态dns,电信宽带采用拨号联网方式,路由器或者光猫每次拨号后是动态获取ip地址。也即运行商没有分别静态ip地址给你。这时候,如果你希望能 阅读全文
posted @ 2016-12-31 13:51 编程爱好者-java 阅读(3145) 评论(0) 推荐(0) 编辑
摘要: 现在信息那么发达,书籍那么多,怎么找到适合自己看的书以及自己喜欢看的书呢?可以通过以下途径:1. 多逛逛书店(包括网上书店)2. 看看书评杂志 国内的有,书评,读书, 南都周刊(里面有书评专栏) 国外的有,New York Review of Books, Loodom Review of Book 阅读全文
posted @ 2016-11-12 23:14 编程爱好者-java 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1. 我的理解./configure: 确保接下来的make以及make install所依赖的文件没有问题make: build编译连接生成可执行程序make install: 将编译好的可执行程序以及文档copy到对应的系统目录2. 那么如何制作configure文件以及Makefile呢1) 阅读全文
posted @ 2016-08-06 22:49 编程爱好者-java 阅读(3977) 评论(0) 推荐(0) 编辑
摘要: 1. 背景(为什么要替换)安装ubuntu,默认源是(http://extras.ubuntu.com/ubuntu),国内访问很慢。。。当我们用apt-get安装软件包或者更新时有时很慢,所以才想到用国内镜像的源替换。2. 如何替换?方法1:从镜像网站下载对应系统版本(14.04 Trusty)的 阅读全文
posted @ 2016-08-06 16:57 编程爱好者-java 阅读(235) 评论(0) 推荐(0) 编辑
摘要: Vimperator技巧什么是Vimperator?Firefox的一个插件,模拟vim操作。1. 用]]打开"下一页"链接,[[打开"上一页"Vimperator在google搜索上支持这个功能,对于中文网站就不能用了。需要做如下设置 2. 切换command mode时,自动去激活输入法(回到英 阅读全文
posted @ 2016-07-24 21:02 编程爱好者-java 阅读(206) 评论(0) 推荐(0) 编辑