自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

neohe001

天道酬勤

  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

原创 Xcode 添加第三方库

Xcode 调用通过 Homebrew 安装的第三方库,除了在 Build Settings -> Search Paths 下的 “Header Search Paths” 和 “Library Search Paths” 添加相应头文件和库文件路径外,Build Phases -> Link Binary With Libraries 也需要添加库文件。步骤如下:1、在工程中新建 New

2016-10-13 23:34:47 5366

原创 三元组最小距离

已知三个升序整数数组a[l], b[m]和c[n]。请在三个数组中各找一个元素,使得组成的三元组距离最小。三元组的距离定义是:假设a[i]、b[j]和c[k]是一个三元组,那么距离为:Distance = max(|a[i]–b[j]|,|a[i]–c[k]|,|b[j]–c[k]|)请设计一个求最小三元组距离的最优算法,并分析时间复杂度。关键公式:max(|a[i]–b[j]|,

2013-10-09 18:27:40 2207

原创 已知前序中序序列,求后序遍历序列

给出一棵二叉树的前序和中序遍历,输出后续遍历的结果。如前序:ABDHECFG,中序:HDBEAFCG,则输出后序为:HDEBFGCA思路:先根据前序和中序序列构建出二叉树,然后后序输出该二叉树struct Node{ char data; Node *left; Node *right;};Node *getBinaryTree(char *preOrder,

2013-10-08 19:51:34 1228

原创 绳子覆盖问题

百度笔试题:数轴上从左到右有n各点a[0],a[1],……,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。

2013-10-06 00:09:27 1253

原创 字符串编辑距离

来自编程之美:给定任意两个字符串,计算它们的编辑距离。

2013-10-05 21:02:03 588

原创 Longest Palindromic Substring

给定一个字符串,求该字符串中最长的回文子串。如字符串“abcdcdgh”的最长回文子串为“bcdcb”有一个常见的错误解法:翻转给定的字符串,找出原字符串和翻转后的字符串的最长公共子串就是要找的最长回文子串。这种方法貌似可以,比如S="caba",S'=“abac”,那么S和S'的最长公共子串就是“aba”,也就是要找的最长回文子串,但是,假如S=“abacdfgdcaba”,S'=“abac

2013-10-04 19:48:35 863

原创 GetMemory

有如下代码,分析不妥之处:void GetMemory(char *p){ p = (char *)malloc(100);}void Test(){ char *str = NULL; GetMemory(str); strcpy(str, "Hello world"); printf("%s", str);}

2013-10-04 00:29:57 550

原创 指针与引用

指针——对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的的变量能够保存一个T对象的地址。类型T是可以加一些限定词的,如const、volatile等。 char c = 'x'; char *p = &c; // p holds the address of c引用——应用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。 int

2013-10-03 23:01:41 558

原创 进程和线程

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位;线程是进程中的一个执行单元,也是进程中的可调度实体。线程与进程的区别:地址空间:线程是进程内的一个执行单元,进程至少有一个线程,同一进程内的线程共享进程的地址空间。进程有自己独立的地址空间。资源拥有:进程是资源分配和拥有的单位,同一进程内的线程共享进程的资源。线程是处理器调度的基本单位

2013-10-03 00:02:30 765

原创 C++中不能被重载的运算符

不能重载的运算符有5个:. (成员运算符).* (成员指针运算符):: (域运算符)?: (条件运算符)sizeof

2013-10-01 13:20:05 737

原创 石头剪刀布游戏

设计一个石头剪刀布游戏,游戏双方为计算机和你参考代码如下:int main(){ char gesture[][10] = {"stone", "scissor", "cloth"}; int man, computer, result; srand(time(NULL)); while (1) { cout << "Input your gesture(0-sto

2013-09-20 20:54:55 823

原创 硬币正反的比例

题目:一堆硬币,一个机器人,如果是反的就翻正,如果是正的就抛掷一次,无穷多次后,求正反的比例。解析:假设某个阶段正面硬币的比例为p,则反面的比例为1-p,下一次翻转后,p的部分分为p/2的正面、p/2的反面,而1-p的反面部分全部变为正面。趋于平衡时,前后两次正反的比例应相等,即:p/(1-p)=(p/2+(1-p))/(p/2),得到p=2/3。更直接一点,翻转前后正面(反面)相等,即p

2013-09-19 22:09:13 2827

原创 最大子矩阵的和

一维数组的子序列的最大和有多种求法,其中动态规划求法复杂度最优。参考代码为:int maxSub(int a[], int n){ int i; int b = 0, sum = 0x80000000; for (i = 0; i < n; i++) { if (b > 0) b += a[i]; else b = a[i]; if (sum

2013-09-19 16:35:08 822

原创 KMP算法

void getNext(const char *T, int next[]){ int j = 0, k = -1; next[0] = -1; while (T[j] != '\0') { if (k == -1 || T[j] == T[k]) { j++; k++; if (T[j] != T[k]) { next[j] = k;

2013-09-18 02:09:29 586

原创 求平方根

RT

2013-09-17 00:45:35 874

原创 插入排序的简单实现

插入排序,选择无序区的第一个元素插入到有序区的合适位置。代码:void insertSort(int a[], int n){ int i, j, temp; for (i = 1; i < n; i++) { if (a[i] > a[i - 1]) { temp = a[i]; for (j = i - 1; j >= 0 && a[j] > tem

2013-09-16 13:29:41 491

原创 三色旗问题

由红白蓝三种颜色的旗帜乱序出现,现需要排成蓝、白、红的顺序。void func(char *pInput, int len){ int bflag = 0; int wflag = 0; int rflag = len - 1; while (wflag <= rflag) { if (pInput[wflag] == 'w') { wflag++; }

2013-09-16 00:26:06 859

原创 判断括号是否匹配的递归与非递归实现

递归:int bracket(char *p, int count){ if (*p == '\0') return count; else if (*p == '(') return bracket(p + 1, count + 1); else if (count > 0 && *p == ')') return bracket(p + 1, count - 1);

2013-09-16 00:22:26 1023

原创 编程之美: 1-N中“1”出现的次数

数学统计规律:/********************************************************************************* 给定一个十进制正整数 N,写下从 1 开始,到 N 的所有整数,** 然后数一下其中出现的所有“1”的个数。** 例如:** N= 2,写下 1,2。这样只出现了 1 个“1”。** N= 12,我们会写下

2013-09-11 19:45:54 737

原创 背包问题

采药辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰

2013-09-08 20:58:03 535

原创 C/C++内存分配(再续)

1. 内存分配方式内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内

2013-09-03 23:06:41 655

原创 C/C++内存分配(续)

堆和栈的理论知识1. 申请方式栈(stack):系统自动分配。例如局部变量int a = 0; 系统自动为b在栈区分配空间堆(heap):需要程序员自己分配,并指定空间大小,在C中的malloc函数如 p1 = (char *)malloc(10);在C++中的new操作符如 p2 = new char[10];注意p1、p2本身是在栈中。2. 申请后系统的相应

2013-09-03 22:47:43 634

原创 C/C++内存分配

一、程序的内存分配由C/C++编译器编译的程序占用的内存分为以下几个部分:1. 栈(stack)——由编译器自动分配释放,存放函数参数、局部变量等。其操作方式类似数据结构中的栈2. 堆(heap)——一般由程序员分配和释放,如果程序员没有释放,在程序结束时可能由操作系统回收。其与数据结构中的堆是两回事,操作方式类似于链表3. 全局静态区——全局变量和静态变量的存储是放在一起的,初始

2013-09-03 21:48:21 655

原创 不用+-*/实现加法运算

不能用 + - * / 等符号,那么首先想到的就是位运算了。

2013-08-30 14:29:39 654

原创 统计数组中各数字出现的次数

给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计出各数字出现的次数。要求O(n)的时间复杂度,O(1)的空间复杂度。

2013-08-28 19:38:20 3850

原创 选择排序

选择排序,将待排序数列分为有序区和无序区,然后依次从无序区中选择最小的元素放到有序区的后面。设数组为a[0, 1, ..., n-2, n-1],初始时,数组为无序,i=0;从a[i+1, ..., n-1]中选择最小的元素与a[i]交换,交换后,a[0, 1, ..., i]就是一个有序区i++后,重复第二步,直到i=n-1,完成排序代码实现如下void select

2013-08-28 10:21:14 555

原创 以指定原子操作实现加减乘法

题目:以计算机提供的如下原子操作,实现加、减、乘法。赋值操作:b=a;++a和a+1;for(){......}有限循环;操作数只能为0或者正整数;定义函数解答:加法操作int add(int a, int b){ int result = a; for (int i = 0; i < b; ++i) { ++result;

2013-08-28 09:56:25 1429 1

原创 It Says

The time to be greedy is when others are afraid, and the time to be afraid is when others are greedy.

2013-08-28 09:37:51 705

UML教程——基础级

UML基础教程,适合对UML不是很熟悉的人,也可用于巩固基础知识

2010-07-03

获取网卡的MAC地址

计算机网络B的实验题目,包含代码及详细分析说明。 分别用VC和VB实现。

2010-06-03

餐饮系统课设——数据库

数据库课程设计,娱乐餐饮管理系统设计,详细设计!

2010-05-31

空空如也

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

TA关注的人

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