- 博客(63)
- 资源 (3)
- 收藏
- 关注
原创 2016华为机试
[编程题]最高分是多少老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数
2016-08-30 20:48:08 566
原创 超长正整数相加
#include #include using namespace std;void add(string s1,string s2) { int len1=s1.size(); int len2=s2.size(); int a[100]={0},b[100]={0}; //将字符串输入到整型数组中,低位放在第0位
2016-08-29 20:50:03 464
原创 放苹果
对于m个苹果,n个盘子f(m,n):如果m如果m>n,那么有两种情况:一种有空盘子的情况,一种没有空盘子的情况,两种情况不重叠且加一起一定为情况总数。第一种情况:m个苹果放在n-1个盘子里,因为至少有1个空盘子,即f(m,n-1)第二种情况:每个盘子都至少有一个苹果,m-n个苹果再放到n个盘子里,即f(m-n,n)。由上面两种情况得到递归式f(m,n)=f(
2016-08-29 09:51:19 379
原创 查找组成一个偶数最接近的两个素数
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 请实现如下接口 public static class PrimePair { public int primeMin; public int primeMax; } public static PrimePair fin
2016-08-28 22:11:22 439
原创 二进制中1的个数
请实现如下接口 public static int findNumberOf1(intnum) { /* 请实现 */ return 0; }譬如:输入5 ,5的二进制为101,输出2 涉及知识点:位运算知识点位运算运行时间限制10M内存限制128输入
2016-08-27 17:07:29 403
原创 最长公共子字符串
题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串 知识点字符串,查找
2016-08-27 16:57:27 490
转载 C++拷贝构造函数详解
这篇是转载的感觉再写不出比这还清晰的了,附上链接http://blog.csdn.net/lwbeyond/article/details/6202256一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100;
2016-08-25 19:45:29 297
原创 C++多态
前言c++的 多态性可以简单地概括为“一个接口,多种方法”,定义有不同版本,版本一 a、编译时多态性:通过重载函数实现 b、运行时多态性:通过虚函数实现。版本二:程序在运行时才决定调用的函数所以只有b。本文都讲一下。1、运行时多态,虚函数实现1.1覆盖(重写)和重载 虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。(这里
2016-08-25 10:23:45 249
原创 合唱队
#include#include using namespace std;void getuplen(int * vec,int len,int * uplen){ for(int i=0;i { uplen[i]=1; for(int j=0;j { if(vec[i]>vec[j]&&uplen[i] u
2016-08-21 22:23:53 308
原创 STL源码剖析笔记四List
相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。 list不仅是一个双向链表,而且还是一个环状双向链表。另外,还有一个重要性质,插入操作和接合操作都不会造成原有的list迭代器失效,这在vecto
2016-08-21 21:16:04 301
原创 STL源码剖析笔记三vector
三、vector容器 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细都得由客户端自己来:首先配置一块新空间,然后将元素从旧址一一搬往新址,再把原来的空间释还给系统。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,
2016-08-21 19:21:29 294
原创 STL源码剖析笔记二迭代器
二、迭代器2.1C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具;通常有两种形式:函数模板和类模板;函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。 注意:模板的声明或定义只能在全局,命名空间或
2016-08-20 19:44:46 501
原创 STL源码剖析笔记一空间配置器
今天终于开始了计划很久的看STL源码,过程应该很艰巨,我争取书博客各看一遍,为了防止看了就忘,准备做好笔记,在5天内看完。加油!一、空间配置器allocator1.1简介整个STL的操作对象都存放在容器中,而容器一定需要配置空间置放资料。空间不一定是内存,也可以是磁盘或其他辅助媒介。C++的内存配置操作和释放操作一般是这样:class foo{...}foo* pf=new
2016-08-20 14:19:24 329
原创 有道内推笔试
小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序:while(!Q.empty()) //队列不空,执行循环{ int x=Q.front(); //取出当前队头的值x Q.pop(); //弹出当前队头 Q.push(x);
2016-08-18 21:23:53 371
原创 动态二维数组的传参与删除
昨晚有道编程题,题目不难,但是写代码卡在了很多小问题上,才发现对于c++的基础知识很多其实是不清楚的1、首先,对于面向行的输入int a,b;cin>>a;cin>>b;这就是面向行的输入,如果一行输入两个数值,空格间隔cin>>a>>b;对于字符串数组型;char str[100];gets(str);strlen(str);字符串型:stri
2016-08-18 11:30:38 509
转载 大神找工作总结二
大神基友的找工作总结,必须转载保存:原网址:http://blog.csdn.net/lingfengtengfei/article/details/12658215转折后的总结--找工作 好吧,还是忍不住做个总结,毕竟还是我人生中一次比较大的事件了。非常感谢华科,我的第二个母校能提供给我一个优秀的平台。非常感谢信息安全与保密实验室607室的老师们,给我
2016-08-16 21:00:26 526
转载 大神找工作总结一
版权声明:本文为博主原创文章,未经博主允许不得转载。转发请注明出处:http://blog.csdn.net/xiajun07061225/article/details/12844801 其实我的求职过程在十一之前就已经结束了,总体讲比较顺利。参加面试的几家公司基本都拿到了offer,分别是阿里巴巴、美团网、创新工场涂鸦移动以及华为。当时也参加了其他公司的面试,比如人人,
2016-08-16 20:59:34 1372
原创 扑克牌顺子
题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12
2016-08-15 22:00:15 304
原创 孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去
2016-08-15 21:17:41 309
原创 求1+2+3+...+n
题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。class Solution {public: int Sum_Solution(int n) { int sum=0; return add(n,sum); }
2016-08-15 20:29:59 343
原创 不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。class Solution {public: int Add(int num1, int num2) { int sum,carry; do{ sum=num1^num2; carry=(num1&nu
2016-08-15 19:58:41 186
原创 数据流中的中位数
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。class Solution {public: void Insert(int num) { data.push_back(num); st
2016-08-15 16:18:45 264
原创 二叉搜索树的第k个结点
题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。中序遍历压入栈中/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNo
2016-08-13 17:59:05 206
原创 序列化二叉树
题目描述请实现两个函数,分别用来序列化和反序列化二叉树这个有点难哎,我要回头再看一下class Solution { public: char * Str2Char( string str) { char * rt_ptr = new char[str.length() + 1]; rt_ptr [s
2016-08-13 17:40:09 203
原创 按之字形顺序打印二叉树
题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :
2016-08-13 09:20:07 184
原创 把二叉树打印成多行
题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。根据队列的思路来做,记录每次需要打印的一行个数,内循环,打印完成后,压入 vec;直到队列为空/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNod
2016-08-12 22:35:24 232
原创 对称的二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。对称的二叉树,前左右,前右左,两种遍历完全一样/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode
2016-08-12 22:00:55 228
原创 二叉树的下一个结点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。输入节点为A如果A有右子树,遍历A右子树的左子树到底如果A没有右子树,访问其父节点B,如果B的左子树是A输出返回,如果B的右子树是A继续遍历父节点,直到到达根节点using namespace std;/*st
2016-08-12 21:36:42 233
原创 字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路:字符流:像流水一样的字符,一去不复返,意味着只能访问一次。
2016-08-12 17:38:08 335
原创 表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。class Solution {public: bool isNumeric(char* s
2016-08-12 15:55:06 229
原创 正则表达式匹配
题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配class Solution {public: bool matc
2016-08-12 15:05:22 265
原创 构建乘积数组
题目描述给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。class Solution {public: vector multiply(const vector& A) {
2016-08-12 12:04:21 204
原创 数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。class Solution {public: // Parameters: //
2016-08-12 10:08:15 223
原创 把字符串转换成整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。class Solution {public: int StrToInt(string str) { bool flag=true;//正数 int num=0; int k=0; if(str.length()
2016-08-11 17:19:38 220
原创 左旋转字符串
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!cbaXYZdef ----- cbafedZYX ----- XYZdefab
2016-08-11 14:47:28 186
原创 翻转单词顺序列
题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?class
2016-08-11 11:25:47 316
原创 滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],
2016-08-11 10:08:24 293
原创 c++笔记一
类的声明及定义1. class、struct、union保留字都可以用来声明和定义类。class中成员默认为private类型,struct、union与C语言兼容,成员默认为public类型。2. 只有当类没有显式的定义构造/析构函数时,C++才会提供默认的构造/析构函数;默认的构造函数只负责创建对象,不做任何初始化工作。3. 程序正常退出时,析构函数会被隐式调用;
2016-08-07 22:35:16 395 4
原创 c++部分语法知识
C++基础知识1、 c++如何多态实现机制与java的区别?多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。类的多态性,是指用虚函数和延迟绑定来实现的(运行时)。函数的多态性是函数的重载。(编译时)存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。 在基类的函数前加上virtu
2016-08-07 22:07:53 324 4
原创 和为S的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述:输出所有和为S的
2016-08-07 11:38:42 219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人