牛客
牛客
失落的换海迷风
关注我了解最近咨询
展开
-
【牛客】矩阵交换
1.题目KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。链接:https://www.nowcoder.com/questionTerminal/ec44d4ff8c794b2f9205bdddbde96817 2.代码展示#include <iostream>using namespace std;// 交换函数void swap(int& a, int& b){ int tmp = a; a =原创 2020-11-11 22:15:31 · 765 阅读 · 0 评论 -
【牛客】Emacs计算器
1.题目用后缀表达式写一个计算器 2.想法讨论之前我想的是用atoi来将字符转换成数字,但是不知道为啥不行,主要是写了头文件也不行,所以就采用stringstream的方式,将数字转换成数字还是用stack来存放数据,取前两个数字,然后进行加减乘除操作最好在+ - * / if条件里面将数字算出来,然后在push到stack里 3.代码展示// write your code here cpp#include <iostream>using name原创 2021-03-13 23:51:11 · 216 阅读 · 0 评论 -
【牛客】五子棋
1.题目NowCoder最近爱上了五子棋,现在给你一个棋局,请你帮忙判断其中有没有五子连珠(超过五颗也算)。链接:https://www.nowcoder.com/questionTerminal/a811535fed784ea492b63622c28c75c5 2.想法讨论while循环的时候,条件我考虑一下,用数组不好解决,就用string来输入第一行的字符,然后在循环输入第二行的字符在计数*或者+的时候,开始我想的是计数,但是不好实现,而且代码冗余,所我们直接给一个t,从1到4原创 2021-03-13 23:03:55 · 412 阅读 · 0 评论 -
【牛客】发邮件
1.题目NowCoder每天要给很多人发邮件。有一天他发现发错了邮件,把发给A的邮件发给了B,把发给B的邮件发给了A。于是他就思考,要给n个人发邮件,在每个人仅收到1封邮件的情况下,有多少种情况是所有人都收到了错误的邮件?即没有人收到属于自己的邮件 链接:https://www.nowcoder.com/questionTerminal/95e35e7f6ad34821bc2958e37c08918b 2.题目解析 前提:n个元素放到n个位置,元素和位置各不对应的方法用D(原创 2021-03-12 23:28:04 · 286 阅读 · 0 评论 -
【牛客】[编程题]跳石板
1.题目小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3… 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24:4->6->8->12->18->24 于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板原创 2020-12-07 20:31:24 · 293 阅读 · 0 评论 -
【牛客】有序序列判断(双标志位)
1.题目 输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序。 链接:https://www.nowcoder.com/questionTerminal/22e87f8a8d764a6582710f38d1b40c6e2.代码展示#include <iostream>using namespace std;int main(){ int n; cin >> n; int nums[51] =原创 2020-11-11 09:44:09 · 141 阅读 · 0 评论 -
【牛客】有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天
1.题目 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天链接:https://www.nowcoder.com/practice/ccb7383c76fc48d2bbc27a2a6319631c?tpId=62&&tqId=29468&rp=1&ru=/activity/oj&qru=/ta/sju-kaoyan/question-ranking%E7%AD%94%E9%A2%98 2.代码展示#includ原创 2020-10-28 16:48:51 · 971 阅读 · 0 评论 -
【牛客】输入某年某月某日,判断这一天是这一年的第几天?
1.题目 根据输入的日期,计算是这一年的第几天。。详细描述:输入某年某月某日,判断这一天是这一年的第几天?。测试用例有多组,注意循环输入链接:https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded?tpId=37&&tqId=21296&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking 2.代码展示#inc原创 2020-10-28 16:26:20 · 303 阅读 · 0 评论 -
【牛客】给出年分m和一年中的第n天,算出第n天是几月几号。
1.题目 给出年分m和一年中的第n天,算出第n天是几月几号。链接:https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b?tpId=69&&tqId=29669&rp=1&ru=/activity/oj&qru=/ta/hust-kaoyan/question-ranking 2.代码展示#include <iostream>using namespac原创 2020-10-28 16:02:25 · 563 阅读 · 0 评论 -
【牛客】设计一个程序能计算一个日期加上若干天后是什么日期。
1.题目 设计一个程序能计算一个日期加上若干天后是什么日期。链接:https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d?tpId=40&&tqId=31013&rp=1&ru=/activity/oj&qru=/ta/kaoyan/question-ranking2.代码展示#include <iostream>using namespace std;int原创 2020-10-28 15:36:05 · 470 阅读 · 1 评论 -
【牛客】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
1.题目 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。链接:https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&tqId=11200&tPage=3&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/quest原创 2020-10-28 14:32:50 · 89 阅读 · 0 评论 -
【牛客】[编程题]排序子序列
#include <iostream>using namespace std;#include <vector>int main(){ int n = 0; int sum = 1; cin >> n; vector<int> A; for (int i = 0; i < n; i++) { int a; cin >> a; A.push_back(a); } for (int i = 1; i <原创 2020-06-27 19:56:31 · 172 阅读 · 0 评论 -
【牛客】[编程题]MP3光标位置C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/eaf5b886bd6645dd9cfb5406f3753e15MP3Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。2.思路解析分情况比较复杂(1)n小于4,那么不用管列表,修改光标即可①index == 1 && s[i] == ‘U’②inde原创 2020-06-24 11:00:40 · 275 阅读 · 0 评论 -
【牛客】[编程题]洗牌C++
题目描述链接https://www.nowcoder.com/questionTerminal/5a0a2c7e431e4fbbbb1ff32ac6e8dfa0洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的原创 2020-06-24 09:34:41 · 527 阅读 · 0 评论 -
【牛客】[编程题] 删除重读字符c++
1.题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They arestudents.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.2.思路解析先用getline连续输入字符①遍历s2,找到和s1中相同的字符②然后删除最后打印s13.代码实现#include <iostream>#include <string>#include <vector>using namespace s原创 2020-06-23 21:56:18 · 334 阅读 · 0 评论 -
【牛客】[编程题]字符集合C++
1.思路利用while连续输入字符charcount是一个计数器,可以判定要不要进行打印操作charcount [ch] = 0,表示第一次操作,直接打印即可charcount [ch] = 1,表示不是第一次操作,不打印字符2.代码实现#include <iostream>#include <string>using namespace std;int main(){ string str; // 连续输入字符 while (cin >>原创 2020-06-23 21:55:20 · 280 阅读 · 0 评论 -
【牛客】[编程题]公共字串计算C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/98dc82c094e043ccb7e0570e5342dd1b?orderByHotValue=1&commentTags=C/C++计算两个字符串的最大公共字串的长度,字符不区分大小写输入描述: 输入两个字符串输出描述: 输出一个整数2.思路解析主函数里面将小写的全部转换成大写的先遍历s1字符串,然后在s2中找第一个相同的字符如果一直相等的话,那么就++,并且算出长度这里i原创 2020-06-23 21:50:48 · 158 阅读 · 0 评论 -
【牛客】[编程题]查找两个字符串a,b中的最长公共子串C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/181a1a71c7574266ad07f9739f791506?toCommentId=832414查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。2.思路分析先比较两个字符串的长短,将较短的字符串存在s1中再用两个循环对s1和s2分别进行遍历查找公共子串ret,将目前最长的公共子串存在s中,之后每找到一个公共子串ret都与s进行长度的比较若比s长则更新s中原创 2020-06-23 11:14:43 · 1034 阅读 · 0 评论 -
【牛客】[编程题]汽水瓶C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有原创 2020-06-23 10:39:25 · 731 阅读 · 0 评论 -
【牛客】 [编程题]字符串通配符C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/43072d50a6eb44d2a6c816a283b02036问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同) ?:匹配1个字符2.思路解析写一个判断函数,判断s1,s2是不是匹配四种情况:两个字符串的字符都匹原创 2020-06-21 14:19:59 · 382 阅读 · 1 评论 -
【牛客】[编程题]统计每个月兔子的总数C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/1221ec77125d4370833fd3ad5ba72395有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?2.思路解析这个是算出一个月份大的,两个月份大的,三个月份大的兔子个数,最后相加3.代码实现#include<iostream>using namespace std;int m原创 2020-06-21 00:17:07 · 483 阅读 · 0 评论 -
【牛客】[编程题]超长正整数相加C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/5821836e0ec140c1aa29510fd05f45fc?orderByHotValue=1&commentTags=C/C++请设计一个算法完成两个超长正整数的加法。接口说明/* 请设计一个算法完成两个超长正整数的加法。 输入参数: String addend:加数 String augend:被加数返回值:加法结果 */public String AddLong原创 2020-06-20 21:21:52 · 813 阅读 · 0 评论 -
【牛客】[编程题]iNOC产品部-杨辉三角的变形 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/8ef655edf42d4e08b44be4d777edbf43 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,原创 2020-06-20 20:11:49 · 270 阅读 · 0 评论 -
【牛客】[编程题]扑克牌大小 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/0a92c75f5d6b4db28fcfa3e65e5c9b3f扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王)????3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边原创 2020-06-19 00:12:48 · 1567 阅读 · 0 评论 -
【牛客】[编程题] iNOC产品部--完全数计算C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/7299c12e6abb437c87ad3e712383ff84完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计原创 2020-06-18 23:01:00 · 179 阅读 · 0 评论 -
【牛客】[编程题]查找输入整数二进制中1的个数 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/1b46eb4cf3fa49b9965ac3c2c1caf5ad输入描述:输入一个整数输出描述:计算整数二进制中1的个数2.代码实现#include <iostream>using namespace std;int main(){ // 输入的整数 int n = 0; while(cin >> n) { //原创 2020-06-17 22:01:10 · 225 阅读 · 0 评论 -
【牛客】[编程题] 幸运的袋子C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/a5190a7c3ec045ce9273beebdfe029ee?toCommentId=213624一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋原创 2020-06-16 21:41:13 · 444 阅读 · 0 评论 -
【牛客】[编程题]计算日期到天数转换C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/769d45d455fe40b385ba32f97e7bcded?toCommentId=204001根据输入的日期,计算是这一年的第几天。。详细描述:输入某年某月某日,判断这一天是这一年的第几天?。2.思路分析先定义一个数组,这个数组就是十二个月份,二月给成28写一个闰年函数,是闰年的话,那就给二月+1然后循环+=,退出条件就是月份最后一个月份一定要加上day最后打印3.代码原创 2020-06-16 14:35:56 · 468 阅读 · 0 评论 -
【牛客】[编程题]参数分析C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/668603dc307e4ef4bb07bcd0615ea677?toCommentId=128167在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用“”包含起来的参数,如果中间有空格原创 2020-06-15 11:07:05 · 160 阅读 · 0 评论 -
【牛客】[编程题] 查找组成一个偶数最接近的两个素数 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/f8538f9ae3f1484fb137789dec6eedb9?toCommentId=289324任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述: 输入一个偶数输出描述: 输出两个素数2.思路解析先写一个判断是不是素数的函数循环输入n值i值从n的一半开始,这里–操作n-i 相当于++操作,然原创 2020-06-14 18:14:25 · 315 阅读 · 0 评论 -
【牛客】[编程题]另类加法C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/e7e0d226f1e84ba7ab8b28efc6e1aebc请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。 给定两个int A和B。请返回A+B的值2.思路分析既然要求不能用算数运算符,那就考虑哈位运算符1 ^1=0 ,1 ^0=1 ,0 ^0=0(这是异或) 1 +1=0 1+0=1 0+0=0(这是加)&运算和‘进位’结果一致,(A &B)<&原创 2020-06-13 21:47:16 · 162 阅读 · 1 评论 -
【牛客】 [编程题] 201301 JAVA 题目2-3级 C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/e2a22f0305eb4f2f9846e7d644dba09b?toCommentId=573050请编写一个函数(允许增加子函数),计算n×m个的棋盘格子(正为横向的格子数,米为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。2.思路分析运用递归的思想,反过来将(0, 0)作为终点,将(m, n)作为起点,然后从起原创 2020-06-13 21:46:50 · 148 阅读 · 0 评论 -
【牛客】 [编程题]求最大连续bit数 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/4b1658fd8ffb4217bc3b7e85a38cfaf2?toCommentId=194442功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1输入: 一个byte型的数字输出: 无返回: 对应的二进制数字中1的最大连续数2.思路分析主要理解&运算符就可1 & 1 = 1,0 &1 = 0,1 &a原创 2020-06-12 10:17:53 · 161 阅读 · 0 评论 -
【牛客】[编程题] 最近公共祖先 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/70e00e490b454006976c1fdf47f155d9有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。测试样例: 2,3 返回:12.思路分析这里先处理掉特殊情况(a是原创 2020-06-12 09:06:43 · 224 阅读 · 0 评论 -
【牛客】 [编程题]密码强度等级 C++
1.题目描述链接https://www.nowcoder.com/questionTerminal/52d382c2a7164767bca2064c1c9d5361?pos=7&orderByHotValue=1密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度:5 分: 小于等于4 个字符10 分: 5 到7 字符25 分: 大于等于8 个字符二、字母:0 分: 没有字母10 分: 全都是小(大)写字母20 分: 大小写混合字母三、数字:0 分:原创 2020-06-11 11:35:22 · 843 阅读 · 0 评论 -
【牛客】[编程题] 合法括号序列判断 C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/d8acfa0619814b2d98f12c071aef20d4对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。测试样例: “(()())”,6 返回:true测试样例: “()a()()”,7 返回:false测试样例: “()(()()”,7 返回:false2.思路分析建栈,遍历字符串A原创 2020-06-10 15:38:49 · 728 阅读 · 0 评论 -
【牛客】[编程题]Fibonacci数列(给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数)
1.题目描述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数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入描述: 输入为一个正整数N(1原创 2020-06-09 22:27:39 · 729 阅读 · 1 评论 -
【牛客】 [编程题]两种排序方法 C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/839f681bf36c486fbcc5fcb977ffe432考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法:1.根据字符串的字典序排序。例如:** “car” < “carriage” < “cats” < "doggies < “koala”2.根据字符串的长度排序。例如: “car” < “cats” < “k原创 2020-06-09 14:40:50 · 217 阅读 · 0 评论 -
【牛客】[编程题] 把字符串转换成整数 C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/1277c681251b4372bdef344468e4f26e将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。数值为0或者字符串不是一个合法的数值则返回0。2.思路分析设置一个flag来控制最后整数的正负循环时注意第一个值,如果是 ‘-’ ,则从第二个开始遍历值在字符0到原创 2020-06-08 10:19:09 · 239 阅读 · 0 评论 -
【牛客】[编程题] 不要二 C++
1.题目描述链接:https://www.nowcoder.com/questionTerminal/1183548cd48446b38da501e58d5944eb二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) *(y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋原创 2020-06-08 09:28:45 · 145 阅读 · 0 评论