
C++
-Benson-
他强任他强
展开
-
网易笔试编程题:最少时间落入陷阱(C++)
题目: 有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。 输入描述: 第一原创 2016-08-27 11:47:44 · 1416 阅读 · 0 评论 -
写一个类的构造函数、复制构造函数、析构函数、赋值函数
class CMyString{public:CMyString(char* pData = NULL);CMyString(const CMyString& str);~CMyString(void);CMyString& operator = (const CMyString& str);void Print();private:char原创 2016-04-19 20:34:37 · 3888 阅读 · 1 评论 -
编程题:动态规划---从左上角到右下角的价值最大的路径
昨晚笔试腾讯2016年暑假实习移动开发岗,编程题第一题大概题目是:一个m*n的矩阵,只能向右走或是向下走,矩阵每一个元素代表一个财富值,要求打印出从左上角到右下角走的财富最大总值。如输入m=4 ,n=5,输入矩阵value={ 0 0 7 0 0 , 0 0 0 5 0, 2 0 4 0 0, 0 0 0 3 0},打印出最大财富总值是15。这原创 2016-04-03 14:55:14 · 12664 阅读 · 2 评论 -
腾讯笔试编程题:算法基础-字符移位(C++)
题目: 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗?输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述: 对于每组数据,输出移位后的字符串。输入例子: AkleBiCeilD输出例子: kleieilABCD分析: 直接用原创 2016-09-04 14:49:03 · 1972 阅读 · 0 评论 -
腾讯笔试编程题:两两二元组差最小最大对数(C++)
题目: 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述: 输入包含多组测试数据。对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX.输出描述: 对于每组数据,输出两个数,第一个数表示差最小的对数,第原创 2016-09-04 22:42:03 · 6067 阅读 · 2 评论 -
C++中的Split函数(字符串自动分割)
函数原型:C/C++中的Split函数是strtok(),其函数原型如下: char * strtok (char * str, const char * delimiters); 函数说明 :strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则原创 2016-09-18 10:03:29 · 21765 阅读 · 2 评论 -
C++中数字与字符串之间的转换
1、字符串之间的转换(1)string –> char * string str(“OK”); char * p = str.c_str(); …………………………………………….(2)char * –>string char *p = “OK”; string str(p); …………………………………………….(9)string->double dou原创 2016-09-18 10:17:04 · 778 阅读 · 0 评论 -
C++把输入的一连串逗号分隔的数字存到数组
需求:输入一连串数字,数字之间逗号隔开,把数字存到数组或者向量里。代码:#include <iostream>#include <string>#include <vector>#include "stdio.h"using namespace std;int main (){ string s; while(cin>>s){ vector<int>nums;原创 2016-09-18 11:13:16 · 25691 阅读 · 0 评论 -
京东笔试编程题:进制均值(C++)
题目: 计算机经常用不同的进制表示同一个数,比如十进制123表达为十六进制时只包含两位数7B,表达为八进制是三位数173,按不同进制表达时,各个位数的和不同,如上述十六进制和八进制各位数的和分别是18和11. 一个数如果按2到A-1进制表达时,各个位数之和的均值是多少?输入: 输入中有多组测试数据,每组测试数据为一个整数A(1<=A<5000).输出: 对每组测试数据,在单原创 2016-09-05 21:40:46 · 1906 阅读 · 0 评论 -
网易有道编程题:洗牌算法(C++)
题目:洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌原创 2016-08-26 21:11:05 · 4438 阅读 · 0 评论 -
C++ 将整数、浮点数转为字符串
前言:用 sprintf可以把整数、浮点数转为字符串。1、整数int main(int argc, const char * argv[]) { int n = 12345;//待转整数 char strN[50];//转换后的字符串 sprintf(strN, "%d", n); cout<<strN<<endl;//输出 return 0;}结果: 2、浮原创 2016-08-18 21:30:52 · 8428 阅读 · 0 评论 -
腾讯笔试编程题:构造回文(C++)
题目: 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。 如何删除才能使得回文串最长呢? 输出需要删除的字符个数。输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述: 对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子: abcda google输出例子: 2原创 2016-09-03 16:42:51 · 6310 阅读 · 1 评论 -
网易笔试编程题:有限次数下位置查找(C++)
题目: 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃。最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7。因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次。贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,014原创 2016-08-27 16:36:03 · 1341 阅读 · 0 评论 -
网易笔试编程题:最多可放蛋糕数(C++)
题目:二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。 对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋糕在网格盒子里。 输入描述: 每组数组包含原创 2016-08-27 11:22:51 · 2697 阅读 · 0 评论 -
网易笔试编程题:统计回文(C++)
题目: “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。 例如:原创 2016-08-27 13:42:50 · 2111 阅读 · 0 评论 -
网易笔试编程题:两种排序方法(C++)
题目: 考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如: “car” < “carriage” < “cats” < “doggies < “koala” 2.根据字符串的长度排序。例如: “car” < “cats” < “koala” < “doggies” < “carriage” 考拉想知道自己的这些字符串排列顺序是否满足这两种排原创 2016-08-27 17:56:47 · 1506 阅读 · 0 评论 -
网易笔试编程题:小易喜欢的单词(C++)
题目: 小易喜欢的单词具有以下特性: 1.单词每个字母都是大写字母 2.单词没有连续相等的字母 3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。 例如: 小易不喜欢”ABBA”,因为这里有两个连续的’B’ 小易不喜欢”THETXH”,因为这里包含子序列”THTH” 小易不喜欢”ABACADA”,因原创 2016-08-27 23:11:22 · 2729 阅读 · 3 评论 -
网易笔试编程题:到Fibonacci数最小步数(C++)
题目: Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把原创 2016-08-28 11:18:42 · 2442 阅读 · 0 评论 -
20分钟复习《剑指Offer》
1.如下为类型CMyString的声明,请为该类型添加赋值运算符函数。3.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否函数该整数。 右上角开始4.请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入”We are happy”,则输出”We%20are%20happy”。 两个原创 2016-08-18 20:36:57 · 1200 阅读 · 0 评论 -
百度笔试编程题:最大子阵和(C++)
题目: 问题: 求一个M*N的矩阵的最大子矩阵和。 比如在如下这个矩阵中: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 拥有最大和的子矩阵为: 9 2 -4 1 -1 8 其和为15。思路: 首先,这个子矩阵可以是任意大小的,而且起始点也可以在任何地方,所以,要把最大子原创 2016-09-13 21:39:33 · 2136 阅读 · 0 评论 -
百度笔试编程题:爬行的蚂蚁(c++)
题目: 有一个长m细木杆,有n只蚂蚁分别在木杆的任意位置。 木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头, 但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。 编写程序,求所有蚂蚁都离开木杆 的最小时间和最大时间。思路: 首先,讲一下思路:蚂蚁碰头后掉头,可以当作蚂蚁可以直接原创 2016-09-13 21:35:46 · 5631 阅读 · 1 评论 -
编程题:将一句话里的单词进行倒置
腾讯2016年4月2号暑假实习移动开发岗的笔试题,编程题第四题大概题目是:将一句话中的单词进行倒置(单词之间倒转,单词本身不倒置),标点符号不倒置。比如一句话“I come from China. “,倒置后变成“China. from come I”。C++的参考代码如下:#include#include#include#includeusing原创 2016-04-03 15:21:58 · 8761 阅读 · 2 评论 -
网易有道编程题:恢复队列(C++)
题目:小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序: while(!Q.empty()) //队列不空,执行循环 { int x=Q.front(); //取出当前队头的值x Q.pop(); //弹出当前队头 Q.push(x);原创 2016-08-18 10:01:40 · 3226 阅读 · 2 评论