- 博客(28)
- 资源 (7)
- 收藏
- 关注
原创 24点游戏算法
问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利输入:4个1-10的数字。[数字允许重复,测试用例保证无异常数字]输出:(或者求得24点的表达式)True or False问题分析:24点游戏作为扑克牌中最经典的游戏,也是平时经常玩的益智游戏。对于此题主要是用穷举的思想,再加上一点点实行的编程技巧,令代码更简洁明晰。本代码主要是利用符号的不断变化,
2016-04-18 17:08:51
884
原创 周期串问题
问题描述:如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期。原型: int GetMinPeriod(char *string);输入参数: char * string:字符串。返回值: i
2016-04-15 12:17:17
956
原创 N皇后问题--回溯算法的经典实例
问题描述:皇后是国际象棋中威力最大的棋子。在下面所示的棋盘上,皇后可以攻击位于箭头所覆盖位置的所有棋子。我们能不能把N个皇后放在棋盘(N×N)上,它们中的任何一个都无法攻击其余的皇后?请编写程序输出皇后的摆放方案,并找出一共有几种方法。问题分析:编程即是先找到问题的解决方法,然后对其编程实现。这种经典实例是回溯算法的应用。回溯算法作为五大常用算法:动态规划算法,贪婪算法,分治算
2016-04-11 16:50:44
17012
1
原创 c++类与c struct的区别
比较基础的知识点,在笔试的时候遇到过,总结下。可以通过比较一下 C 语言的 struct 和 C++ 的 struct 就可以回答这个问题。访问权限:C:public (没有 private 访问权限)C++:默认 public,可以用 protected/private 限制内容:C:只有数据C++:可以有数据、成员函数、构造析构函数,与 class 相同
2015-10-10 22:01:15
531
转载 探讨C语言中关键字volatile的含义_C
volatile 的意思是“易失的,易改变的”。这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化。通常在程序中申明了一个变量时,编译器会尽量把它存放在通用寄存器中,例如ebx。当CPU把其值放到ebx中后就不会再关心对应内存中的值。若此时其他程序(例如内核程序或一个中断)修改了内存中它的值,ebx中的值并不会随之更新。为了解决这种情况就创建了volatile限定词,让代码在引
2015-09-23 11:03:56
909
原创 编程学习从基础入手,从简单做起
今天华为面试,很虚啊,就怕让写代码啊,果然让写了个二分查找的非递归。写了很久,最终写的也不对,等于没有写出来,要哭了。感悟:1 编程学习从基础做起,从简单的做起。2 多动手,自己去写。往往看起来很简单,那是因为顺着别人的思路看的,但是到了让自己去写的时候,未必能想到,(知识搜索--整理--输出),未必能写得出啊。校招加油!继续学习啊!记 20
2015-09-19 20:30:48
1202
原创 从输入 URL 到页面加载完的过程中都发生了什么事情---经典面试题
这道题考查了面试者知识的广度和深度,不同的人知识点不同,所以答案也不一样。关键词:DNS解析+路由,端口号,TCP/IP三次握手,请求数据包,响应数据包,渲染把URL分割成几个部分:协议、网络地址、资源路径。其中网络地址指示该连接网络上哪一台计算机,可以是域名或者IP地址,可以包括端口号;协议是从该计算机获取资源的方式,常见的是HTTP、FTP,不同协议有不同的通讯内容格式;资源路
2015-09-08 17:00:05
1250
转载 位图文件存储空间的计算
阿里15实习生招聘笔试的一道选择题位图图像: 位图,又叫光栅图,是由许多像小方块一样的“像素”组成的图像。其放大或缩小都会使原有图像产生失真。 位图文件容量的计算:看清是xx位色彩还是xx种色彩 800*600像素的黑白图像如何计算? 分析:一个像素可以存放黑或者白图像(2色或者1位色),所以每个像素就是一个比特,即1位。因此,可以算出这幅图像的容量为:800*60
2015-08-22 21:28:01
3245
原创 字节对齐规则
字节对齐这块知识点看了好几遍,总是忘,今天又碰到了,就在这整理一下。64位与32位编译器操作系统的区别:1 、64位与32位linux c开发时默认字节对齐方式分别为8和4字节。2 、 32和64位C语言内置数据类型,如下表所示:上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型P表示:pointer指针类型32表示
2015-08-19 11:30:26
3588
转载 原码, 反码, 补码 详解
原来三者的理解要借助钟表来理解,类似于数学中的同余概念。理解的真够深刻啊,当年学习这块知识点的时候老师要是这样讲就好了。http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html
2015-08-16 15:41:16
490
原创 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再 向前推进。安全状态与不安全状态:安全状态指系统能按某种进程顺序来为每个进程分配其所需资源,直 至最大需求,使每个进程都可顺利完成。若系统不存在这样一个序列, 则称系统处于不安全状态。产生死锁的原因:(1)竞争系统资源 (2)进程的推进顺序不当
2015-08-09 20:47:21
6496
转载 c++和java的区别
C++与Java的区别及联系有以下几点:1、 C++和Java在语法上非常相似。2、 Java关注的是安全性,可移植性和快速开发;C++则更多关注性能以及与C向下兼容。3、 Java被编译成虚拟机字节码,需要由虚拟机运行;C++则被编译成本地机器码。这点使C++运行更快。4、 C++是C的超集,保留了许多功能,如内存管理、指针和预处理,这是为了和C保持完全兼容。Java去除
2015-07-22 21:25:51
552
原创 字符串指针与字符数组区别(二)--字符串输出与指针的相加减
1、 字符串的表示形式在C语言中,我们可以用两种方式访问字符串(1) 用字符数组存放一个字符串,然后输出该字符串。main(){ charstring[]="I love China!"; printf("%s\n",string);}(2) 用字符指针指向一个字符串。可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。
2015-07-19 12:57:25
2377
转载 /bin,/sbin,/usr/sbin,/usr/bin 目录之间的简单区别
/bin,/sbin,/usr/sbin,/usr/bin 目录 这些目录都是存放命令的,首先区别下/sbin和/bin: 从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本命令,如ls,chmod等,这些命令在Linux系统里的配置文件脚本里经常用到。 从用户权
2015-07-16 14:04:38
597
转载 字符串指针与字符数组的区别(一)--字符串常量的值不能改
经常犯错的知识点,以前也没有理解,这里再好好的记录下。要经常温固而知新。 用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:1. 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。
2015-07-06 10:22:45
3133
原创 面试题准备(01)-反转句子中单词的顺序
这道题查了很久的资料,最后还是找同学发现了问题。一开始是 char *a="I am a boy!"这样赋值的,这是一个字符串常量,其在程序中是存放在常量区的,其值是不能改变的。一个已经犯了两次的错误。写在这记录下这个错误。//反转句子中单词的顺序 2015.7.5#include #includevoid ReverseWord(char* p, char* q) //单词两边
2015-07-05 17:59:51
612
原创 2015实习求职总结
实习确实是一件令人心累的过程,在不断的笔试、面试和等待中,不断的认清自己的技术水平,不断的调整自己的定位,期间要承受很大的压力,担心着一个笔面的过程。 自己的实习历程其实很长的,从2月底3月初已经开始投简历,一直到4月底才拿到cisco的offer。从家里来的第二天就去携程参加了笔试和面试,期间共参加面试9次,包括爱奇艺,sap,思科等公司由于一开始给自己的定位比较高,想进BAT,摩根这样
2015-05-31 13:27:54
740
原创 2015摩根士丹利(Morgan Stanley)实习电话面试
很荣幸接到了摩根电话面试的通知,做梦都没有想到,因为我笔试做的很烂,想着肯定被刷了,不知道为什么在我午睡的时候收到了预约电面的通知,迷迷糊糊,总之,很幸运。 面试我的面试官是一位中国人,很nice,在我回答的过程中还在哈哈笑,和我互动,不是那么的严肃,让我不是那么的紧张,在刚开始面试的过程中,还有个电话,间断了1分钟左右,然后就是正式开始我的面试过程,大概持续了40分钟左右。电面的问题
2015-05-31 13:23:31
4393
1
原创 CentOS 7安装过程中遇到的问题总结
坑一:在选其它软件方式的时候,总是提示 there is not enough space for system。这时候是因为给”/”分配的空间太小了 。 解决方法: 安装CentOS的过程中,选择软件安装,不要选择最小配置模式,否则只是最基本的命令行。要选择有图形界面的方式。 问题出现在了自定义分区,没有搞清楚 “/” 与 ”/home”的区别??在这里花了很长时间。 建
2015-04-20 21:29:08
3534
原创 学会提问 笔记(二)
继笔记(一),已经形成了基本的思考框架,更完善的就是找内在的逻辑性,以及更深层次的原因。尝试去思考以下几个方面:1 思考证据的效力如何,证据分为一些统计数据、个例、类比等方法,思考其效力如何?2 学会找其它替代原因。大部分持论者只给读者那些他们喜欢的原因,要学会独立思考找出其它的替代原因,这样就更容易理解问题,对问题的认识就更全面。这些只是基本的思考框架,要在真正的
2015-01-26 14:25:34
737
原创 学会提问 笔记(一)
学会提问这本书由尼尔.布朗[美]写,主要讲的是如何形成批判性的思维,包括思考的框架、以及如何批判性的接收信息。由于在平时和老师、学长、听会议的过程中,都经常需要问问题,所以看了这本书。信息的基本结构由论题、结论、理由三部分组成。思考的过程可以如下:1 遇到一个问题,首先看论题是什么?结论是什么?结论为什么是这样的,进而找理由。2 明确了这三部分后,再试着找论题、理由的关键词。看
2015-01-17 19:46:23
1295
原创 编程变量命名的一些技巧
C是一门朴素的语言,你使用的命名也应该这样。与Modula-2和Pascal程序员不同,C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字。C程序员应该叫它“tmp”,这写起来更简单,也不会更难懂。然而,当面对复杂情况时就有些棘手,给全局变量取一个描述性的名字是必要的。把一个全局函数叫做“foo”是一种目光短浅的行为。全局函数也一样,如果你有
2014-11-04 20:00:10
7524
2
原创 高效能人士的七个习惯摘录
1 成熟就是在表达自己的情感和信念的同时又能体谅他人的想法和感受的能力。是敢作敢为与善解人意之间的平衡状态。2 双赢思维。它可以应用在生活的各个方面,不能双赢就好聚好散,果断选择放弃,还不影响关系。3 过分强调效率,就会把时间崩得死死的,然而会产生反效果,使人失去增进感情、满足个人需要以及享受意外之喜的机会。------自己以前就是这样安排时间的,大错特错。 不能让事务牵着鼻子走,
2014-05-11 16:00:22
1130
转载 结构标签(struct tag)与类型定义(typedef)的区别
问题1:两种声明有什么不同?struct x1 {...};typedef struct {...} x2;答:第一种形式声明了一个结构标签,第二种声明了一个“类型定义”。主要区别在于第二种声明更抽象一些,用户不必知道它是一个结构,且在声明它的实例时也不需要使用struct关键字。例如:x2 b;//是OK的但是使用结构标签声明的结构就必须用这样的形式定义:
2014-03-24 21:29:28
4394
原创 科研解决问题的过程
科研的过程首先是发现问题,这类问题大部分都是物理的或者是生活类的。其次是将这类问题用数学建模。再次就是运用仿真工具或者编程实现。最后解决问题。只有这样,才会发现各个环节的重要性,才能弄懂编程和专业知识的关系。掌握这种关系,提高能力,高攀科学的高度。---写于2014.3.14日
2014-03-14 19:13:03
865
转载 C语言指针的初始化和赋值
最近写了一个小程序,遇到一点小问题,是关于指向字符串的指针的。由此一发不可收拾,好奇心驱使我决定研究一下指针的初始化和赋值规则。略有所得之后,执笔记下,以备后用。1、指针的初始化初看起来,指针的初始化和赋值好像很混乱,又是*,又是&,时不时又出来一个数组。其实总结起来很简单:int *p;int a=25;int b[10];int *m=&a;int *n=b;
2014-03-13 17:03:18
848
转载 转:程序员关于读书和选书
现代的社会当中,大家的工作都很匆忙,读书的机会还真是不多。相比较而言,人们的获取消息的方式更加多样,比如网络、电视、杂志等等。但是就我个人而言,我还是习惯与从书中获取信息。特别是一些深刻的思想和理论,这些内容根本不可能从网络和杂志获取。除非经过反复的思考和斟酌,否则你对知识和人生的理解不会有那么深刻。不管你的性别、你的学历、你的国籍,通过书籍你都可以使得心灵变得宁静,可以看到不同人的看法,可以攫取
2014-01-11 15:55:47
667
用matlab实现的发送邮件的程序
2014-12-23
MIMO调度、预编码算法
2014-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人