摘要:假设有n项作业位于就绪队列中,这些作业的提交时间用数组requestTimes按照提交时间的先后顺序存储,对应的作业服务时间(持续时间)用数组durations存储。采用SJF算法,计算n项作业的平均等待时间。当存在多个相同长度的短作业时,按照提交时间的先后顺序进行调度。假设0<= n <= 100
阅读全文
08 2016 档案
摘要:原链接:http://www.nowcoder.com/live/2/5/1,本文内容由牛客网左老师的讲课内容整理而来。 KMP算法用于字符串匹配,其时间复杂度为o(n+ m),其中n为原字符串的长度,m为匹配字符串的长度,一般n > m,所以其时间复杂度也可以认为是o(n) 如假设有字符串str,
阅读全文
摘要:什么是动态规划方法? 面试中遇到的暴力递归题目可以优化成动态规划方法的大体过程: 动态规划方法的关键点: PS:之所以认为动态规划比较难,是因为对于暴力搜索不了解,导致对其优化过程不了解,找不出状态转移方程,画不出状态转移表,最终也无法写出动态规划。 此外:对于经典的动态规划问题如:硬币找零问题、0
阅读全文
摘要:标准库函数atoi用于将字符串类型的数据转换为整形数据:在转换过程中要考虑空指针、空字符串""、正负号,溢出等情况 这里是将字符串str转换为32位整型,其正数的最值为0x7FFFFFFF,负数的最小值为0x80000000(可参考有符号类型的最小负数的补码的由来),通过这两个值来判断是上溢还是下溢
阅读全文
摘要:构造函数的任务是初始化数据成员的,在类中,如果没有显示定义任何构造函数,编译器将为我们创建一个构造函数,称为合成的默认构造函数,合成的默认构造函数使用与变量初始化相同的规则来初始化成员。即当类中的数据成员没有在构造函数中显示初始化,将执行默认初始化: 1.对于内置类型(如int,double,cha
阅读全文
摘要:约瑟夫环问题: 0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字,求出这个圆圈里剩下的最后一个数字。 这里给出以下几种解法, 1.用队列模拟 每次将前m-1个元素出队,出队元素放入队列的末尾,再循环即可,这种方法时间复杂度为O(mn)(每找出一个数字需要m步运
阅读全文
摘要:1. 洗牌 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description:洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下
阅读全文
摘要:原题 答案:1,4 1. vector,erase(pos),直接把pos+1到finish的数据拷贝到以pos为起点的区间上,也就是vector的长度会逐渐变短(所有元素前移),而后iter会逐渐往后移动,直到iter == cont.end(),由于容器中end()返回的迭代器是最后一个元素的下
阅读全文
摘要:二叉树的前序遍历是:根结点、左结点、右结点 假设我们要构造的二叉树是:前序遍历ABDCE,因程序中要知道叶子结点,扩展后为AB#D##C#E## 代码如下图所示: 输出结果:
阅读全文
摘要:转载自http://www.cnblogs.com/kevinGaoblog/archive/2012/03/23/2413102.html 一个由C/C++编译的程序占用的内存分为以下几个部分: 堆和栈的区别: 1、由以上综述就可以得知,他们程序的内存分配方式不同。 2、申请和响应不同: (1)申
阅读全文