数据结构+算法=程序
程序+设计模式=框架

0%

Git作为分布式的源码管理工具,已经受到了越来越多人的青睐。和SVN的中心化服务不同,Git服务主要是将各个客户端的源码版本进行同步,类似于共享目录的作用,只是为了方便不同开发人员将各自的版本进行交换,不像SVN那么依赖于服务器。现存的Git服务器有Github,码云之类的,不过如果涉及到代码保密,不想上传到其他第三方公司托管,那么就可以自己搭建一个Git服务。
搭建一个Git服务有多简单呢?本文以一个树莓派为例,描述如何在Linux操作系统上创建Git服务。

阅读全文 »

什么是NSmartProxy?

NSmartProxy是一款免费的内网穿透工具。

使用中如果有任何问题和建议,可以点击这里加入Gitter群组或者点击这里加入QQ群
(群号:813170640)
我们一起讨论。

特点

  1. 跨平台,客户端和服务端均可运行在MacOS,Linux,Windows系统上;
  2. 使用方便,配置简单;
  3. 多端映射,一个NSmartProxy客户端可以同时映射多种服务。
  4. 支持TCP协议栈下的所有协议(已经经过测试的有FTP、Telnet、SMTP、HTTP/HTTPS、POP3、SMB、VNC、RDP。),以及相当一部分基于UDP的协议(已经经过测试的有DNS查询、mosh服务)。
阅读全文 »

问题

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

进阶:
你能不将整数转为字符串来解决这个问题吗?

阅读全文 »

问题

给你一个装满水的 8 升满壶和两个分别是 5 升、3 升的空壶,请想个优雅的办法,使得其中一个水壶恰好装 4 升水,每一步的操作只能是倒空或倒满。


思路

先想想用人脑如何解决这个问题,模拟将水从一个水壶倒进另一个水壶,使得各个水壶水的体积不断变化,一步步尝试和推导,比如先正向推导,从已知状态推导后续状态,再反向推导,从结果状态往前推导,2种状态某一刻相同了,说明求出了答案,此方式较考验大脑的记忆能力和逻辑思维能力。

阅读全文 »