__七把刀__

新的文章请移步简书查看 http://www.jianshu.com/u/4d4a2f26740b

腾讯的一道面试题—不用除法求数字乘积

题目: 已知一个包含N个元素的数组A[N],试求出这样一个数组OUTPUT[N],其中OUTPUT[I]的值为数组A中除了A[i]的其他所有元素的乘积。注意,不能使用除法。时间复杂度必须为O(N)。 例如OUTPUT[0]的值为A[1]*A[2]...A[N], OUTPUT[1]的值为A[0...

2012-07-31 21:26:38

阅读数 3538

评论数 3

经典shell面试题整理

一、取出/etc/passwd文件中shell出现的次数 问题:下面是一个/etc/passwd文件的部分内容。题目要求取出shell并统计次数,shell是指后面的/bin/bash,/sbin/nologin等,如下面/bin/bash出现12次,/sbin/nologin出现3次。 hy...

2012-07-31 16:03:21

阅读数 8720

评论数 4

翻转句子中单词的顺序

题目: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 分析: 由于编写字符串相关代码能够反映程序员的编程能力和编程习惯...

2012-07-29 22:07:28

阅读数 1429

评论数 1

判断一个整数是否是回文数

问题 判定一个正整数是否是一个回文数。例如12121是回文数,而1231不是回文数。 解法1:转换成字符串再判断 要判断一个整数是否是回文数,最自然的想法是把整数转换成一个字符串,然后根据回文的对称特性进行判断。数字转换为字符串可以通过itoa函数实现,判断字符串是否为回文字符串...

2012-07-29 16:47:15

阅读数 10534

评论数 2

从一列数中筛除尽可能少的数,使得从左往右看这些数是从小到大再从大到小

问题:从一列数中筛除尽可能少的数使得从左往右看,这些数是从小到大再从大到小的(网易)。 解法:这是双端 LIS 问题,用 DP 的思想可解,目标规划函数 max{ b[i] + c[i] }, 其中 b[i] 为从左到右, 0 ~ i 个数之间满足递增的数字个数; c[i] 为从右到左, n...

2012-07-29 15:52:47

阅读数 2803

评论数 2

最长递增子序列

问题 给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.   解法1:最长公共子序列法 这个问题可以转换为最长公共子序列问题。如例子...

2012-07-29 15:25:08

阅读数 9798

评论数 5

将有序数组转换为平衡二叉搜索树

问题 给定一个有序数组,数组元素升序排列,试将该数组转换为一棵平衡二叉搜索树(Balanced Binary Search Tree)。   思路 这个问题用递归很容易解出来。考虑下面一棵二叉搜索树: 这是一棵平衡的二叉搜索树,所谓平衡的定义,就是指二叉树的子树高度之差不能超过1。 ...

2012-07-26 08:27:04

阅读数 7868

评论数 0

中序遍历和先序遍历/后序遍历构建二叉树

1、问题 给定二叉树的2个遍历序列(如先序+中序,先序+后序,中序+后序等),是否能够根据这2个遍历序列唯一确定二叉树? 2、理论分析 数据结构的基础知识中重要的一点就是能否根据两种不同遍历序列的组合(有三种:先序+中序,先序+后序,中序+后序),唯一的确定一棵二叉树。然后就是根据二叉树的不...

2012-07-25 15:02:23

阅读数 24558

评论数 14

Linux bash快捷键大全

用快捷键,有两个好处: 1 成就感! 2 效率! 停下手里活,学点一举两得的小技能,保证五分钟搞定! “棕色粗体”表示“我推荐的”! Ctrl-A 相当于HOME键,用于将光标定位到本行最前面 Ctrl-E 相当于End键,即将光标移动到本行末尾 Ctrl-B 相当于左箭头键,用...

2012-07-25 10:30:25

阅读数 1285

评论数 0

数字签名是什么—讲解数字签名最通俗易懂的文章

今天,我读到一篇好文章。 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。 我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发...

2012-07-24 20:05:29

阅读数 1064

评论数 0

一致性哈希算法详解

一致性 hash 算法( consistent hashing )  consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;   1 基本场景 ...

2012-07-24 19:50:04

阅读数 1517

评论数 0

Cassandra数据模型

Cassandra数据模型 一、几个概念 Cluster:集群,一个逻辑上的cassandra实例包含的节点。一个集群可以包含多个keyspace。  Keyspace:Column Family的名字空间,通常是一个应用一个keyspace。  Column Family:包含多个col...

2012-07-24 19:37:21

阅读数 1359

评论数 0

序列化/反序列化二叉树

题目 设计一个算法能够实现序列化和反序列化一棵二叉树(注意,不是二叉搜索树BST)。这里的序列化指的是将一棵二叉树保存到文件中,反序列化就是从文件中读取二叉树结点值重构原来的二叉树。 思路 前一篇文章保存二叉搜索树到文件中  解决了保存一棵二叉搜索树到文件中的问题,但是由于本题目的意...

2012-07-24 08:48:47

阅读数 12767

评论数 0

保存二叉搜索树到文件中

问题: 设计一个算法,将一棵二叉搜索树(Binary Search Tree,BST)保存到文件中,需要能够从文件中恢复原来的二叉搜索树。注意算法的时空复杂度。 思路: 二叉树遍历算法有先序遍历、中序遍历、后序遍历算法等。但是它们中间只有一种遍历算法符合题目条件,用于保存BST到文件...

2012-07-23 11:28:10

阅读数 5109

评论数 0

二叉树遍历之非递归算法

在前一篇文章二叉树遍历递归算法对二叉树遍历的递归算法做了总结,这篇文章就来对二叉树遍历的非递归算法做个汇总。还是与上一篇文章一样的顺序,一一汇总先序、中序、后序以及层序遍历的非递归算法。 1、先序遍历(非递归算法) 先序遍历非递归访问,使用栈即可实现。先序遍历的非递归访问在所有的遍历中...

2012-07-22 22:30:26

阅读数 22701

评论数 20

二叉树遍历之递归算法

二叉树的遍历算法有多种,典型的有先序遍历、中序遍历、后序遍历以及层序遍历。而且这些遍历的递归算法较为简单,代码很少,容易实现,本文就是汇总二叉树遍历的递归算法,非递归算法将在下一篇文章中进行总结。本文中用到的二叉树实例如下: 3 / \ 9 20 / \...

2012-07-22 19:31:35

阅读数 9545

评论数 3

brk(), sbrk() 用法详解

brk() , sbrk() 的声明如下: #include int brk(void *addr); void *sbrk(intptr_t increment); 这两个函数都用来改变 "program break" (程序间断点)的位置,这个位置可参考下图: 如 ma...

2012-07-22 12:11:59

阅读数 21073

评论数 10

判定一棵二叉树是否是二叉搜索树

问题 给定一棵二叉树,判定该二叉树是否是二叉搜索树(Binary Search Tree)? 解法1:暴力搜索 首先说明一下二叉树和二叉搜索树的区别。二叉树指这样的树结构,它的每个结点的孩子数目最多为2个;二叉搜索树是一种二叉树,但是它有附加的一些约束条件,这些约束条件必须对每个结点...

2012-07-21 20:18:05

阅读数 16805

评论数 5

Cassandra启动过程详解

<!-- @page {margin:2cm} p {margin-bottom:0.21cm} --> Cassandra启动过程详解 这里的分析从CassandraDaemon.java文件开始。 一、配置文件storage-config.xml的读...

2012-07-20 11:26:19

阅读数 2952

评论数 0

Cassandra失效检测原理

<!-- @page {margin:2cm} p {margin-bottom:0.21cm} --> Cassandra失效检测原理 一、传统失效检测及其不足 传统失效检测方法 在分布式系统中经常使用心跳(Heartbeat)来检测Server的健...

2012-07-20 11:15:14

阅读数 1874

评论数 0

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