- 博客(65)
- 资源 (14)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 BMC—服务器运维管理利器
BMC全称BaseboardManagement Controller,通俗来讲,BMC是整个服务器单板的大管家。从一款服务器上电时刻,它的所有部件都归BMC来负责和管理。说到这里,大家可能已经了解BMC是与服务器有关的,但还是会有疑惑,BMC到底是啥?它在服务器哪里?它在干什么? 简单提下服务器,服务器从功能上来讲,跟我们日常学习办公使用的台式机和笔记本没有本质区别,主要也是由最为...
2018-05-20 09:50:47
22260
1
原创 ipcs命令详解——共享内存、消息队列、信号量定位利器
多进程间通信常用的技术手段包括共享内存、消息队列、信号量等等,Linux系统下自带的ipcs命令是一个极好的工具,可以帮助我们查看当前系统下以上三项的使用情况,从而利于定位多进程通信中出现的通信问题。目前也有一些帖子介绍ipcs命令的使用方法,但是介绍较简单不够全面,下面我根据个人的使用经验详细介绍下ipcs命令的使用方法。ipcs -h可以查看该命令的使用帮助:i
2016-01-31 22:22:50
45119
1
原创 漫谈云计算
云计算这几年火的一逼啊。无论是互联网公司、通信公司,所有IT行业似乎都聚焦在这一块大蛋糕至上,都希望能在这波未来的大潮之中有所斩获。对于云计算,可能诸如BAT等互联网公司是大家耳熟能详的。互联网公司的基因里有着先天的优势,以亚马逊为例,靠卖图书扩张迅速成长为全球知名、市值狂涨的电商公司,细想一下,过个节、搞个促销什么的一定吸引大量用户对网页的访问,所以电商性质的公司是会遭遇短期流量高峰的,
2016-01-16 13:23:00
1345
原创 从静态检查工具谈代码编程规范
提升自身编程能力是每一个码农的追求,也许我们每日都可以写上几百几千行代码,抑或每日只能修修补补添加几行代码,可是编写代码的行数的增加确实是提升编程能力的体现吗?从我个人的理解来看并不是这样。从学校到步入职场的过程中,我也接触过多种编程语言,C、C++、Java、Python、PHP等。对于其中的多数高级语言来说,其实入门上手很快,只要有一门编程语言的基础,投入其他语言的开发,需要投入的时间成本
2016-01-10 10:05:31
5395
原创 Android开发socket通信——手机做server端C/S架构实现
每一部智能手机都是一部微型电脑,在学校里最喜欢的就是找上十个八个同学一起局域网内开几局dota,突然想到,拿手机C一个游戏来玩怎样,不用连wifi、不用开数据,几部手机选一个做主机,其他手机连上它的热点,便可以互动起来游戏搞起来了,多开心~~实际实现过程中发现拿手机本身做server的手段还真是很少有人使用,网上也很少有现成的解决方案,经过一番摸索,简单实现了手机自身做server(可兼做客户
2015-01-11 11:19:19
4188
原创 vmware安装虚拟机centos系统提示需要kernel headers终极解决办法
最直观的思路安装kernel headers不就好了么,于是输入命令:yum install kernel-headers可是安装完以后重新安装vmware-tools时还是提示需要kernel headers,怎么办怎么回事?不要着急,输入命令:yum install kernel-devel安装完成,再运行vmware tools的安装文件,发现,就这样OK了~
2014-10-10 18:03:04
8545
原创 PHP盛宴——常用函数集锦
最近写了蛮多PHP,也接触到挺多常用的函数,大多都记了笔记,发个博客出来,共同学习。其实感觉学习一门语言,语法逻辑是软素质,而对语言的熟悉程度只能随着使用时间的增长而慢慢增长,当对一门语言的函数、库、特性都深深了解了,才能勉强称得上是熟练或者精通吧。1. trim(),从字符串两端删除空白字符和其他预定义字符,当然可以删除指定的字符。类似的还有ltrim()、rtrim()。2. __
2014-08-21 22:00:40
1082
原创 leetcode——Evaluate Reverse Polish Notation 求算式值(AC)
Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.Some examples: ["2", "1",
2014-07-17 22:14:27
1155
原创 leetcode——Insertion Sort List 对链表进行插入排序(AC)
Sort a linked list using insertion sort.class Solution {public: ListNode *insertionSortList(ListNode *head) { if(head == NULL || head->next == NULL) return head; Lis
2014-07-14 22:05:05
1145
原创 leetcode——Search a 2D Matrix 二维有序数组查找(AC)
如果直接对矩阵元素进行二分查找的话,时间复杂度是O(m*n),其实很容易想到先通过查找找到对应可能存在于哪一行,然后再在那行中查找是否存在,采用最简单的直接查找这样时间复杂度仅有O(m+n),如果这两次查找再分别采用二分查找的话,时间复杂度更可以降低到O(logm+logn),下面是O(m+n)的代码:
2014-07-13 17:07:17
1664
原创 leetcode——Best Time to Buy and Sell Stock III 买卖股票最大收益(AC)
需要注意的是,可以操作两次买卖,但是第二次买入必须在第一次卖出之后才能操作。所以思路就是先正序使用贪心计算每一天之前买入卖出可能达到的最大收益,拿数组记录下来。再逆序计算每一天对应的之后买入卖出可能达到的最大收益,拿数组记录下来。然后将两个数组中每一天对应的两种情况可以实现的收益之和,得到最大值即为可以实现的最大收益。code如下:
2014-06-27 20:16:59
1950
原创 leetcode——Search for a Range 排序数组中寻找目标下标范围(AC)
Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm's runtime complexity must be in the order of O(log n).If the target is not found
2014-06-19 14:58:07
1203
原创 leetcode——Reverse Linked List II 选择链表中部分节点逆序(AC)
处理这个问题还是挺复杂的,需要考虑很多边界的测试用例。我总体的思路是先用循环标记m前一个节点和n后边一个节点,把n后边的节点首先作为当前逆转节点的pre,然后循环n-m次完成所选节点部分的逆序,然后将标记的m节点前一个节点指向逆序后部分的头节点即可。要考虑各种特殊情况,另外考虑即可。code如下:
2014-06-15 12:46:46
1403
原创 leetcode——Remove Duplicates from Sorted List II 删除排序字符串中重复字符(AC)
没什么太多讲的,可以使用递归和迭代两种方法来做,要仔细考虑各种输入情况。code如下:
2014-06-15 09:02:46
1753
原创 leetcode——Implement strStr() 实现字符串匹配函数(AC)
这个题考查的是KMP算法,先求特征向量,然后再进行匹配,确实可以大大提高效率。code如下:
2014-06-10 21:50:08
1247
原创 leetcode——Divide Two Integers 不用乘除取余操作求除法(AC)
题目只有简单的一句话,看起来可真简单啊,呵呵,假象。这个题目的难点在于对时间效率的限制和边界值的测试。第一印象肯定是循环一个个把因子从被除数中减去不久行了么,可是对于比如INT_MAX/1或者INT_MIN/1之类的执行时间长的可怕,会超出时间限制。改善时间效率的思路是参考网上别人代码,将因子不断乘以2(可以通过移位实现,同时结果也从1开始不断移位加倍),然后和被除数比较,等到大于被除数一半了,就从被除数中减去,将因子个数叠加入结果中。然后在剩下的被除数中采用同样的方法减去小于其一半的因子和,循环往复。我在
2014-06-09 20:19:43
4234
原创 leetcode——Letter Combinations of a Phone Number 手机按键字母组合(AC)
乍看貌似不难,第一印象采用循环,可是循环用起来很麻烦,因为输入的按键组合中按键个数不确定。比较直观的思路是采用递归来做,思路是循环输出每一个按键上的所有字母,每输出一个字母,在将下个按键上的字符依次与其配对,在进行下一个按键的字符循环配对。。。便是递归的思路,在实际执行的时候,每次将按键组合第一个按键去除,然后进行下一次递归调用,这样每次进行循环配对的都是按键组合中第一个键对应的字符串。代码如下:
2014-06-09 15:19:15
1868
原创 leetcode——Longest Common Prefix 最长公共前缀(AC)
其实做起来会感觉很简单,需要注意的是要考虑效率的问题,毕竟可能是很长的字符串数组,所以可以考虑选取所有字符串中最短的那个来首先进行比较,因为最长公共子串肯定不会大于其长度,这样避免了字符串之间长度差异很大造成的效率损失,然后每次比较之后最长公共子串的长度也永远不会大于最短的那个字符串,只会不变或相等,只要遍历字符串数组,挨个对比、更改最短公共字符串记录即可,code如下:
2014-06-08 16:19:31
1467
原创 leetcode——Swap Nodes in Pairs 旋转链表中相邻成对数字(AC)
这个题目我使用了下递归,把自己绕死了,而且被各种指针指空导致的问题烦死了,各种补洞出来的AC代码,如下:
2014-06-08 11:08:17
1026
原创 leetcode——Palindrome Number 判断整数数字是否为回文(AC)
这道题加了不能使用额外空间的限制,如果没有这个限制的话,我们大可以开辟一个字符串数组把整数的各位数字存储起来,然后使用指针进行判断。在这道题目的要求之下,我们只能每次把首尾的两个数字提取出来进行比较,然后再把这两个数字从原数字钟剔除,继续比较。。。直到所有数字比完,就可得出是回文的结论。个位数提取只需对10取余即可,最高位提取需要将原数字除以10^n次方即可。还有需要注意的是题目要求负数不存在回文。code如下:
2014-06-08 09:38:03
1444
原创 leetcode——Reverse Integer 反转整数数字(AC)
这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出。
2014-06-06 23:09:27
1269
原创 leetcode——String to Integer (atoi) 字符串转换为整型数(AC)
Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input ca
2014-06-06 22:04:56
1280
原创 leetcode——Longest Substring Without Repeating Characters 求链表中无重复字符的最大字串长度(AC)
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. Fo
2014-06-06 21:03:54
1282
原创 leetcode——Add Two Numbers 两个链表表示的正整数对其求和(AC)
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a link
2014-06-06 17:48:08
1360
原创 leetcode——Reverse Words in a String 旋转字符串中单词顺序(AC)
题目如下:Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".click to show clarification.Clarification:What co
2014-06-05 23:20:27
1874
原创 leetcode——Two Sum 两数之和(AC)
Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, whe
2014-06-05 16:32:39
1333
2
原创 求两个字符串最长公共子串(动态规划)
code如下://Longest common sequence, dynamic programming methodvoid FindLCS(char *str1, char *str2){ if(str1 == NULL || str2 == NULL) return; int length1 = strlen(str1)+1; int length2 = strlen(
2014-05-23 10:51:39
2295
原创 二进制查找树转换为双向链表
完全按照海涛哥剑指offer里边的递归思路来写的,基本一样,仅作学习验证,努力锻炼,努力学习!code如下://Change a BSTree to a sorted double linkliststruct BSTreeNode { int value; BSTreeNode *left; BSTreeNode *right;}head;//Create a node of
2014-05-19 00:27:28
1240
原创 Hulu面试题解答——N位数去除K个数字(解法错误sorry)
给定一个N位数,例如12345,从里面去掉k个数字,得到一个N-k位的数,例如去掉2,4,得到135,去掉1,5,得到234。设计算法,求出所有得到的N-k位数里面最小的那一个。写的代码如下,思路是通过堆排序得到N位数里边最大的前K个数,然后按照原数字的顺序去除得到的最大的K个数。感觉写的很乱,可能还有些小问题,鲁棒性应该很差,努力锻炼。。努力提高!typedef unsigned int
2014-05-17 22:46:24
2042
2
原创 两个有序链表合并
好多人都是为了找实习、找工作,看看思路,手写下这个问题的代码。如果有机会还是最好真正调试一下,还是有很多细节需要注意的。不多说了,代码记录如下: Node* Merge(Node *h1,Node *h2) { Node *head,*pCurrent,*head1,*head2; head1 = h1; head2 = h2; if(head1==NULL) retu
2014-05-17 11:14:04
1342
原创 微信公众号开发模式开启总结
一直没想过要开个微信公众号,想到经营公众号估计跟经营微博一样,像我这种素质的,肯定没有这种基因。师兄推荐了一个学经济的妹纸过来请教我微信公众号开发者模式如何开启,妹纸请教,那必须上刀山下火海哇。稍作研究了一下,其实并不复杂,妹纸被卡到的地方是输入URL和Token的地方,其实这个URL和Token想明白了还是很容易理解的。微信的开发者模式的意义在于,当订阅者通过菜单栏或者发送消息等方式向公
2014-05-13 23:39:25
1544
原创 诺基亚(Microsoft Devices Group)2014暑期实习生笔试题知识点
总结一下Microsoft Devices Group的软件类笔试题,所有笔试题分两份试卷,逻辑题一份和软件测试题一份,只总结技术题喽~题目全英文,只包含选择题和填空题,选择题居多,分单选和多选,多选题题目会标注出来。总体来说考察的很基础也很细节,难度适中。下面把记得的一些知识点总结一下下:*命名管道的定义。*主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程总
2014-05-11 18:02:35
1932
原创 阿里巴巴、腾讯、百度面试笔试题知识点汇总(二)
1. 海量数据如何处理查找问题2. SSD固态硬盘与普通硬盘相比最大优点3. 二叉树三种遍历算法4. 操作系统有关内存调度,LRD算法5. 怎样栽种四棵树,使任意两棵树之间距离相等6. 设计模式学习7. C++中,派生类中构造函数与析构函数,调用顺序8. 父类引用指向子类对象(向上转型、动态链接、重载、重写)9. 封装、继承、多态10. 宏(只是替换)11.
2014-05-10 17:03:53
1649
原创 阿里巴巴、腾讯、百度面试笔试题知识点汇总(一)
1. 介绍static关键字作用。2. 两个大数据集求交集。3. 平衡二叉树(AVL树)。4. 线程间通信与进程间通信。5. 数据库知识,ACID。6. Tcp三次握手。7. 分布式数据挖掘。8. bitmap。9. 排序算法(堆排序、归并排序等)。10. 数据库连接(左连接、右连接、内连接、外连接)。11. 矩阵转置代码实现。12. 链表反序。13
2014-04-16 11:13:38
1933
原创 微软2014实习生及秋令营技术类职位在线测试——String reorder
题目 : String reorder时间限制:10000ms单点时限:1000ms内存限制:256MBDescriptionFor this question, your program is required to process an input string containing only ASCII characters bet
2014-04-13 08:57:08
1305
原创 编程之美——长方形题目与解答
题目 : 长方形时间限制:2000ms单点时限:1000ms内存限制:256MB描述在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。输入输入文件包含多组测试数据。第一行,
2014-04-07 15:10:06
1433
原创 编程之美——传话游戏题目与解答
题目: 传话游戏时间限制:2000ms单点时限:1000ms内存限制:256MB描述Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,
2014-04-07 09:01:45
3109
原创 JavaScript学习之仿微信打飞机游戏
学习一些小游戏的编写还是很有意思的,对于游戏的编写,我的理解就是一张张图片的刷新,比如游戏中控制一个物体移动,那需要做的就是一张一张刷新新的图片并清除掉前一张图片,便可以实现物体的移动了。为了模仿微信中的打飞机游戏,首先需要做的是抠图,这样才能实现效果接近一致。从面向对象的角度来考虑,可以从游戏中抽象出三个对象:自己的飞机,子弹,敌方飞机。那在编程过程中也需要从这三个对象的角度出发来分析、编码
2013-10-24 07:58:15
1896
原创 华为2014校园招聘的机试题目解答——字符串压缩
题目来源:JULY博客 http://blog.csdn.net/v_july_v/article/details/11921021通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc
2013-09-29 12:00:26
1611
原创 百度2014校园招聘笔试题——连连看判断消除算法
看到今年百度有一道笔试题考察的是《编程之美》上边的连连看游戏中消除判断算法,正好这几天查找资料学习,写了简单的连连看游戏,在这里把消除判断算法分析总结一下。连连看游戏中允许消除的条件有两个:1. 玩家点击的两个图案相同 2. 两个图形之间存在不超过三个弯的路径。难点在于判断第二个条件。1. 如果两个图案在一条水平线或者一条垂直线上,则有可能存在一条线可以相连的路径。2. 如果两个图案不
2013-09-29 10:39:57
4124
C++\VISUAL C++ MFC 编程实例
2011-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人