自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 收藏
  • 关注

原创 leetcode 刷题日记 计算右侧小于当前元素的个数

给你一个整数数组 nums ,按要求返回一个新数组counts 。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于nums[i] 的元素的数量。

2022-08-08 20:40:45 283 1

原创 Leetcode 刷题日记 剑指 Offer II 053. 二叉搜索树中的中序后继

给定一棵二叉搜索树和其中的一个节点 p ,找到该节点在树中的中序后继。如果节点没有中序后继,请返回 null 。节点 p 的后继是值比 p.val 大的节点中键值最小的节点,即按中序遍历的顺序节点 p 的下一个节点。...

2022-07-27 19:08:23 250

原创 Leetcode 刷题日记 剑指 Offer II 055. 二叉搜索树迭代器

实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器:

2022-07-27 10:36:14 245

原创 Leetcode 刷题日记 剑指 Offer II 050. 向下的路径节点之和

给定一个二叉树的根节点 root,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。......

2022-07-26 20:50:38 161

原创 Leetcode 刷题日记 剑指 Offer II 048. 序列化与反序列化二叉树

序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。...

2022-07-26 20:07:22 387

原创 Leetcode 刷题日记 剑指 Offer II 047. 二叉树剪枝

给定一个二叉树 根节点root,树的每个节点的值要么是 0,要么是 1。请剪除该二叉树中所有节点的值为 0 的子树。节点 node 的子树为node 本身,以及所有 node的后代。

2022-07-26 19:26:33 250

原创 江中ACM新生10月26日习题题解

目录第一题:小球自由落体第二题:超级玛丽游戏第三题:算法提高 解二元一次方程组第四题:水仙花数第五题:C语言-猴子吃桃第六题:镂空三角形第七题:习题2-4-7 求最大公约数第八题:车神羲和第一题:小球自由落体描述一个小球从100m高度自由落下,每次落地后返跳回到原来高度的一半,再落下,再返弹。求它第n次落地时,共经过多少米以及第n次返弹多高。输入一个正整数n输出输出一行。输出两个实数,用空格隔开,结果精确到小数点后两位。输入样例11

2021-10-27 20:56:49 799

原创 OJ 1020 最小的回文数

描述回文数是从前往后和从后往前得到的数是相同的。现给你一个正整数N,请你找到比N大的最小的那个回文数P。输入输入包含多组测试数据。每组输入一个正整数N,N不超过10000位,并且N不包含前导0。输出对于每组输入,输出比N大的最小的那个回文数P。输入样例 1443175输出样例 1554181题解首先,题目以及声明N不超过1000位即N<=10^1000,这个正常的数字一定是无法存储的,即使是long long也不可能存这么大的数字,同时既然数

2021-07-14 10:18:11 1128

原创 ZOJ Problem 1005 jugs

题目In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were confronted with the following puzzle. They were given a 3-gallon jug and a 5-gallon jug and were asked to fill the 5-gallon jug with exactly 4 gallons. This problem generalizes that puz

2020-11-20 23:11:46 149

原创 OJ 1018 报数游戏

描述n个人围成一圈(编号为1 - n),从第1个人开始报数,报到k的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:n = 3,k = 2。2号先出列,然后是1号,最后剩下的是3号。输入输入为单组测试数据。输入2个数n和k,表示n个人,数到k出列。(2 <= n, k <= 200)输出输出一个整数表示最后剩下的人的编号。输入样例 110 3输出样例 14题目是一个亚瑟夫环的问题,题目说明了到了第n号就要删除一...

2020-09-21 21:30:04 313

原创 OJ 1129 分数矩阵

描述我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。请求出这个矩阵的总和。输入输入包含多组测试数据。每行给定整数N(N<50000),表示矩阵为N*N。当N=0时,输入结束。输出输出答案,结果保留2位小数。输入样例 112340输出样例 11.003.005.678.83题目是有规律的,首先对角线两侧是对称的,并且数量是递减的,分母从1~n数量是.

2020-08-11 09:06:57 288

原创 OJ 1131 美丽数

描述小明很喜欢3和5这两个数字,他将能被3或5整除的数叫做美丽数。现在给你一个整数N(1<=N<=100000),你能告诉小明第N个美丽数是多少吗?输入输入包含多组测试数据。每组输入一个整数N(1<=N<=100000)。输出对于每组输入,输出第N个美丽数。输入样例 11234输出样例 13569题目要求找出第几个美丽数,那么我们可以先打表,然后直接输出即可#include <iostream>using name.

2020-08-11 08:48:23 354

原创 OJ 1089 春运

描述春运将至,有关部门要统计春运的人流量。现有一辆公交车,共停N(1<N<1000000)个车站(车站编号为1,2,3,……),然后给出M个人,每个人从a车站上车,然后在b车站下车,你的任务是统计这辆公交车停靠每一站时车上的人数。车上的人数包括本站上车和未下车的人,本站下车的人数不应记录。输入每个测试实例第一行为一个整数N,(N <= 1000000).和一个正整数M(M<=1000000),接下来M行每行包括2个整数a b(1 <= a < b <=.

2020-08-10 17:29:45 150

原创 OJ 1253 点菜问题

描述北大网络实验室经常有活动需要叫外买,但是每次叫外买的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。 注意:由于需要营养多样化,每种菜只能点一次。输入输入的第一行有两个整数C(1 <= C <= 1000)和N(1 <= N <= 100),C代表总共能够报销的额度,N>代表能...

2020-08-10 16:12:15 193

原创 OJ 1242 大一上之初出茅庐

描述四年的前的今天,你正想着我应该去哪里上什么样的大学,你想你会学…,结果是很幸运的来到了浙江中医药大学,啊哈,既然来了,就不废话了,这个时候的你应该可以帮我算算A+B。给你你俩数,你把第一个数的奇数位的数与第二个数的偶数位的数相加得到一个数,再把第一个数的偶数位和第二个数的奇数位相加得到一个数,再输出这两个新得到的数的和。输入输入两个数A,B《范围不超过 long long 》输出输出上述和输入样例 1123456输出样例 121题目说奇数位和偶数位,直接使用整.

2020-08-10 09:17:50 271

原创 OJ 1451 数字游戏

描述给定一个整数n。您可以使用这个数字执行以下任意操作(可能是零)次数:如果n能被2整除,则用n/2代替n;如果n能被3整除,则用2n/3代替n;如果n能被5整除,就用4n/5代替n。例如,可以使用第一个操作将30替换为15,使用第二个操作将30替换为20,或者使用第三个操作将30替换为24。你的任务是找出从n中得到1所需的最小步数,或者说这是不可能做到的。您必须回答独立于q的查询。在新行中打印每个查询的答案。如果无法从n中得到1,则打印-1。否则,打印所需的最小步数。

2020-08-09 16:33:46 415

原创 OJ 1507 删数问题

描述输入一个高精度的正整数n(<=240位),去掉任意s个数字后剩下的数字按原左右次序将组成一个新的整数。编程对给定的n和s,寻找一种方案,使得剩下的数最小。输入第一行:长度为n的正整数第二行:要删除数字的个数s输出删除后剩余的最小数输入样例 11785434输出样例 113题目要求删除一些数据以达到这个删除后的数最小,那么就是每次都删除一个连续不降序里面的最大值,为什么是不降序呢,因为还有可能整个序列只有一个数据,这样和后面对比反而是降序了,这个时

2020-08-09 15:57:49 432

原创 OJ 1505 保险丝

描述现有n个设备,标号分别从1到n,第i个设备的用电量为c[i]。我们有一保险丝,当当前设备使用电量之和超过保险丝的总容量时则会跳闸。接下来有m次操作,初始化所有设备都为关闭状态,每操作一次则改变状态,若当前状态为开启,那么操作完毕后则变为关闭,反之亦然。输入测试数据有多组。输入第一行有3个整数,n、m、c,n(n<=20)表示设备的个数,c表示保险丝的总容量。接下来有n行,每行一个数字,第i行表示第i个设备的容量。 接下来有m行,每行一个数字k,表示掰动第k个设备的开关。..

2020-08-09 14:42:16 265

原创 OJ old1218 算法提高 特殊的质数肋骨

描述  农民约翰母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数。  例如有四根肋骨的数字分别是:7 3 3 1,那么全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7 也是质数。7331 被叫做长度 4 的特殊质数。  写一个程序对给定的肋骨的数目 N (1<=N<=8),求出所有的特殊

2020-08-09 10:51:14 202

原创 OJ 1045 反转然后相加

描述假设你有一个整数a,将它各位数字反转以后得到b,然后a=a+b,直到a是回文数为止.求出几次反转相加后能得到一个回文数,输出最小的次数和回文数.例如:195 初始的a591-----786687-----14733741-----52144125-----9339 最终结果输入多组测试数据。每组测试数据包含1个正整数a。(a<=10000)输出对于每组测试数据,输出产生回文数的最小次数和这个回文数.如果超过20次运算还没出现回文数则输出...

2020-08-09 09:29:19 255

原创 OJ 1284 记数问题

描述试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1到11中,即在1、2、3、4、5、6、7、8、9、10、11中,数字1出现了4次。输入每组输入数据共1行,包含2个整数n、x,之间用一个空格隔开。数据规模:对于100%的数据,1≤n≤1,000,000,0≤x≤9。输出每组输出共1行,包含一个整数,表示x出现的次数。输入样例 111 1输出样例 14题目要求找出数字出现的次数,可以使用循环,从1到n检查,通过取余10和除以10.

2020-08-08 16:55:12 252

原创 OJ 1404 交换瓶子

描述有N个瓶子,编号1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入第一行:一个正整数N(N<10000),表示瓶子的数目第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。输出输出数据为一行一个正整数,表示至少交换多少次,才能完成排序...

2020-08-08 16:42:20 118

原创 OJ 1428 配钥匙

描述小姐姐想要配n把钥匙,她走过开锁铺问老板价钱,老板是这么说的:姐姐想知道完成配n把钥匙的任务最少需要花费多少钱?输入题目有多组测试数据。第一行输入一个整数T(组数少于100组),表示测试数据组数,对于接下来每组测试数据:每组测试数据输入只有一行,分别为4个整数,表示n、m、A、B。0≤A,B≤1000000,0≤n,m≤1000;输出对于每组测试数据: 在一行内输出一个整数,表示答案输入样例 115 2 2 3输出样例 18...

2020-08-08 11:26:58 131

原创 OJ 1163 Think Different

描述“Think Different”曾经是美国苹果公司的广告口号,小明非常喜欢这句话,并且把它当作自己的座右铭。一天小红想测试一下小明对这句话到底有多喜欢,于是小红写了一个很长的字符串给小明,问他这个字符串里面有几个子串是这句话。不过小红一向喜欢难为小明,所以设置了以下规定:符合条件的子串的形式为:think+一个空格+different,其中两个单词之间的空格必须有,并且有且仅有一个,同时两个单词中的任何一个字母大小写均可,都符合要求。例如,“Think Different”、“thin...

2020-08-08 11:07:44 257

原创 OJ 1444 传纸条

描述 小文和小涛是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m 行 n 列的矩阵,而小文和小涛被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小文坐在矩阵的左上角,坐标 (1,1),小涛坐在矩阵的右下角,坐标(m,n) 。从小文传到小涛的纸条只可以向下或者向右传递,从小涛传给小文的纸条只可以向上或者向左传递。 在活动进行中,小文希望给小涛传递一张纸条,同时希望小涛...

2020-08-08 11:03:13 163

原创 OJ 1096 松哥的分数拆分

描述松哥寒假回家帮他的外甥女做寒假作业,有一道题目是这样的,有一个表达式1/k=1/x+1/y.其中x>=y.松哥想知道对于已知的k,所有满足条件的表达式有哪些,请从小到大列出它们.输入多组测试数据。每组测试数据包含一个正整数k(0<k<=5000).输出对于每组测试数据输出所有的表达式,若表达式不存在,则输出-1.输入样例 1212输出样例 11/2=1/6+1/31/2=1/4+1/41/12=1/156+1/131/12=1/84+1/

2020-08-07 15:20:00 208

原创 OJ 1170 数列2

描述小明今天在做数学题的时候碰到这样一个问题,一个数列的定义如下:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7。现在给你A,B和n的值,请问你f(n)的值是多少?输入输入包含多组测试数据。每组输入3个整数A,B和n(1<=A,B<=1000,1<=n<=100000000),当输入的3个数都为0时,输入结束。输出对于每组输入,输出f(n)的值。输入样例 11 1 31 2.

2020-08-07 14:13:57 360

原创 OJ 1399 一起来按开关丫

描述 xx的家里有一串长度为n的灯泡,编号1,2,3,4.....n-1,n。每一个灯泡都有一个开关,xx每次选一个数a,把编号为a的倍数的灯泡的开关都按一遍。假定灯刚开始都开着,他做了m次这样的事,问他爸妈打他没有?偶,不不不,问最后有几个灯开着。输入多组输入第一行输入一个n(1<=n<=1e12)第二行数输入一个数m(0<=m<=2)接下来输入m个数ai(1<=ai<=min(1000,n)输出输出最后结果输入样例 1...

2020-08-07 09:56:07 115

原创 OJ 1011 链表合并

描述现在有a,b两个链表,每个链表中的结点包括学号,成绩。要求把两个链表合并,按学号升序排列。输入单组测试数据。输入共三行。第一行:输入两个正整数n和m(0< n ,m <= 100),表示链表a有n条记录,链表b有m条记录。第二行:输入a链表的n条记录,每条记录格式为`id:score`,分别代表学生学号和成绩,每条记录用`-->`隔开。第三行:输入b链表的m条记录。格式和a链表的一样。输出输出共一行,输出两个链表合并后并按学生id升序排列的链表。

2020-08-07 08:59:50 352 1

原创 OJ 1225 欧几里得游戏

描述小明和小红在玩欧几里得游戏。他们从两个自然数开始,第一个玩家小明,从两个数的较大数中减去较小数的尽可能大的正整数倍,只要差为非负即可。然后,第二个玩家小红,对得到的两个数进行同样的操作,然后又是小明。就这样轮流进行游戏,直至某个玩家将较大数减去较小数的某个倍数之后差为0为止,此时游戏结束,该玩家就是胜利者。输入输入包含多组测试数据。每组输入两个正整数,表示游戏一开始的两个数,游戏总是小明先开始。当输入两个0的时候,输入结束。输出对于每组输入,输出最后的胜者,我们认为他们两个都是顶尖高手

2020-08-07 08:58:37 300

原创 OJ 1495 Mixing Milk 混合牛奶

描述由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助Marry乳业找到最优的牛奶采购方案。Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是不同的。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天Marry乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。给出Marry乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。注:每天所有奶农的总产量

2020-08-07 08:57:22 215

原创 OJ 1113 a%b

描述求a%b的值输入第一行一个整数T,表示接下来有T行每行两个整数是a,b,(0<=a<=10^10000,1<b<1000000000)输出输出值输入样例 121 211111111111111111111111111110 2输出样例 110这题呢是一个字符串和整数的取余,取余的话主要还是除法的操作,由于除数上限过大(1e10000)所以使用字符串,除法的机制是从最大位开始取数字,然后除,每一次取得的数据都是余数乘10再附加的数据,比

2020-08-07 08:56:05 172

原创 OJ 1381 选数

描述已知n个整数 x1,x2,…,xn,以及一个整数 k(k<n)。从n个整数中任选k个整数相加,可分别得到一系列的和。例如当n=4,k=3,4个整数分别为 3,7,12,19时,可得全部的组合与它们的和为: 3+7+12=22  3+7+19=29  7+12+19=38  3+12+19=34现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:3+7+19=29输入每个测试文件只包含一组测试数据,每组输入的第一行输入两个整数n和k(1<=n<=20..

2020-08-07 08:54:50 583

原创 OJ 1050 搬苹果

描述sls搬了两箱苹果回家,第一箱有x(x>=1)个,第二箱有y(y>=1)个。由于sls太过粗心了,不小心把有x个苹果的那个箱子(第一箱)落在路上了。回到家后他只记得两箱苹果的总数量(x+y)不会超过n而且可以被k整除。现在sls需要你的帮助让他知道他遗落的第一箱里面可以有多少个苹果,也就是x可以取哪些值,请把这些值按从大到小的顺序输出来。输入多组测试数据。每组测试数据包含3个正整数y,k,n。(y,k<=100,n<=1000)输出如果不存在这样的x,输

2020-08-07 08:53:36 228

原创 OJ 1255 众数

描述给你n个数,求出该数列的众数。|an|<1e9输入输入一个整数T,代表接下来有T组数据,接下来一行为n,代表n个数,然后一行有n个数的数组输出求出该数列中的众数输入样例 1331 2 15-5 -8 1 2 -56-999999 -999999 1000 1000 1000 666输出样例 11-51000提示注意数据的大小,且数据只有一个答案,n<100,且一定有众数,不存在多个题目要求找出众数即最多的那个,我们可以先定义一个二维.

2020-08-07 08:52:07 173

原创 OJ 1087 有趣的排列问题

描述有N对双胞胎,他们的年龄分别是1,2,3,……,N岁,他们手拉手排成一队到野外去玩,要经过一根独木桥,为了安全起见,要求年龄大的和年龄小的排在一起,好让年龄大的保护年龄小的,然后从头到尾,每个人报告自己的年龄,就得到了一个年龄的序列。比如有4对双胞胎,他们报出来的年龄序列是:41312432。突然,他们中间最聪明的小明发现了一个有趣的现象,原来,这个年龄序列有一个规律,两个1中间有1个数,两个2中间有2个数,两个3中间有3个数,两个4中间有4个数。但是,如果是2对双胞胎,那么无论他们怎么排年龄序列,

2020-08-06 16:04:11 181

原创 OJ 1146 【搜索基础】有重复元素的排列问题

描述有重复元素的排列问题perm.pas/c/cpp[问题描述]对n个元素进行全排列。这n个元素由小写字母组成,这n个元素中的某些可能相同[输入格式] 1<=n<=500[输出格式]每行一个序列,按字典序输出最后一行输出方案数[输入样例]4aacc[输出样例]aaccacacaccacaaccacaccaa6这是一个搜索题,首先我们需要记录下每一个字母的数量而不是字符串,然后开始搜索,对每一个单词搜索,搜索他们排列的可能,由于搜索时对字母数目进行.

2020-08-06 16:03:12 780

原创 OJ old1226 算法提高 质数的后代

描述  在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得。  如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代。现在,给你一系列自然数,判断它们是否是质数的直接后代。输入输入描述:  第一行一个正整数T,表示需要判断的自然数数量  接下来T行,每行一个要判断的自然数输入样例:434612输出输出描述:  共T行,依次对于输入中给出的自然数,判断是否为质数的直接后代,是则输出Yes,否则

2020-08-06 16:01:49 283

原创 OJ 1274 字符串去特定字符

描述输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。输入测试数据有多组,每组输入字符串s和字符c。输出对于每组输入,输出去除c字符后的结果。输入样例 1goaoda输出样例 1good题目本身不难就是遍历字符串然后输出,但是问题就在不知道为什么我一样的程序用c++的cin和cout就会错,用c语言的scanf和printf就会对。#include <cstdio>#include <cstring>#include .

2020-08-06 16:00:14 322

原创 OJ 1221 字符串插入

描述将一个字符串插入到另一个字符串当中。输入输入只有一行,两个字符串(stra,strb)和一个整数 i。字符串仅由英文大小写字母或数字组成。输入的字符串长度不超过127。输出将后一个字符串插入到前一个字符串的第i个字符前。输出插入后的结果。输入样例 1strng i 4输出样例 1string题目要求的算法一眼看过去就很复杂,但是我们真的需要这样算吗?不一定,他没说只能输出一个字符串,所以我们可以直接输出。输入这两个字符串,逐个输出主串的字符,然后在输入要求的地方直

2020-08-06 15:59:25 471

空空如也

空空如也

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

TA关注的人

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