- 博客(76)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 2017.9.9网易校招笔试最后一道编程解答
解答代码:#include<iostream>#include<string>#include<algorithm>#include<vector>using namespace std;//判断是否是合法括号匹配序列bool panding(string ss, int n) { int count = 0; for (int i = 0; i<n; i++) {
2017-09-09 17:23:01
1011
原创 11. Container With Most Water
Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lin
2016-12-04 22:14:00
551
原创 134. Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its ne
2016-12-04 21:46:04
449
原创 9. Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints: Could negative integers be palindromes? (ie, -1)If you are thinking of converting the inte
2016-12-04 21:41:29
365
原创 8. String to Integer (atoi)
Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.N
2016-12-04 21:40:03
365
原创 7. Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. 解决代码:class Solution {public: int reverse(int x) { long long temp = abs(
2016-12-04 21:38:21
321
原创 5. Longest Palindromic Substring
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example: Input: “babad”Output: “bab”Note: “aba” is also a valid answer.Example: In
2016-12-04 21:36:20
345
原创 关于while里面条件变量的注意事项
//The author is Gao_Xiong//All rights reserved#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){ int lo = 2, hi = 7; int e = 3; vector<int>V(8, 0);
2016-11-20 21:58:39
1357
原创 typedef与typename的用法
1、类型说明typedef类型说明的格式为:typedef 类型 定义名;类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。例如: 用下面语句定义整型数的新名字:typedef int SIGNED_INT;使用说明后, SIGNED_INT就成为int的同义词了, 此时可以用SIGNED_INT 定义整型变量。例如: SIGNED_INT i, j;(
2016-10-09 10:29:00
2518
原创 函数指针和函数对象的比较
一、函数指针 函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。 函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。 函数指针的声明方法: 数据类型标志符 (指针变量名) (形参列表); 一般函数的声明为: int func ( int x ); 而一个函数指针的声明方法为: int (*func
2016-07-25 16:06:41
576
原创 while语句中i--与++i问题的讨论
起初,在看到while ((lo < hi--) && (e != _elem[hi]));此语句时,不解后面_elem[hi] 中的hi比前面lo#include<iostream>using namespace std;int main(){ int i = 4; while ((i--== 4)&&(i == 3)) { cout << i <<
2016-07-21 21:22:37
1559
原创 C++中break,continue,return用法
一。break 1. break语句形式: break; 2. break语句功能: A. 在switch语句中,break是其语法本省的一部分,break语句会终止其后语句的执行,退出switch语句。 B. 使一个循环立即结束,也就是说在循环中遇到break语句时,循环立即终止,程序转到当前循环体后的第一个语句去继续执行。 3. 注意
2016-07-20 16:35:09
11817
1
原创 解决缺少apue.h的问题
在我们运行《UNIX环境高级编程(第3版)》这本书中的程序时,我们会遇到”错误:apue.h:没有那个文件或目录”这种情况。 解决方案如下: 1.在http://www.apuebook.com/code3e.html下载源码,解压到Downloads目录下的文件名为apue.3e 2.用户切换为root用户,进入到Downloads目录下。 3.输入两道命令: cp ./Downlo
2016-06-18 15:06:46
910
2
原创 队列的实现
一、 队列定义 队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不同,是两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插入的一端称为队头 (Front),队列的操作原则是先进先出的,所以队列又称作FIFO表(First In First Out)队列的基本运算也有六种:置空队 :InitQueue(Q)判
2016-05-28 20:32:32
3394
原创 数据结构算法3_2 迷宫求解
//base.h//公用的常量和类型#include<iostream>#include<cstdlib>#include<cstring>#include<string>//状态码的定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define I
2016-04-24 14:43:45
1024
原创 设计随机库
接口设计原则: 用途一致:接口中所有函数都属于同一类问题 操作简单:函数调用方便,最大限度隐藏操作细节 功能充足:满足不同潜在用户的需要 性能稳定:经过严格测试,不存在程序缺陷在生成随机数过程中需要用到srand函数,以使每次重新运行程序生成的随机数没有相关性,实现绝对意义上的随机。srand((int)time(0))介绍 srand函数需要接收一个参数,返回值没有,前面的s是种子的意思
2016-04-19 21:07:44
639
原创 数据结构之算法2.6-在顺序线性表L中查找第1个值与e满足compare()的元素的位序
//============================================================================// Name :algorithm2_6.cpp// Author :Gao_Xiong// Version :Visual Studio2012// Copyright : all rights r
2016-03-31 19:41:46
4430
1
原创 函数重载特性
一般函数的重载:函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。注:不将返回类型考虑到函数重载中。虚函数的重载:重载一个虚函数时,要求函数名、返回类型、参数个数、参数类型和顺序完全相同。否则会出现以下问题: 1)如果仅仅返回类型不同,其余相同,则C++认为是错误重载,因为只靠返回类型不同的信息进行函数匹配是含糊的。 2)如果函数原型不同,仅函数名
2016-03-25 13:29:43
1565
原创 linux文件属性与权限的修改
注:所用linux版本为ubuntu14.04 一、改变文件属性 chgrp:改变文件所属用户组 chown:改变文件所有者 例如:root@xiong:/home/xiong_da/workspace# ls -al test-rw-rw-r-- 1 xiong_da xiong_da 0 Mar 24 14:13 testroot@xiong:/home/xiong_da/works
2016-03-24 14:53:04
589
原创 虚函数
1、定义 冠以关键字virtual的成员函数称为虚函数 2、语法结构 virtual 返回类型 函数名(参数) 例如:class B{public:...virtual void who(){/.../}}3、作用 基类可以用虚函数提供一个与派生类相同的界面,允许派生类定义自己的实现版本。虚函数调用的解释依赖于调用它的对象类型,使基类指针指向不同派生类的对象时自动完成thi
2016-03-23 22:21:43
474
原创 虚继承
1、虚继承的概念 为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。 2、语法格式 class 派生类名:virtual 继承方式 基类名 virtual是关键字,声明该基类为派生类
2016-03-22 21:27:11
493
原创 类与继承总结
一、类之间的关系 在面向对象技术中,类是数据和操作的集合,他们之间有三种主要关系:has-a,uses-a和is-a。 has-a表示类的包含关系,用于描述一个类由多个“部件类”构成。C++实现has-a的关系用类成员表示,即一个类中的数据成员是另一种已经定义的类。 uses-a表示一个类部分地使用另一个类。在面向对象的技术中,这种关系通过类之间成员函数的相互关系,定义友元或对象参数传递来实现
2016-03-11 21:44:28
1024
原创 5-34 通讯录的录入与显示
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入NN条记录,并且根据要求显示任意某条记录。输入格式:输入在第一行给出正整数NN(\le≤10);随后NN行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“
2016-03-10 22:38:21
3162
原创 关于printf输出格式类型的总结
一、函数调用形式 printf函数调用的一般形式为: printf(“格式控制字符串”, 输出表列) 其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如: “%d”表示按十进制整型输出; “%ld”表示按十进制长整型输出; “%c”表示
2016-03-10 22:33:39
3862
转载 sscanf用法总结
参考博客地址:http://blog.chinaunix.net/uid-26284412-id-3189214.htmlsscanf(recvbuf,”%*[^/]/%[^ ]s”,buf_rev); sscanf(buf, “GET /%[^ ]”, buf_rev); 这个是在一个webserver.c里面的例子,通过sscanf()语句可以找到和它前面相匹配的语句然后打印出后面需要的
2016-03-10 21:12:17
689
原创 5-33 有理数加法
本题要求编写程序,计算两个有理数的和。输入格式:输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:1/3 1/6 输出样例1:1/2 输入样例2:4/3 2/3 输出样例2:2 解答程序:#include<cs
2016-03-08 16:20:49
3340
原创 5-32 说反话-加强版
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come 输出
2016-03-07 19:51:20
1385
原创 5-31 字符串循环左移
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。 输入格式: 输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数NN。输出格式:在一行中输出循环左移NN次后的字符串。输入样例: Hello World! 2 解答程序:#include<iostream>#include<cstring>using namespace std;int
2016-03-05 19:46:08
5607
原创 5-30 字符串的冒泡排序
我们已经知道了将NN个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(#include<iostream>#include<string>using namespace std;int main(){ int N,K,i,j,k; string str[100],t; cin>>N>>K; for(i=0;i<N;i++)
2016-03-05 19:10:27
3987
原创 5-29 删除字符串中的子串
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式:在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例:Tomcat is a male ccatat cat 输出样例:Tom is a male解答程序:#include<io
2016-01-31 17:26:19
896
原创 5-27 冒泡法排序
将NN个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N-1N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对NN个数的排序。本题要求对任意给定的KK(#include<iostream>using namespace std;int ma
2016-01-30 17:44:17
2283
原创 5-26 单词长度
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf(“%c”,…);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有
2016-01-27 11:06:18
2748
3
原创 5-25 念数字
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有
2016-01-26 16:37:10
808
原创 5-24 约分最简分式
分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整
2016-01-26 15:16:38
3979
原创 5-23 币值转换
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。输入格式:输入在一行中给出一个不超过9位的非负整数。输出格式:在一行中输出转换后的结果。注意“零”的
2016-01-25 18:17:04
1460
原创 5-22 龟兔赛跑
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?输入格式:输入在一行中给出比赛时间T(分钟)
2016-01-25 14:27:05
1105
原创 5-21 求特殊方程的正整数解
本题要求对任意给定的正整数NN,求方程X^2 + Y^2 =NX 2 +Y 2 =N的全部正整数解。输入格式:输入在一行中给出正整数NN(\le≤10000)。输出格式:输出方程X^2 + Y^2 =NX 2 +Y 2 =N的全部正整数解,其中X\le YX≤Y。每组解占1行,两数字间以1空格分隔,按XX的递增顺序输出。如果没有解,则输出No Solu
2016-01-08 11:20:13
1931
原创 5-20 打印九九口诀表
下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7
2016-01-08 11:07:10
2429
原创 5-19 支票面额
一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数n。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。输入样例1:23 输出样例1:25.51 输入样例2:22 输出样例2:No Solution解答程序:#
2016-01-08 10:33:19
1568
原创 5-18 二分法求多项式单根
二分法求函数根的原理为:如果连续函数f(x)f(x)在区间[a, b][a,b]的两个端点取值异号,即f(a)f(b)<0f(a)f(b)<0,则它在这个区间内至少存在1个根rr,即f(r)=0f(r)=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2(a+b)/2;否则 如果f(a)f(b)<0f(a)f(b)<0,则计算中点的值f((a+b)/2)f((a
2016-01-07 21:12:37
1324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人