- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 初探守护进程
初探守护进程1. 什么守护进程(也就是我们所说的Daemon进程)在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。守护进程通常独立于控制终端并且周期性的执行某种任务或者等待处理某些发生的事件。守护进程常常在系统引导载入时启动,在系统关闭时终止。在Linux系统中的大部分服务都是通过守护进程来实现的。守护进程还能完成许多系统任务,例如,作业规划
2016-05-03 23:17:58 243
原创 lintcode 160 寻找旋转排序数组中的最小值 II
假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。你需要找到其中最小的元素。数组中可能存在重复的元素。样例给出[4,4,5,6,7,0,1,2] 返回 0解析:这个题目我们可以使用二分法的思想去解决,因为数组是有序的(分开的两部分)#include #include usin
2016-04-28 20:24:04 224
原创 lintcode 144交错正负数
给出一个含有正整数和负整数的数组,重新排列成一个正负数交错的数组。给出数组[-1, -2, -3, 4, 5, 6],重新排序之后,变成[-1, 5, -2, 4, -3, 6]或者其他任何满足要求的答案#include #include#include #include using namespace std;class Solution {public:
2016-04-24 23:25:19 439
原创 二叉树的锯齿形层次遍历
给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 样例给出一棵二叉树 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7返回其锯齿形的层次遍历为:[ [3], [20,9], [15,7]]#include #include #includeu
2016-04-20 17:04:15 269
原创 中序遍历和后序遍历树构造二叉树
#include #include using namespace std;//Definition of TreeNode :class TreeNode {public: int val; TreeNode *left, *right; TreeNode(int val) { this->val = val; this->left = this->right =
2016-04-12 20:40:54 154
原创 前序遍历和中序遍历树构造二叉树
代码1:#include #include using namespace std;//Definition of TreeNode :class TreeNode {public: int val; TreeNode *left, *right; TreeNode(int val) { this->val = val; this->left = this->ri
2016-04-12 20:05:32 204
原创 旋转链表
给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数样例给出链表1->2->3->4->5->null和k=2返回4->5->1->2->3->null#include using namespace std;//Definition for singly-linked list.struct ListNode { int v
2016-04-04 14:44:42 152
原创 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素每个元素只留下一个。样例给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null#include using namespace std;//Definition of ListNodeclass ListNode {p
2016-04-04 14:43:33 187
转载 B树、B-树、B+树、B*树
BST即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: BST的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命
2016-04-03 15:50:24 204
原创 哈希函数
在数据结构中,哈希函数是用来将一个字符串(或任何其他类型)转化为小于哈希表大小且大于等于零的整数。一个好的哈希函数可以尽可能少地产生冲突。一种广泛使用的哈希函数算法是使用数值33,假设任何字符串都是基于33的一个大整数,比如:hashcode("abcd") = (ascii(a) * 333 + ascii(b) * 332 + ascii(c) *33 + ascii(d)) % HASH
2016-03-08 21:32:12 157
原创 完全二叉树节点数
给定一棵完全二叉树的头节点head,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。#include using namespace std;class TreeNode{public: int val; TreeNode* left; TreeNode* right; TreeNode(int val) :val(val),
2016-03-08 00:08:18 294
转载 格式化字符串攻击原理及示例
一、类printf函数簇实现原理类printf函数的最大的特点就是,在函数定义的时候无法知道函数实参的数目和类型。对于这种情况,可以使用省略号指定参数表。带有省略号的函数定义中,参数表分为两部分,前半部分是确定个数、确定类型的参数,第二部分就是省略号,代表数目和类型都不确定的参数表,省略号参数表中参数的个数和参数的类型是事先的约定计算出来的,每个实参的地址(指针)是根据确定
2016-03-06 21:15:25 226
原创 棋子翻转
在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。给定两个数组A和f,分别为初始棋盘和翻转位置。其中翻转位置共有3个。请返回翻转后的棋盘。测试样例:[[0,0,1,1],[1,0,1,0],[0,1,1,0],[
2016-03-05 17:50:20 389
原创 首次重复的字符
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:"qywyer23tdd",11返回:yclassFirstRepeat {public: charfindF
2016-03-05 17:11:10 362
原创 最近公共祖先
给定一棵二叉树,找到两个节点的最近公共父节点(LCA)。最近公共祖先是两个节点的公共的祖先节点且具有最大深度。 4 / \3 7 / \ 5 6LCA(3, 5) = 4LCA(5, 6) = 7LCA(6, 7) = 7解法是:顺着一条p和q都同在一边的链子,也就是说,若P和
2016-03-05 16:12:32 178
原创 【C++】动态开辟二维数组
/*动态开辟二维数组注意空间的开辟注意 数组指针的使用*/#include #include using namespace std;int main(){const int N = 100001;int n = 10;//初始设置的动态数组的大小int(*p)[2] = new int[n][2];/
2015-08-29 09:57:14 286
原创 【操作系统】如何用程序确定当前系统的存储模式
首先介绍一下存储模式:分为大端模式(Big_endian):字节数据的高字节存储在底地址中,而字节数据的低字节则存放在高地址中。小端模式(Little_endian):和大端存储相反。现在可以用一个C语言程序来判断处理器是什么端存储模式?思路:假设int类型的变量i被初始化为1.则以大端模式存储则在内存中为:0x0 0x0 0x0 0x1(低地址到高地址)而已小端存储则为:0x1
2015-07-13 20:36:45 328
原创 【腾讯】试题若干
1.【网络基础】假设局域网中子网掩码是255.255.0.0,那么在这个局域网中哪些IP地址是可用的()?A.192.168.0.0B.192.168.0.1C.192.168.255.1D.192.168.255.255解答:选择B,C:从子网掩码看出来这个IP的主机号码在点分十进制的后两位(x)即:192.168.x.x。在一个IP中,全0表示网络本身,全1表示
2015-07-01 22:44:23 338
原创 【阿里巴巴】试题若干
1.【编程基础】在32位操作系统中,下列类型占用8个字符的为()。A.short intB.int longC.unsigned intD.long longE.charF.int 解答:选择D:可以用sizeof(int ),sizeof(float )等来测试。在32位系统中short占 2 字节,int 、float、long 都占 4 字节,d
2015-06-30 22:05:44 318
原创 实现strcmp()函数
int strCmp(char *str1,char *str2) { int i = 0; while(str1[i] != '\0' && str2[i] != '\0' && str1[i] == str2[i]) { i++; } return (str1[i] == str2[i] ? 0 : (str1[i] > str2[i] ? 1 :
2015-05-31 00:31:10 258
原创 Web浏览
/*实现浏览器的页面前后访问机制。有四种命令:1、BACK;2、FORWARD;3、VISIT:访问新的页面;4、QUIT:退出浏览器。请参考实际的浏览器按钮的功能。假设浏览器打开时,显示的页面是:http://www.acm.org/一系列命令:以BACK、FORWARD、VISIT或QUIT开头。如果是VISIT,后面要跟URL,长度不超过7
2015-04-24 00:28:58 285
原创 A+B Problem 高精度
输入两个大整数a, b(0 ≤ a, b ≤ 101000);输入只有一行,包含两个大整数a,b输出只有一行,包含一个大整数为a+b的和#include//#include//gets()#include//strlen()using namespace std;const int N = 1001;int main(){ char a[N],b[N];
2015-04-19 23:47:49 307
原创 四则运算
输入两个自然数a, b,输出他们四则运算后的结果 1/*如果使用int型的数据类型,在计算乘法的时候会出现数据过大而溢出,所以使用double或者float数据类型并且可以利用printf()函数的特点而输出,因为如果使用cout输出,编译器会自动处理结果为科学计算法,无法通过评测系统。*/#include#includeusing namespace std;int m
2015-04-19 23:47:48 289
原创 输入两个自然数,输出他们相乘后数的位数
输入两个自然数,输出他们相乘后数的位数。(1/************************** * 求A*B的位数** 可以用数学log10()函数来解决相乘两数的位数问题* * 赵宣* * 2015.4.19* * bug 无* *******************************/#includ
2015-04-19 23:28:05 803
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人