C++
带饿人好恶啊
这个作者很懒,什么都没留下…
展开
-
【剑指Offer编程题】二维数组中的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector > array) { if (array.empty()) retur原创 2018-02-05 13:39:18 · 234 阅读 · 0 评论 -
最大的奇约数
题目描述小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11.现在给出一个N,需要求出 f(1) + f(2) + f(3).......f(N)例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 +原创 2018-02-05 09:58:06 · 443 阅读 · 0 评论 -
统计回文
输入字符串A,B,且字符串只包含小写字母例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:* 在A的第一个字母之前: "baba" 不是回文 * 在第一个字母‘a’之后: "abba" 是回文 * 在字母‘b’之后: "abba" 是回文 * 在第二个字母'a'之后 "abab" 不是回文 所以满足条件的答案为2#include #incl原创 2018-02-02 17:22:57 · 326 阅读 · 0 评论 -
句子反转
题目描述给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”#include#include#includeusing namespace std;int main(){ string str; getline(cin, str);//如原创 2018-01-18 15:47:22 · 279 阅读 · 0 评论 -
倒置字符串
题目描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例1输入I like beijing.输出原创 2018-01-26 09:56:30 · 1745 阅读 · 0 评论 -
输入m,n,输出m,n之间所有的水仙花数(C++)
#include#includeusing namespace std;int waterFlower(int m, int n){ int flag = 0; for(int i = m; i <= n; i++) { int abc = 0; int b_num = i; int a_num = 0;原创 2018-01-18 10:53:19 · 11250 阅读 · 1 评论 -
删除公共字符
题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例1输入They are students. aeiou原创 2018-01-25 15:24:57 · 190 阅读 · 0 评论 -
彩色宝石项链
题目描述有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能够拿到最多的宝石。原创 2018-01-24 16:58:34 · 266 阅读 · 0 评论 -
【编程题】求和
题目描述输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合示例1输入5 5输出1 42 35//参考http:翻译 2018-01-24 11:42:51 · 656 阅读 · 1 评论 -
网格走法数目
题目描述有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。输入描述:输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。输出描述:输出包括一行,为走法的数目。示例1输入3 2原创 2018-01-23 16:09:24 · 249 阅读 · 0 评论 -
整数加法
题目描述请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法的输入则返回error输入描述:输入为一行,包含两个字符串,字符串的长度在[1,100]。输出描述:输出为一行。合法情况输出相加结果,非法情况输出error示例1输入123 123abd 123输出246Error原创 2018-01-23 11:57:34 · 364 阅读 · 1 评论 -
幸运数
题目描述小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用。现在对于一个数字x,小明同学定义出了两个函数f(x)和g(x)。 f(x)表示把x这个数用十进制写出后各个数位上的数字之和。如f(123)=1+2+3=6。 g(x)表示把x这个数用二进制写出后各个数位上的数字之和。如123的二进制表示为1111原创 2018-01-23 13:51:35 · 233 阅读 · 0 评论 -
保留最大的数
题目描述给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。输入描述:输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 1000。第二行是希望去掉的数字数量cnt 1 ≤ cnt 输出描述:输出保留下来的结果。示例1输入3251原创 2018-01-22 10:24:52 · 314 阅读 · 0 评论 -
约瑟夫问题C++解析
约瑟夫问题就是N个人围坐一圈,从1开始报数最大为M,当到M时重新从1开始。每次报数报到M的人便die,同时从他下一个人从新开始报数,最后只剩下1个人。int main(){ int n;//总人数 int m;//一次数m个人 int mPrime; int numLeft; list L; list::iterator iter; n = 8; m = 7; for翻译 2018-01-13 09:27:28 · 7727 阅读 · 0 评论 -
欧几里得算法(求最大公约数实现)
最近在看数据结构与算法分析,就把一些自己写的例子贴出来供有需要的人学习学习,其实我也只是个菜鸟,大学期间没好好学数据结构,最近想要给自己加点马力,希望能一起成长。最大公约数可以理解为两个数的最小数与两个数的差的最大公约数是相等的,求最大公约数的递归实现可以理解为不断的把最小数和差相比较,最后有一个数为零的情况下取另一个值就是为该两个原始数据的最大公约数。具体代码实现int func原创 2018-01-11 10:35:56 · 959 阅读 · 0 评论