
华为OJ
Dragon_F
这个作者很懒,什么都没留下…
展开
-
华为OJ(字符串排序)
描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。 如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。 如,输入:By?e 输出:Be?y样例: 输入: A Famous Saying:原创 2016-08-23 22:39:10 · 1273 阅读 · 0 评论 -
称砝码 -动态规划 华为OJ
#include using namespace std; /* 分析:创建一个数组,数组的需要用来标识有可能获得的砝码重量。数组大小为所有砝码重量相加。 哪些需要被标记:1、 重量为0需要被标记(题目要求) (单独处理f[0]=true) 2、每种砝码重量的倍数(数量不超过指定砝码的个数) 3、不同砝码之间的组合原创 2016-08-24 20:40:05 · 2862 阅读 · 0 评论 -
字符串最后一个单词的长度
int GetLastWordLength(char* str){ int len=strlen(str); int i=0; while(*(str+len-1-i)!=' '){ i++; }return i;}原创 2016-08-23 23:17:57 · 448 阅读 · 0 评论 -
日期天数转换
//平年365天 闰年366天//闰年:年数是400的整数倍,或者年数是4的整数倍并且不是100的整数倍int calculate_day(int year,int month,int day);void main(){int year=0,month=0,day=0,sum=0;while(1){cin>>year>>month>>day; sum=calculate_day(year,m原创 2016-07-15 11:51:47 · 3545 阅读 · 0 评论 -
验证尼科彻斯定理
/**********************验证尼科彻斯定理***************************************************************************///验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。//除了这里的,可参考利用vector的,http://blog.youkuaiyun.com/sunnyyoona/a原创 2016-07-15 11:58:59 · 843 阅读 · 0 评论 -
打印字符串反转
/*打印字符串反转----一个简单的递归搞定*//*void stringreverse(string s,int start){ //把指指针不断地往后,当指针指向最后一个字符(字符串的结束符时往回开始打印) if(start==s.length()) return; stringreverse(s,start+1); cout<<s[start];}原创 2016-07-15 12:02:13 · 685 阅读 · 1 评论 -
打印蛇形矩阵
/*题目说明蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211*///方法1 --此方法也不烂,不过得找规律哦/*思想:找规律;一行行打印;每行打印元素的个数为下列参数:n+1-i 找出每一行的第一个元素的规律:程序中的out0参数; 确定每一行第一个递增原创 2016-07-15 12:16:17 · 1122 阅读 · 0 评论 -
输入一个整数,将这个整数以字符串的形式逆序输出
/*描述: 描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001知识点: 字符串 样例输入: 1516000 样例输出: 0006151*//*void main(){int n;char str[MAX];while(1){原创 2016-07-15 17:16:13 · 7312 阅读 · 0 评论 -
放苹果
设f(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论, 当n>m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m) 当n 1、有至少一个盘子空着,拿掉一个盘子,即相当于f(m,n) = f(m,n-1); 2、所有盘子都有苹果,相当于可以从原创 2016-07-17 18:46:39 · 275 阅读 · 0 评论 -
输入n个整数,输出其中最小的k个。 ---冒泡
/*输入n个整数,输出其中最小的k个。 详细描述:接口说明原型:bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint uiK, int * pOutputArray);*/void main(){ unsigned int n,m; int inputArray[MAX]={0},outpu原创 2016-07-16 15:05:03 · 440 阅读 · 0 评论 -
小球落地
//小球落地//假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, //求它在第5次落地时,共经历多少米?第5次反弹多高?//high 为高度,sum为总路程,经过n次落地,计数i当前第几次落地void getJourney(int high,int* sum,int n,int i);void main(){int high=0,n=0,i=1,sum原创 2016-07-15 23:28:28 · 519 阅读 · 0 评论 -
华为oj: 图片整理
/*Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。eg:输入:Ihave1nose2hands10fingers 输出:0112Iaadeeefghhinnnorsssv 思路:对于无序数据排序问题----可用排序都可以解决*/void sortpic(char*原创 2016-07-15 20:06:04 · 773 阅读 · 2 评论 -
完全数计数
/*****************************************************************************************************************//** * * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 * 它所有的真因子(即除了自身以外的约数)的和(即因子函数),原创 2016-07-15 22:37:45 · 407 阅读 · 0 评论 -
统计兔子总数--斐波那契数列
//有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//要点:斐波那契数列void main(){ int n; while(1){ cin>>n; if(n>0 && n<=120) cout<< rabbit_num(n)<<endl; else cout<<"请输入大于0,小于120的整数原创 2016-07-15 18:25:31 · 734 阅读 · 0 评论 -
变形的杨辉三角形--华为
/* 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置原创 2016-07-16 17:15:00 · 1003 阅读 · 3 评论 -
移动坐标
/*开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。 下面是一个简单的例子 如:原创 2016-07-17 16:32:40 · 650 阅读 · 2 评论 -
华为笔试题1-2016
老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩原创 2016-08-24 23:20:33 · 933 阅读 · 1 评论