经典编程题
文章平均质量分 57
dmfrm
这个作者很懒,什么都没留下…
展开
-
华为2016机试题目: 最高分是多少
题目描述:老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 输入描述: 输入包括多组测试数据。 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。 学生ID编号从1编到N。 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的原创 2015-08-24 22:14:56 · 4604 阅读 · 2 评论 -
华为机试题:字符串最后一个单词的长度
描述 计算字符串最后一个单词的长度,单词以空格隔开。 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128。 输出 整数N,最后一个单词的长度。样例输入 hello world 样例输出 5#include <stdio.h>#include <string.h>int main(){ char szStr[128原创 2015-08-25 00:30:38 · 721 阅读 · 0 评论 -
360在线笔试题:水仙花数
#include<iostream>#include <math.h>using namespace std;int main(){ int m = 0, n = 0; int index = 0; int bai= 0, shi = 0,ge = 0; int count = 0; while((cin >> m >> n) ) {原创 2015-08-10 18:40:05 · 787 阅读 · 0 评论 -
360在线笔试题:求数列的和
题目要求: #include <stdio.h>#include <math.h>int main(){ double sum = 0; int index = 0; double temp = 0; int n = 0 ,m = 0; while(scanf("%d%d",&n,&m) != EOF) { temp = n * 1.原创 2015-08-10 18:56:02 · 594 阅读 · 0 评论 -
360笔试题:求么b相对于a的相对路径
题目如下: 在写一个函数,根据两文件的绝对路径算出相对路径。如 a=”/qihoo/app/a/b/c/d/new.c”,b=”/qihoo/app/1/2/test.c’,那么b相对于a的相对路径是”../../../../1/2/test.c”#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ c原创 2015-08-10 21:06:58 · 1081 阅读 · 0 评论 -
笔试题:把一串字符串中单词逆序
例如输入: wang zheng jun输出: gnaw gnehz nuj#include <stdio.h>#include <string.h>int main(){ char str[100] = {0}; int len = 0; int count = 0; int index = 0; char ch = 0; int begin原创 2015-08-25 09:58:23 · 1522 阅读 · 0 评论 -
华为机试题: 字符串逆序
描述 将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”。输入参数: inputString:输入的字符串返回值: 输出转换好的逆序字符串知识点 字符串 运行时间限制 10M 内存限制 128输入 输入一个字符串,可以有空格输出 输出逆序的字符串 样例输入 I am原创 2015-08-25 10:08:39 · 3261 阅读 · 0 评论 -
360 2015年在线笔试题:最后一个字符
题目描述: 代码实例:提交编译通过的#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int numbers = 0; char szData[1000] = {0}; char szFirst[1000][2] = {"\0"}; int i = 0,j = 0,cou原创 2015-08-14 23:39:48 · 718 阅读 · 0 评论 -
华为机试:名字的漂亮度
题目描述:描述给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。给出多个名字,计算每个名字最大可能的“漂亮度”。知识点字符串运行时间限制0M内存限制原创 2015-09-01 20:53:44 · 752 阅读 · 0 评论 -
华为机试题:图片整理
描述Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。 知识点字符串运行时间限制0M内存限制0输入Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或原创 2015-09-01 19:17:44 · 1037 阅读 · 0 评论 -
C++ 笔试题整理 一
1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是() A、插入排序 B、堆排序 C、冒泡排序 D、快速排序答案: A (插入排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2) 冒泡排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2)原创 2015-09-05 23:03:48 · 973 阅读 · 0 评论 -
滴滴快的笔试题:最长和为零的子数组
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int main(){ vector vec; int data = 0; char原创 2015-09-25 21:52:19 · 1382 阅读 · 0 评论 -
滴滴快的笔试题:最大子矩阵
20:58:09骆向南 2015/9/25 20:58:09#include #include #include #include using namespace std;int main(void){ string line; getline(cin, line); char *str = new char[line.size() + 1];原创 2015-09-25 21:55:34 · 1288 阅读 · 0 评论 -
华为OJ平台题目:(练习用)挑7
描述输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数知识点循环运行时间限制0M内存限制0输入一个正整数N。(N不大于30000)输出不大于N的与7有关的数字个数,例如输入20,与7有原创 2015-09-14 11:25:06 · 2042 阅读 · 0 评论 -
PAT 1027 打印沙漏
题目分析:对于输入的正整数N(N 假设沙漏的行数的x,需要的字符为f(x),通过数学公式的计算得到f(x)与x的关系,关系如下:这样对于属于的N我们就可以得到沙漏的行数,就可以按照题目要求的格式打印出来。代码如下:#include #include int main(void){ int num = 0; char ch = 0; int l原创 2015-05-10 11:40:59 · 8227 阅读 · 1 评论 -
PAT 1006部分A+B
题目描述 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入描述: 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。输出描述: 在一行中输出PA + PB的值。输入例子:原创 2015-08-21 16:28:39 · 599 阅读 · 0 评论 -
华为OJ试题:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;/* 求英文字母的大小*/static int getEnglishCharCount(st原创 2015-09-29 19:34:58 · 1205 阅读 · 0 评论 -
华为OJ:判断两个IP是否属于同一子网
这道题目要判断输入的子网掩码和ip地址是否合法。#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int checkNetSegment(s原创 2015-09-29 11:29:45 · 1776 阅读 · 0 评论 -
华为OJ平台题目:火车进站
描述给定一个正整数N代表火车数量,0知识点栈运行时间限制0M内存限制0输入有多组测试用例,每一组第一行输入一个正整数N(0输出输出以字典序排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行,具体见sample。样例输入原创 2015-09-14 16:19:28 · 3250 阅读 · 0 评论 -
华为机试:计算两个字符串的最大公共字串的长度,字符不区分大小写
#include <iostream>#include <string>#include <stdlib.h>using namespace std;int getCommonStrLength(char * pFirstStr, char * pSecondStr){ int i = 0, j = 0, k = 0; int count = 0, temp = 0;原创 2015-08-28 23:10:34 · 1728 阅读 · 0 评论 -
华为OJ平台题目:蛇形矩阵
描述题目说明蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211接口说明原型void GetResult(int Num, char * pResult);输入参数: int Num:输入的正整数N输出参数: int * pResult:指向存放蛇形矩阵的字符串指针原创 2015-09-14 19:07:00 · 3435 阅读 · 0 评论 -
华为OJ平台题:字符串加解密
描述题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。3、解密方法为加密的逆过程。 接口描述: 实现接口,每个接口实现1个基本操作:void Encrypt (char aucPass原创 2015-09-14 18:30:08 · 2192 阅读 · 0 评论 -
华为OJ试题:输入n个整数,输出其中最小的k个
述输入n个整数,输出其中最小的k个。详细描述:接口说明原型:bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);输入参数: unsignedint uiInputNum //输入整数个数int * pInputArray //输入整数数组unsig原创 2015-10-08 10:56:38 · 1189 阅读 · 0 评论 -
华为机试:查找字符串
#include #include #include #include #include #include #include #include #include using namespace std;int main(){ string s , p; int location = 0; int count = 0; cin >> s >原创 2015-10-12 10:14:43 · 821 阅读 · 0 评论 -
华为机试:输入法查找
#include #include #include #include #include using namespace std;/* 把输入的每一行的编码解析为拼音和汉字 */void parse_raw(string &str, string &hanzi, string &pinyin){ const char *p = str.c_str(); const char原创 2015-10-12 10:18:12 · 1326 阅读 · 0 评论 -
华为机试:过滤重复单词
#include #include #include #include #include #include #include #include using namespace std;int main(){ char str[200] = { 0 }; char strbak[200] = { 0 }; char *token = NULL; map wordMap原创 2015-10-12 10:15:53 · 1934 阅读 · 1 评论 -
[牛客网--左老师]局部最小值位置
定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1]又有arr[i]<arr[i+1],那么arr[i]是局部最小。 给定无序数组arr,已知arr中任意两个相邻的数都不原创 2015-11-15 21:42:08 · 740 阅读 · 0 评论 -
[牛客网-左老师]左右最值最大差
给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?给定整数数组A和数组的大小n,请返回题目所求的答案。测试样例:[2,7,3,1,1],5返回#include #include usi原创 2015-11-13 23:08:21 · 1620 阅读 · 0 评论 -
[牛客网-左老师]最短排序
对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。给定一个整数数组A及它的大小n,请返回最短子数组的长度。测试样例:[1,5,3,4,2,6,7],7返回:4#include #include using namespace std;/* 时间复杂度为O(n),空间复杂度为O(1) */class ShortSubsequence原创 2015-11-13 21:31:43 · 779 阅读 · 0 评论 -
PAT 1023 组个最小数
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。原创 2015-12-08 20:24:20 · 629 阅读 · 0 评论 -
华为OJ:删除重复字符
描述: 题目标题:删除重复字符给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串。需要保证字符出现的先后顺序,并且区分大小写。详细描述:接口说明原型:int GetResult(const char *input, char *output)输入参数: input原创 2016-01-15 19:06:51 · 1338 阅读 · 0 评论 -
华为OJ: IP地址判断有效性
IP地址判断有效性 答题时间: 00 小时 00 分 09 秒描述: 题目标题:判断输入的字符串是不是一个有效的IP地址 详细描述:请实现如下接口boolisIPAddressValid(constchar* pszIPAddr)输入:pszIPAddr 字符串输出:原创 2016-01-15 20:09:36 · 727 阅读 · 0 评论 -
华为OJ:字符串最后一个单词的长度
描述: 计算字符串最后一个单词的长度,单词以空格隔开。知识点: 字符串,循环 题目来源: 内部整理 练习阶段: 初级 运行时间限制: 无限制内存限制: 无限制输入: 一行字符串,长度小于128。输出: 整数N,最后一个单词的长度。样例输入: helloworld 样例输原创 2016-01-16 15:14:29 · 776 阅读 · 0 评论 -
华为OJ:阿姆斯特朗数
描述: 如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数),1除外,如407 = 43+03+73就是一个阿姆斯特朗数。试编程求n(n ≤ 65536)以内的所有阿姆斯特朗数。 接口说明原型: int CalcArmstrongNumber(int n);输入参数: int n: n ≤ 65536 返回值原创 2016-01-16 15:50:36 · 928 阅读 · 0 评论 -
矩阵的最小路径和(空间压缩)
题目:已知矩阵1 3 5 98 1 3 45 0 6 18 8 4 0以1 ,3 ,1, 0 , 6,1 ,0路径和最小,所以返回12 下面代码示例给出通常动态规划解决方法空间复杂度为O(M*N),同时给出空间压缩之后的方法,空间复杂度为O(min{M,N});#include #include #include #include #原创 2015-12-05 15:49:01 · 976 阅读 · 0 评论 -
PAT 1019 数字黑洞
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 8原创 2015-12-04 13:52:11 · 630 阅读 · 0 评论 -
PAT 1005 继续(3n+1)猜想(详解)
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、4、2是被原创 2015-12-04 21:03:11 · 3295 阅读 · 0 评论 -
子数组最大乘积
给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积。例如arr=[-2.5,4,0,3,0.5,8,-1],子数组[3,0.5,8]累乘可以获得最大的乘积12,所以返回12。class Solution {public: double maxProduct(vector arr) { if (arr.empty())原创 2015-12-04 23:44:15 · 567 阅读 · 0 评论 -
剑指offer:不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号class Solution {public: int Add(int num1, int num2) { int sum = 0, flow = 0; do { sum = num1 ^ num2;原创 2015-10-06 21:03:05 · 538 阅读 · 0 评论 -
剑指offer:孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1原创 2015-10-06 20:45:03 · 534 阅读 · 0 评论