自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (16)
  • 收藏
  • 关注

原创 移除字符串中重复的字符

设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意: 可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。void fun(char s[]){ int len = strlen(s); if (len < 2) { return; } bool flag[256]; memset(flag, false, sizeof(flag));

2014-03-23 13:06:34 557

原创 特殊的二进制数

大家都熟悉二进制,下面介绍一种特殊的二进制数。第k(k从0开始)位代表的权值是2^(k + 1) - 1,允许0,1,2三种数字出现,但是2只能出现在最低的非0位上。例如数10120  10120 = 1 * (2^5-1) + 0 * (2^4-1) + 1 * (2^3-1) + 2 * (2^2-1) + 0 * (2^1-1)  = 31 + 0 + 7 + 6 +

2014-03-21 00:42:18 1211

原创 不用除法构造数组

给定一数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法:要求O(1)空间复杂度和O(n)的时间复杂度;除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等);思路:先在b[i] 中保留i之前的乘积,再在b[0]保存从最后开始逐次的乘积,b[i]和b[0]的

2014-03-13 22:40:30 713

原创 快速计算整数的幂

int power(int a, unsigned int n){ int factor = a; int result = 1; while (n) { while (!(n & 1)) { factor *= factor; n >>= 1; } result *= factor; factor *= factor

2014-03-13 00:23:18 770

原创 数组中的逆序对数

在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序数对。一个排列中逆序的总数就称为这个排列的逆序数。如{2,4,3,1}中,2和1,4和3,4和1,3和1是逆序数对,因此整个数组的逆序数对个数为4,现在给定一数组,要求统计出该数组的逆序数对个数。#include #include using namespace std;int co

2014-03-12 22:58:51 1038

原创 查找数组中重复的数

一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间复杂度和O(n)时间复杂度。 int fun(int a[], int n){ for(int i = 0; i < n; i++) { a[a[i]%n] += n; } int label = 2*n; for (int i = 0; i <

2014-03-12 00:22:39 755

原创 步长为一的数组中找数

有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。除了依次遍历,还有更好的方法么?#include #include #include #include using namespace std;int fun(int a[], int n, int k){ i

2014-03-11 22:38:07 1487

原创 数组中只出现一次的两个数字

在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字。#include using namespace std;void fun(int a[], int n){ int temp = 0; for (int i = 0; i < n; i++) { temp ^= a[i]; } int bitFactor = 1; while

2014-03-11 00:41:40 543

原创 数组中只出现一次的数

数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。#include #include using namespace std;int fun(int a[], int n){ int bitCounts[32]; memset(bitCounts, 0, 32*sizeof(int)); for (int

2014-03-09 00:42:45 605

原创 0-1背包问题

有n个物品。第i个物品的体积为Vi,重量为Wi。选一些物品装到一个容量为C的背包,使得背包内物品在总体积不超过C的前提下重量尽量大。1<=n<=100,1<=Vi<=C<=1000,1<=Wi<=10^6。思路:dp[i][j]表示在第i个物品之后的物品中取出容量等于j的体积的最大重量。dp[i][j] = max(dp[i+1][j], ...

2014-03-07 01:29:46 573

深度探索C++对象模型(清晰版)

向具备多年C++开发经验的行家推荐本书,如果你想深入理解C++底层机制。

2011-04-15

exceptional c++ style中文版 pdf 刘未鹏译

C++大师 Herb Scutter通过40个编程问题,使读者不仅知其然,更要知其所以然,帮助程序设计人员在软件中寻找恰到好处的折中。适合中高级C++程序员阅读。

2010-09-26

PHP技术内幕中文版 pdf--黑皮书系列

全面认识网站编程和PHP。编写WINDOWS和UNIX中可靠而高效的代码。

2010-09-20

设计模式中文版pdf

不错的设计模式教程。讲解清晰,而且很全面。

2010-09-20

数据结构C语言版pdf 清华严蔚敏著

数据结构 c语言版 清华大学 严蔚敏著 大部分高校采用的数据结构教材

2010-09-20

编译原理 陈火旺著

陈火旺主编 编译原理教材 高等学校电子信息类规划教材

2010-09-17

计算机程序的构造和解释原书第2版pdf

每一位严肃的计算机科学家都应该阅读这本书。适合所有希望深刻理解计算机科学的人们。

2010-08-26

C语言深度解剖 解开程序员面试笔试的秘密

一个资深软件工程师的作品,内容讲解较透彻,一定程度弥补了教材中未深入的内容。

2010-08-25

编程珠玑第二版pdf中文

近二十年来众多大师级程序员一致推崇的作品

2010-08-13

UML参考手册pdf中文版

UML参考手册,讲述UML基本概念,为UML的深入理解提供一个起点.

2010-08-13

空空如也

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

TA关注的人

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