自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Y-puyu 的博客

日拱一卒,功不唐捐。

  • 博客(52)
  • 收藏
  • 关注

原创 [每日一题] 56. 猴子分桃(数学归纳)

1. 题目来源链接:猴子分桃来源:牛客网2. 题目说明老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。老猴子决定把这些桃子分给小猴子。第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。后来的小猴子都如此...

2019-10-31 00:22:51 1363

原创 [每日一题] 55. 奇数位上都是奇数或者偶数位上都是偶数(编程基础)

1. 题目来源链接:奇数位上都是奇数或者偶数位上都是偶数来源:牛客网2. 题目说明给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6…算作偶数位,下标1,3,5,7…算作奇数位,例如[1,2,3,4]调整为[2,1,...

2019-10-31 00:02:34 763

原创 [每日一题] 54. 三角形(数学、字符串)

1. 题目来源链接:三角形来源:牛客网2. 题目说明给定三条边,请你判断一下能不能组成一个三角形。输入描述:输入包含多组数据,每组数据包含三个正整数a、b、c(1≤a, b, c≤10^100)。输出描述:对应每一组数据,如果它们能组成一个三角形,则输出“Yes”;否则,输出“No”。示例:输入1 2 32 2 2输出NoYes3. 题目解析需要了解三...

2019-10-30 23:47:28 453

原创 [每日一题] 53. 不用加减乘除做加法(位运算)

1. 题目来源链接:不用加减乘除做加法来源:牛客网2. 题目说明写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。3. 题目解析数字的相加可以转换为二进制的加法,注意每一位相加与进位即可。可分为三步骤:1)两个数异或:相当于每一位相加,而不考虑进位;2)两个数相与,并左移一位:相当于求得进位;3)将上述两步的结果相加,直到进位为0。4. 代码展示c...

2019-10-30 23:25:32 364

原创 [每日一题] 52. 快到碗里来(数学)

1. 题目来源链接:快到碗里来来源:牛客网2. 题目说明小喵们很喜欢把自己装进容器里的(例如碗),但是要是碗的周长比喵的身长还短,它们就进不去了。现在告诉你它们的身长,和碗的半径,请判断一下能否到碗里去。输入描述:输入有多组数据。每组数据包含两个整数n (1≤n≤2^128) 和r (1≤r≤2^128),分别代表喵的身长和碗的半径。圆周率使用3.14。输出描述:对应每...

2019-10-28 23:41:32 836

原创 [每日一题] 51. 变态跳台阶(数学、pow函数)

1. 题目来源链接:变态跳台阶来源:牛客网2. 题目说明一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。3. 题目解析这个题目很容易理解,不过公式推导有些麻烦:假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1)假定第一次跳的是2阶,那么剩下的是n-2个台 阶,跳法是f(n-2);假定第一次跳的是3阶,那...

2019-10-28 23:34:57 414

原创 [每日一题] 50. 数根(字符串、数学、递归)

1. 题目来源链接:数根来源:牛客网2. 题目说明数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,...

2019-10-25 22:57:30 882

原创 [每日一题] 49. 星际密码(变式斐波那切数列、数学、找规律)

1. 题目来源链接:星际密码来源:牛客网2. 题目说明星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn …||1 0| |… …|例如n=2时,|1 ...

2019-10-25 22:34:49 473

原创 [每日一题] 48. 迷宫问题(递归、动态规划、回溯法)

1. 题目来源链接:微信红包来源:牛客网2. 题目说明定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示:int maze[5][5] ={0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示...

2019-10-24 22:01:47 1472 1

原创 [每日一题] 47. 年终奖(动态规划、区域dp)

1. 题目来源链接:年终奖来源:牛客网2. 题目说明小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩...

2019-10-24 21:33:47 564

原创 [每日一题] 46. 计算字符串的距离(字符串、动态规划)

1. 题目来源链接:计算字符串的距离来源:牛客网2. 题目说明Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。Ex:字符串A:abcdefg字...

2019-10-23 22:12:39 547

原创 [每日一题] 45. 微信红包(模拟、map)

1. 题目来源链接:微信红包来源:牛客网2. 题目说明春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。输入描述:[1,2,3,2,2],5...

2019-10-23 20:58:45 802

原创 [每日一题] 44. 找出字符串中第一个只出现一次的字符(字符串、哈希)

1. 题目来源链接:找出字符串中第一个只出现一次的字符来源:牛客网2. 题目说明找出字符串中第一个只出现一次的字符输入描述:输入一个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1示例:输入:asdfasdfo输出o3. 题目解析采用哈希的细思,用一个数组的每一个位置表示对应的位置。对应的字符位置存放字符出现的次数。统计完之后,遍历输入字...

2019-10-23 20:24:34 531

原创 [每日一题] 43. 小易的升级之路(递归、数学、模拟)

1. 题目来源链接:小易的升级之路来源:牛客网2. 题目说明小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a。在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3…bn。如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增...

2019-10-23 00:32:43 397

原创 [每日一题] 42. MP3光标位置(数组、长题目)

1. 题目来源链接:MP3光标位置来源:牛客网2. 题目说明MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:歌曲总数<=4的时候,不需要翻页,只是挪动光标位置。光标在第一首歌曲上时,按Up键...

2019-10-22 11:48:51 594

原创 [每日一题] 41. 洗牌(排序、穷举法、模拟)

1. 题目来源链接:洗牌来源:牛客网2. 题目说明洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左...

2019-10-22 11:07:52 588

原创 [每日一题] 40. 公共字串计算(字符串、递归、动态规划)

1. 题目来源链接:公共字串计算来源:牛客网2. 题目说明题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数:char * pFirstStr //第一个字符串char * pSecondStr//第二个字符串...

2019-10-21 23:28:59 383

原创 [每日一题] 39. 字符串反转(字符串、编程基础)

1. 题目来源链接:字符串反转来源:牛客网2. 题目说明写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:输入描述:输入N个字符输出描述:输出该字符串反转后的字符串示例:输入:abcd输出dcba3. 题目解析字符串反转,需要交换首尾字符,设置首尾两个位置start,end,每次交换首尾字符,然后start++, end–, 直到star...

2019-10-21 23:12:40 875

原创 [每日一题] 38. 查找两个字符串a,b中的最长公共子串(字符串、动态规划、LCS问题)

1. 题目来源链接:查找两个字符串a,b中的最长公共子串来源:牛客网2. 题目说明查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。输入描述:输入两个字符串输出描述:返回重复出现的字符示例:输入:abcdefghijklmnopabcsafjklmnopqrstuvw输出jklmnop3. 题目解析本题需要用动态规划求解,MC...

2019-10-21 22:26:46 844

原创 [每日一题] 37. 汽水瓶(数学、模拟)

1. 题目来源链接:汽水瓶来源:牛客网2. 题目说明有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上...

2019-10-21 12:11:49 706 2

原创 [每日一题] 36. 字符串通配符(字符串、递归)

1. 题目来源链接:字符串通配符来源:牛客网2. 题目说明问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错...

2019-10-21 11:50:25 878 1

原创 [每日一题] 35. 统计每个月兔子的总数(查找、排序、fib数列变种)

1. 题目来源链接:统计每个月兔子的总数来源:牛客网2. 题目说明有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少? /** * 统计出兔子总数。 * * @param monthCount 第几个月 * @return 兔子总数 */ public st...

2019-10-21 11:03:49 485

原创 [每日一题] 34. 超长正整数相加(字符串)

1. 题目来源链接:超长正整数相加来源:牛客网2. 题目说明请设计一个算法完成两个超长正整数的加法。接口说明 /* 请设计一个算法完成两个超长正整数的加法。 输入参数: String addend:加数 String augend:被加数 返回值:加法结果 */ public String AddLongInteger(String addend, String aug...

2019-10-19 23:25:14 559

原创 [每日一题] 33. 杨辉三角的变形(字符串、动态规划)

1. 题目来源链接:杨辉三角的变形来源:牛客网2. 题目说明 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个数之和(如果不存在某个...

2019-10-19 18:14:03 419

原创 [每日一题] 32. 扑克牌大小(字符串、查找、模拟)

1. 题目来源链接:扑克牌大小来源:牛客网2. 题目说明扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有...

2019-10-17 23:13:05 823

原创 [每日一题] 31. 完全数计算(约数、编程基础)

1. 题目来源链接:查找输入整数二进制中1的个数来源:牛客网2. 题目说明完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内...

2019-10-17 22:45:03 579

原创 [每日一题] 30. 手套(数学、模拟、贪心法)

1. 题目来源链接:查找输入整数二进制中1的个数来源:牛客网2. 题目说明在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同...

2019-10-16 23:45:38 700

原创 [每日一题] 29. 查找输入整数二进制中1的个数(位运算)

1. 题目来源链接:查找输入整数二进制中1的个数来源:牛客网2. 题目说明请实现如下接口public static int findNumberOf1( int num){/* 请实现 */return 0;} 譬如:输入5 ,5的二进制为101,输出2涉及知识点:输入描述:输入一个整数输出描述:计算整数二进制中1的个数示例1输入5...

2019-10-16 23:03:21 423

原创 [每日一题] 28. 幸运的袋子(穷举法、数学、数论)

1. 题目来源链接:计算日期到天数转换来源:牛客网2. 题目说明一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除...

2019-10-15 12:03:10 911

原创 [每日一题] 27. 计算日期到天数转换(日期类)

1. 题目来源链接:计算日期到天数转换来源:牛客网2. 题目说明根据输入的日期,计算是这一年的第几天。。详细描述:输入某年某月某日,判断这一天是这一年的第几天?。接口设计及说明:/*****************************************************************************Description : 数据转换Inp...

2019-10-15 11:15:01 437

原创 [每日一题] 26. 跳石板(贪心、动态规划)

1. 题目来源链接:跳石板来源:牛客网2. 题目说明小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X()X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如...

2019-10-14 10:17:07 549

原创 [每日一题] 25. 参数解析(字符串,长题目)

1. 题目来源链接:参数解析来源:牛客网2. 题目说明在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输...

2019-10-13 18:30:23 537

原创 [每日一题] 24. 查找组成一个偶数最接近的两个素数(素数问题、编程基础)

1. 题目来源链接:查找组成一个偶数最接近的两个素数来源:牛客网2. 题目说明任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述:输入一个偶数输出描述:输出两个素数示例1输入20输出7133. 题目解析本题首先需要判断素数,素数表示除过1和本身,不能被其它数整除。通过循...

2019-10-12 12:34:32 457

原创 [每日一题] 23. 二进制插入(位运算、编程基础)

1. 题目来源链接:二进制插入来源:牛客网2. 题目说明有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1。测试样例1024,19,2,6返回:...

2019-10-12 11:09:20 425

原创 [每日一题] 22. 求最大连续bit数 (位运算)

1. 题目来源链接:求最大连续bit数来源:牛客网2. 题目说明功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1输入: 一个byte型的数字输出: 无返回: 对应的二进制数字中1的最大连续数输入描述:输入一个byte数字输出描述:输出转成二进制之后连续1的个数示例1输入3输出23. 题目解析...

2019-10-11 22:48:25 610

原创 [每日一题] 21. 最近公共祖先(递归、动态规划)

1. 题目来源链接:最近公共祖先来源:牛客网2. 题目说明有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。测试样例:2,3返回:13. 题目解析最近公共祖先...

2019-10-11 22:37:34 514

原创 [每日一题] 20. 密码强度等级 (长题目、字符串)

1. 题目来源链接:密码强度等级来源:牛客网2. 题目说明密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度:5 分:小于等于4 个字符10 分:5 到7 字符25 分:大于等于8 个字符二、字母:0 分:没有字母10 分:全都是小(大)写字母20 分:大小写混合字母三、数字:0 分:没有数字10 分:1 个数字20 分:大于1 ...

2019-10-11 00:28:59 1199

原创 [每日一题] 19. 井字棋 (编程基础、数组)

1. 题目来源链接:井字棋来源:牛客网2. 题目说明对于一个给定的井字棋棋盘,请设计一个高效算法判断当前玩家是否获胜。给定一个二维数组board,代表当前棋盘,其中元素为1的代表是当前玩家的棋子,为0表示没有棋子,为-1代表是对方玩家的棋子。测试样例:[[1,0,1],[1,-1,-1],[1,-1,0]]返回:true3. 题目解析井字棋,是一种在3* 3格子上进行的...

2019-10-11 00:04:29 1345

原创 [每日一题] 18. 求路径总数 (动态规划、递归)

1. 题目来源链接:求最小公倍数来源:牛客网2. 题目说明请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。本题为求取路径总数的题目,一般可以通过递归求解,对于复杂的问题,可以通过动态规划求解。此题比较简单,可以通过递归解答。输入描...

2019-10-10 00:54:37 1221

原创 [每日一题] 17. 另类加法(位运算)

1. 题目来源链接:另类加法来源:牛客网2. 题目说明请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。给定两个int A和B。请返回A+B的值测试样例:1,2返回:33. 题目解析本题的意思是自己实现加法,不适用现成的运算符,需要对运算符进行灵活运用。本题可以通过位运算实现,具体实现如下:1.二进制位异或运算相当于对应位相加,不考虑进位比如: 1 ^ 1...

2019-10-10 00:09:14 544

算法题单-适用ACM、NOI、NOIP训练

资源名称:算法题单-适用ACM、NOI、NOIP训练 内容概要:ACM 训练题单,从0到1,涵盖各大OJ平台,有大量题目可供针对性练习。 适用人群:ACM、NOI、NOIP、算法爱好者。 目标:提高算法能力,比赛争金夺银。

2023-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除