自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TommyZht的专栏

Never Complaint,Just Enjoy Life

  • 博客(19)
  • 资源 (4)
  • 收藏
  • 关注

原创 字符串数组的全排列——数组

题目描述:输入一个字符串,打印出该字符串中字符的所有排列。解题思路:参考july大神的编程艺术系列.使用字典排序,求当前排列的下一个字典序列,即全排列的下一个排列.所谓字典序列,即给定两个偏序集A和B,(a,b)和(a′,b′)属于笛卡尔集 A × B,则字典序定义为(a,b) ≤ (a′,b′) 当且仅当 a 所以给定两个字符串,逐个字符比较,那么先出现较

2015-06-30 09:32:18 1072

原创 找坏球——面试智力题

问题详情 有12个球,1个没有砝码的天秤。其中有11个球的重量是一样的,另外1个是坏球,和其他球的重量不一样,但无法确定是轻了还是重了。请问如何用天秤称3次,就找到坏球并确定是轻了还是重了。(没有砝码的天秤只能比较出两边谁重谁轻或是重量相等,无法求得具体的重量差.解题思路一看到这种要从多少个里面找一个的题目,首先想到的就是分治法,分而治之。首先,考虑二分法,分成两堆各自6个

2015-06-26 09:08:39 1394

原创 写一个随机洗牌函数——概率题

题目描述:写一个随机洗牌函数。要求洗出的52!种组合都是等概率的。 也就是你洗出的一种组合的概率是1/(52!)。假设已经给你一个完美的随机数发生器。解题思路:这是一道概率题随机洗牌,目的是要做到随机性,要求每一张牌出现的概率要相等.我们常用的普通扑克牌54张,要做到每张牌出现的概率是1/(54!),抽第一张牌概率:1/54;抽第二张牌概率:1/53;抽第三

2015-06-25 09:52:06 1516

原创 Opnet 14.5 + Win7 + VS2013安装教程

1、安装VS2013在安装 opnet14.5 之前,必须先安装一个编译平台,在XP上是安装VC 6.0,现在win7上面一般安装vs2008及以后版本,我机器安装的是vs2013.关于下载安装vs2013,这里不再赘述,google一下有很多教程,都是傻瓜式的,一直点next、next……就OK.好了,现在假定大家已经安装好vs2013了,接下来一个重要的步骤是配置环

2015-06-24 14:30:27 12231 9

原创 翻转链表——链表

题目描述:给定一个链表,要求将这个链表进行翻转。时间O(n),空间O(1)解题思路:设定三个指针,temp, prev,head,从头到尾依次翻转。head代表当前节点,prev代表前一个节点,temp代表下一个节点。参考代码:/** * Definition of ListNode * * class ListNode { * public:

2015-06-23 09:13:17 1044

原创 TCP/IP三次握手详解——计算机网络

TCP的运输连接管理TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。运输连接有三个阶段:连接建立、数据传送、连接释放下图是这三个阶段的示意图:a、连接的建立TCP的连接采用客户服务器的方式。主动发起连接建立的应用进程叫做客户(client)被动等待连接建立的应用进程叫做

2015-06-19 09:38:02 2339

原创 二叉树的最小深度——广度优先搜索

题目描述;给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。解题思路:这个题目比较简单。对于二叉树的问题,首先想到的是采用递归,广度优先搜索。一个节点一个节点地遍历,直到第一次找到叶子节点为止。注意编程的细节,代码里面有注释参考代码:(C++)/** * Definition of TreeNod

2015-06-18 10:25:52 1189

转载 别被技术绑架

转载自:版权所有foruok原文出处:http://blog.csdn.net/foruok/article/details/46499771通常我们说程序员需要在某个技术方向上积累到一定的厚度,要能够运用技术有效地解决实际问题。可是当程序员在某一项技术上浸淫时间长了之后,却经常会出现另外的问题,那就是:看待问题时受限于自身的技术积累。我打算从几个方面来谈这个话题。

2015-06-16 19:13:03 898

原创 贪心算法总结——读书笔记

1、基本概念贪心算法是一种求解组合优化问题的算法设计技术,其求解过程由一系列决策构成,每一步决策仅依赖于某种局部优化的性质。与动态规划算法不同,贪心算法在做决策时候不必考虑所有子问题的选择结果。

2015-06-16 18:55:18 3386

原创 Climbing Stairs爬楼梯——动态规划

题目描述:初阶:有n层的台阶,一开始你站在第0层,每次可以爬两层或者一层。请问爬到第n层有多少种不同的方法?进阶:如果每次可以爬两层,和倒退一层,同一个位置不能重复走,请问爬到第n层有多少种不同的方法?解题思路:初阶:一维动态规划。爬楼梯数目其实是一个斐波拉契数列。假定f[i] 表示是爬到第i层的方法,那么f[i] = f[i-1] + f[i-2] //第i层的方

2015-06-12 09:51:58 3815

原创 求平方根——分治法

题目描述:不用sqrt(x)库函数,实现求平方根。解题思路:采用二分法假定要求数num的平方根,那么首先取1~num之间的中点mid。若 mid * mid > num,那么 根在 1~mid-1之间;若 mid * mid 若 mid * mid == num,直接输出 mid;由于整数int求平方根是向下取整,所以,若mid * mid if (mi

2015-06-11 09:45:39 1706

原创 计数排序——O(n)复杂度基于非比较的排序方法

基本思想计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。计数排序的基本思想是:对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数。一旦有了这个信息,就可以将x直接存放到最终的输出序列的正确位置上。例如,

2015-06-08 19:50:37 909

原创 排颜色问题——数组 leetcode lintcode

问题描述:给一个数组,并且数组里面元素的值只可能是0,1,2,然后现在把这个数组排序。另外一种表述: 现有n个红白蓝三种不同颜色的小球,乱序排列在一起,请通过两两交换任意两个球,使得从左至右,依次是一些红球、一些白球、一些蓝球。解题思路:采用快速排序partition的思想,用两个指针将三种颜色间隔开。下面引用此处内容 July 编程艺术系列中荷兰国旗问题。一个

2015-06-08 09:11:15 1686

原创 最长单调递增子序列——动态规划

题目描述:设 A解题思路:使用动态规划方法。 对于i= 1, 2, ……,n,考虑以xi作为最后项的最长递增子序列的长度C[i]. 如果在xi项前面存在xj < xi , 那么 C[i] = max{C[j]} +1;否则,C[i] = 1. 因此,C[i] = max{C[j]} + 1, 存在j,1<=j<i, xj<xiC[i] = 1, 所有j,1<=j<i, xj>xiC[1]

2015-06-06 17:17:15 1495

原创 行编辑距离Edit Distance——动态规划

题目描述:给定一个源串和目标串,能够对源串进行如下操作: 1. 在给定位置上插入一个字符 2. 替换任意字符 3. 删除任意字符写一个程序,返回最小操作数,使得对源串进行这些操作后等于目标串,源串和目标串的长度都小于2000。思路:设状态dp[i][j] 表示从源串s[0...i] 和 目标串t[0...j] 的最短编辑距离边界为:dp[i][0] =

2015-06-06 11:29:27 866

原创 动态规划算法总结

1、基本概念动态规划是一种求解多阶段决策(优化)问题的算法设计技术,其主要思想是:将原问题规约为规模较小、结构相同的子问题,建立原问题与子问题优化函数间的依赖关系。从规模最小的子问题开始,利用上述依赖关系求解规模更大的子问题,直到得到原始问题的解为止。动态规划算法的适用条件适用于求解多阶段决策(优化)问题,该问题的解可以表示为一个决策序列,且满足优化原则(或最有子结构性

2015-06-03 20:37:45 1343

转载 n!阶乘末尾有多少个零0

题目: 初阶:1*2*3*……*100 求结果末尾有多少个零。 进阶: N的阶乘末尾有多少个0分析: 一般类似的题目都会蕴含某种规律或简便方法的阶乘末尾一个零表示一个进位,则相当于乘以10而10 是由2*5所得,在1~100当中,可以产生10的有:0 2 4 5 6 8 结尾的数字,显然2是确定的,因为4、6、8当中都含有因子2,所以都可看当是2,那么关键在于5的数量了那么该问题的实质是要求出

2015-06-01 13:46:42 17689 1

转载 Linux平台Cpu使用率的计算

Linux平台Cpu使用率的计算查看原作者博客,请戳:原文链接proc文件系统/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动

2015-06-01 11:49:10 953

转载 线程和进程的区别是什么?

这是一道出现频率极高的面试题,考察基本概念。进程可以认为是程序执行时的一个实例。进程是系统进行资源分配的独立实体, 且每个进程拥有独立的地址空间。一个进程无法直接访问另一个进程的变量和数据结构, 如果希望让一个进程访问另一个进程的资源,需要使用进程间通信,比如:管道,文件, 套接字等。一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间。 线程与进程的一

2015-06-01 10:44:01 498

ACM算法锦集

ACM算法锦集详述了ACM的常用算法,适合ACM入门学习,其中算法适合ACM队员练习默写

2015-06-18

leetcode全部答案

leetcode刷题全部答案,有全部详细的代码,刷题必备

2015-05-18

Arduino原理图

开源硬件arduino的原理图 玩arduino的朋友必备

2015-05-18

空空如也

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

TA关注的人

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