自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 删除数组中的重复元素

[问题描述]:如何使用O(1)空间,删除数组中的重复元素?比如A=1111222334566,删除之后就是123456。也就是模仿STL的unique()。使用三个指针:p,q,r。r表示当前处理的位置,区间[p,q)表示重复元素的范围(左开右闭)。每次将[p,q)的第一个元素(也就是*p)赋给r,然后继续处理下一个重复元素区间,直到数组全部处理完毕。#include using n

2013-03-11 14:52:41 741

原创 二叉树的各种周游

[问题描述]:如何周游一棵二叉树。二叉树的周游分为深度优先周游(DFS)和广度优先周游(BFS)。对于深度优先周游,左中右的排列共有3!=6种,但是先访问右子树后访问左子树不符合人们的习惯,所以就剩下三种:先序(中左右),中序(左中右),后序(左右中)。每种周游都有递归和非递归实现,非递归是利用栈实现的。后序周游的非递归版本稍微复杂点,因为访问完某个子树之后,还要判断是从哪个子树返回的

2013-03-10 21:14:15 1596

原创 对某些国产软件真是深恶痛绝

说说某些国产软件那些万年不改的恶习:一定要修改你的浏览器主页:一定要加入浏览器收藏夹:一定要开机自启动;启动时一定要关联所有文件类型;关闭时一定是最小化到任务栏,绝对不退出,退出时还要问你一句,“确认要退出吗?"你妹的,以为所有用户都是傻x安装时一定给你装上xx工具栏xx助手xx插件xx杀毒xx工具,好用的xx别人都在用的xx,真不知道百度金山360撒了多少钱进去

2013-03-06 09:19:16 635

原创 中缀表达式与后缀表达式

[问题描述]:如何计算一个表达式的值?表达式的表示形式有中缀、前缀和后缀三种形式。中缀表达式就是我们平时使用的表达式,按操作符的优先级进行计算:先乘除后加减,有括号先算括号里面的。中缀表达式便于人进行计算,但不便于计算机解析。后缀表达式没有优先级,计算规则简单,因此便于计算机进行解析。先将中缀表达式转换为后缀表达式,然后再计算。后缀表达式的计算过程为:从左到右依次扫描输入的后缀表达式,

2013-03-02 23:04:45 476

原创 如何生成全排列

[问题描述]:给定一个数组,如何(按照字典序)生成它的全排列?比如(1,2,3),它的全排列就是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1).在数学上,两个排列的大小定义为第一个不相等元素的大小关系,也就是说当且仅当。1. 递归观察我们手动生成全排列的过程,首先固定第一个元素:先写1开头的1xx,然后写2开头的2xx,然

2013-03-01 10:40:25 611

原创 出栈顺序与Catalan数

[问题描述]:对于一个栈,已知元素的进栈序列,判断一个由栈中所有元素组成的排列是否是可能的出栈序列。比如,进栈序列为1 2 3 4,则可能的出栈序列有4 3 2 1,1 4 3 2等,而1 4 2 3就不是合法的出栈顺序。解决的办法是,模拟这个进栈和出栈的过程即可。假如入栈的序列为A,出栈的序列为B。对于A的每次进栈,就判断栈顶元素与B序列的顶部元素相等。如果二者相等,那么就表示A出栈

2013-02-26 11:51:45 1666

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除