算法题
刷算法题是计算机人永恒不倒的变强阶梯。
「已注销」
zhtsu
展开
-
PTA刷题记录:L1-003 个位数统计 (15分)
L1-003 个位数统计题目要求:给定一个k位整数N = dk-110k-1 + … + d1101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式:对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数原创 2020-08-07 17:59:47 · 227 阅读 · 0 评论 -
LeetCode刷题记录:剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定原创 2020-08-06 19:54:14 · 144 阅读 · 0 评论 -
LeetCode刷题记录:剑指 Offer 05. 替换空格
剑指 Offer 05. 替换空格题目要求:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof解题思路:C++字符串替换函数replace。。。通关代码:class Solutio原创 2020-08-09 20:23:09 · 126 阅读 · 0 评论 -
PTA刷题记录:L1-008 求整数段和 (10分)
L1-008 求整数段和题目要求:给定两个整数A和B,输出从A到B的所有整数以及这些数的和。输入格式:输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。输出格式:首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。输入样例:-3 8输出样例:-3 -2 -1 0 12 3 4 5 67 8Sum = 30解题思路:就原创 2020-08-07 14:57:51 · 467 阅读 · 0 评论 -
PTA刷题记录:L1-017 到底有多二 (15分)
L1-017 到底有多二题目要求:一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。输入格式:输入第一行给出一个不超过50位的整数N。输出格式:在一行中输出N犯二的程度,保留小数点后两位。输入样例:-13142223336原创 2020-08-07 21:07:32 · 281 阅读 · 0 评论 -
PTA刷题记录:1001 害死人不偿命的(3n+1)猜想 (15分)
1001 害死人不偿命的(3n+1)猜想 (15分)题目要求:卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证原创 2020-08-09 19:52:46 · 84 阅读 · 0 评论 -
PTA刷题记录:L1-007 念数字 (10分)
L1-007 念数字题目要求:输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。输入样例:-600输出样例:fu l原创 2020-08-07 19:54:28 · 818 阅读 · 0 评论 -
PTA刷题记录:L1-010 比较大小 (10分)
L1-010 比较大小题目要求:本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8输出样例:2->4->8解题思路:因为需要比较的数据只有三个,使用两两比较的方法就可以得出结果。假设三个变量为 a , b , c 。我们依次两两比较并进行交换。比较过程:首先比较 a 和 b 并进行交换(我们交换使得大的数据位于后),此时 b 可能是最原创 2020-08-07 17:03:29 · 422 阅读 · 0 评论 -
LeetCode刷题记录:剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字题目要求:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sh原创 2020-08-05 20:46:36 · 104 阅读 · 0 评论 -
BASIC-12 十六进制转八进制
#include <iostream>#include <stdlib.h>#include <algorithm>using namespace std;const char HEX[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};const string hexBinary[16] = {"0000", "0001", "0010"原创 2021-10-19 21:17:51 · 252 阅读 · 0 评论 -
OJ刷题记录:期末备考及考试结果
求二叉树中度为2的结点个数 题目编号:1015#include <iostream>using namespace std;struct TreeNode { char _val; TreeNode* _left; TreeNode* _right; TreeNode(int val):_val(val), _left(NULL), _right(NULL) {}};class BinTree { public: BinTree(); ~BinTree();原创 2020-11-25 14:19:32 · 321 阅读 · 0 评论 -
OJ刷题记录:FJ的字符串
FJ的字符串题目描述:FJ在沙盘上写了这样一些字符串:A1 = “A”A2 = “ABA”A3 = “ABACABA”A4 = “ABACABADABACABA”… …你能找出其中的规律并写所有的数列AN吗?输入输入描述:仅有一个数:N ≤ 26。输出输出描述:请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。输入样例 13输出样例 1ABACABA解题思路:根据给出的字符串,可以得出规律:1)字符串 AN 的长度为 (2^N) -原创 2020-11-10 21:26:10 · 410 阅读 · 0 评论 -
OJ刷题记录:杨辉三角形
杨辉三角形题目描述:杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入输入描述:输入包含一个数n。输出输出描述:输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。解题思路:因为杨辉三角每行拥有的数字的个数等于当前的行数,使用一个长宽相等原创 2020-11-10 18:49:44 · 350 阅读 · 1 评论 -
OJ刷题记录:好朋友
好朋友题目描述:有一个叫做“数码世界”奇异空间,在数码世界里生活着许许多多的数码宝贝,其中有些数码宝贝之间可能是好朋友,并且数码宝贝世界有两条不成文的规定:第一,数码宝贝A和数码宝贝B是好朋友等价于数码宝贝B与数码宝贝A是好朋友第二,如果数码宝贝A和数码宝贝C是好朋友,而数码宝贝B和数码宝贝C也是好朋友,那么A和B也是好朋友现在给出这些数码宝贝中所有好朋友的信息问:可以把这些数码宝贝分成多少组,满足每组中的任意两个数码宝贝都是好朋友,而且任意两组之间的数码宝贝都不是好朋友输入:输入的第一行有原创 2020-11-09 21:22:32 · 173 阅读 · 0 评论 -
OJ刷题记录:散列查找实验
散列查找实验(闭散列) 题目编号:582题目描述:请设计一个整型闭散列表,散列函数为除留余数法,处理冲突时的探查方法为线性探查法,其中散列表的长度、除留余数法的模和关键码的个数由键盘输入,再根据输入由键盘输入所有的关键码。分别对三个待查值在散列表中进行查找,如果找到了输出位置,如果没找到,输出“none”并把该待查值插入到散列表中,如果散列表满输出“full”。输入描述各个命令以及相关数据的输入格式如下:第一行输入闭散列表的长度n第二行输入除留余数法的模m第三行输入关键码的个数num第四行输原创 2020-11-04 21:34:52 · 716 阅读 · 0 评论 -
OJ刷题记录:图的邻接表示法验证程序
无向图的邻接矩阵表示法验证程序 题目编号:515题目描述:采用邻接矩阵表示无向图,完成图的创建、图的深度优先遍历、图的广度优先遍历操作。其中图的顶点信息是字符型,图中顶点序号按字符顺序排列。本输入样例中所用的图如下所示:输入描述第一行输入两个值,第一个是图中顶点的个数,第二个是图中边的条数第二行输入各顶点的信息,即输入每个顶点字符第三行开始输入每条边,每条边的形式为两个顶点的序号,中间以空格隔开,输入完一条边换行输出描述首先输出图的顶点信息,输出完毕换行接着输出图的邻接矩阵,假如图中有n个原创 2020-10-28 14:55:58 · 1241 阅读 · 5 评论 -
OJ刷题记录:问题 A: 微生物繁殖
问题 A: 微生物繁殖题目描述:假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。输入无输出因为该题为填空题直接将结果print即可解题思路:利用程序模拟出以上过程。通关代码:#include <iostream>using namespace st原创 2020-10-10 15:39:35 · 181 阅读 · 0 评论 -
OJ刷题记录:问题 A: 蓝桥杯(C/C++组)2015-8 移动距离
问题 A: 蓝桥杯(C/C++组)2015-8 移动距离题目要求:X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入输入为3个整数w m n,空格分开,都在1到10000范围内w为排号宽度,m,n为待计原创 2020-10-07 22:27:53 · 224 阅读 · 1 评论 -
OJ刷题记录:一元多项式的运算 题目编号:463
一元多项式的运算 题目编号:463题目要求:已知一元多项式:A(x)=a0+a1x+a2x2+a3x3+….anxn, B(x)= b0+b1x+b2x2+b3x3+….bmxm设计算法实现C(x)=A(x)+B(x)。功能包括输入多项式A,输入多项式B,求A和B的和,显示求和后的结果等操作。本题中,链表的第一个元素位置为1,链表的数据域有两个值 :coef exp其中coef为系数,exp为指数。输入描述各个命令以及相关数据的输入格式如下:输入多项式A:A,接下来的n行是要输入的多项式,每一原创 2020-09-28 19:15:14 · 813 阅读 · 0 评论 -
OJ刷题记录:银行业务队列简单模拟 题目编号:1023
银行业务队列简单模拟 题目编号:1023题目要求:设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍,即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口优先输出。输入描述输入为一行正整数,其中第1个数字N(<=1000)位顾客总数,后面跟着N位顾客的编号。编号为奇数的顾客需要到A窗口办理业务,为偶数的顾客则取B窗口。数字间以空原创 2020-09-27 18:51:27 · 641 阅读 · 0 评论 -
OJ刷题记录:判断一个字符串中括号是否匹配 题目编号:616
判断一个字符串中括号是否匹配 题目编号:616题目要求:从键盘读入一个字符串,其中只含有() {} [ ] ,判断该字符串中的每种括号是否成对出现。提示:可借助栈来实现,括号必须配对出现,如()[ ]{},这是匹配的括号,如([{])},这是不匹配的括号(中间无空格)。输入描述输入一个字符串(中间不包含空格)输出描述匹配输出yes,否则输出no输入样例(([{}]))输出样例yes解题思路:使用栈可以很巧妙的解决这个问题。遍历字符串,若字符为左括号,则将这个字符入栈,若为右括号,则原创 2020-09-27 15:34:00 · 982 阅读 · 0 评论 -
OJ刷题记录:队列的存储结构与操作
队列的顺序存储结构与操作 题目编号:460题目要求:请定义一个顺序队列,可以对队列进行“入队”、“出队”、“清空队列”、“获取队首元素”等操作。键盘输入一些命令,可以执行上述操作。本题中,队列的元素为字母, 队列的最大元素个数为100。输入描述输入各个命令,它们对应的格式如下:入队:E a,a代表入队的元素,这里E和元素之间用空格分隔。清空队列:C获取队头元素:当输入的命令为D时,输出出队的元素值;当输入的命令是G时,输出当前队首元素值;如果没有元素可出队或可取,输出描述当输入的命令为原创 2020-09-27 08:49:35 · 1547 阅读 · 1 评论 -
OJ刷题记录: 栈的存储结构与操作
栈的链式存储结构与操作 题目编号:458题目要求:请你定义一个链栈,可以对链栈进行 “将某个元素入栈”、“弹出栈顶元素”、“取栈顶元素(不删除)”、“判断栈是否为空”、 “清空栈”等操作。键盘输入一些命令,可以执行上述操作。本题中,栈的元素为字符。输入描述各个命令以及相关数据的输入格式如下:将某个元素入栈:P,接下来一行是要入栈的元素弹出栈顶元素:D取栈顶元素(不删除):G清空栈:T判断栈是否为空操作:Y当输入的命令为E时,程序结束输出描述当输入的命令为Y时,请输出栈是否为空,如果栈原创 2020-09-26 14:15:51 · 704 阅读 · 0 评论 -
OJ刷题记录:集合的运算 题目编号:456
集合的运算 题目编号:456题目要求:已知A和B均是由整型数据组成的集合,使用线性表表示集合,设计算法求集合A、B的交集和并集,功能包括输入集合A,输入集合B,求A和B的并集,求A和B的交集。本题中, 线性表的第一个元素位置为1,线性表的最大长度为20。输入描述各个命令以及相关数据的输入格式如下: 输入集合A:A,接下来的一行是要输入的集合元素个数n,下面是n行数据,每行数据有一个值,代表集合元素值 输入集合B:B,接下来的一行是要输入的集合元素个数n,下面是n行数据,每行数据有一个值,代表原创 2020-09-25 16:38:06 · 867 阅读 · 2 评论 -
OJ刷题记录:线性表的存储结构与操作
线性表的顺序存储结构与操作 题目编号:454题目要求:请你定义一个顺序表,可以对顺序表进行如下操作:(1)在某个元素之前插入一些元素(2)删除某个位置的元素(3)查找某元素(4)获取某个位置的元素(5)遍历输出所有元素键盘输入一些命令,可以执行上述操作。本题中,顺序表元素为整数,顺序表的第一个元素位置为1,顺序表的最大长度为20。输入描述各个命令以及相关数据的输入格式如下:在某个位置之前插入操作的命令:I,接下来的一行是插入的元素个数n,下面是n行数据,每行数据有两个值,分别代表插入原创 2020-09-23 22:42:57 · 1025 阅读 · 1 评论 -
OJ刷题记录:将十进制数转换成八进制数 题目编号:545
将十进制数转换成八进制数 题目编号:545题目要求:将三个十进制数分别转换成八进制数,建议使用栈来实现。输入描述输入三个十进制数,每个占一行。输出描述输出每个十进制数所对应的八进制数,每个占一行。输入样例25618915输出样例40027517解题思路:一个十进制整数转换为八进制表示的数时,可按除 8 取余的方法进行。高进制转换为低进制时先取得的余数为低位数,而进制转换时我们需要从高位到低位,所以我们将所得余数依次压入栈,因为栈先进后出,输出时即可实现从高位到低位的结果输出。原创 2020-09-20 09:31:27 · 2394 阅读 · 0 评论 -
OJ刷题记录:问题 B: 蓝桥杯(JAVA组)2015-8 饮料换购
问题 B: 蓝桥杯(JAVA组)2015-8 饮料换购题目要求:乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入一个整数n,表示开始购买的饮料数量(0<n<10000)输出一个整数,表示实际得到的饮料数样例输入 Copy100样例输出 Copy149解题思路:通关代码:#includ原创 2020-09-16 19:24:30 · 273 阅读 · 0 评论 -
OJ刷题记录:约瑟夫环问题 题目编号:657
约瑟夫环问题 题目编号:657题目要求:设有编号为1,2,…,n的n个人围成一个圈,给定一个密码m,从第一个人开始报数,报到m是停止报数,报m的人出圈,再从他的下一个起重新报数,报到m时停止报数,报m的出圈,…,如下下去,直到所有人全部出圈为止。键盘输入n和m的值,请设计程序输出n个人出圈的次序。输入描述输入初始圈中的人数n,占一行输入密码m,占一行输出描述输出出圈的n个人的次序,以空格隔开,最后一个元素后有空格输入样例103输出样例3 6 9 2 7 1 8 5 10 4解题思路原创 2020-09-14 07:47:15 · 660 阅读 · 0 评论 -
OJ刷题记录:柜台服务 题目编号:453
柜台服务 题目编号:453题目要求:编写一个商店柜台接待客人的程序,现在只有一个柜台可以接待客人,在同一时间只能接待一个客人,接待每个客人都需要花费一定的服务时间,现在有一张表,记录顾客到来的时间和每个顾客要占用的服务时间,如果顾客来的时候柜台正在接待客人或者顾客前面还有等待着的顾客,顾客就需要等待,你需要计算出顾客等待的最长时间。输入描述输入数据有多组。每组输入数据,第一行为一个整数n(1<=n<=50),表示有n名顾客。第二行是n个整数c[n],每位顾客在ci时刻到来,c[n]是非原创 2020-09-11 15:28:02 · 129 阅读 · 0 评论 -
OJ刷题记录:问题 F: 地质调查
问题 F: 地质调查题目要求:小明是一个地质调查员,在他调查的地方突然出现个泉眼。由于当地的地势不均匀,有高有低,他觉得这意味着这里在不久的将来将会一个小湖。水往低处流,凡是比泉眼地势低或者等于的地方都会被水淹没,地势高的地方水不会越过。而且又因为泉水比较弱,当所有地势低的地方被淹没后,水位将不会上涨,一直定在跟泉眼一样的水位上。现在给出小明掌握的地图,所有的地图都是一个矩形,并按照坐标系分成了一个个小方格,小明测量除了每个方格的具体高度。我们假定当水留到地图边界时,不会留出地图外,现在他想通过这些数据原创 2020-08-28 20:34:46 · 165 阅读 · 0 评论 -
OJ刷题记录:问题 D: 只出现一次的字符
问题 D: 只出现一次的字符题目要求:小明现在想要找出字符流中第一个只出现一次的字符。给出如下规则来寻找只出现一次的字符,例如,当从字符流中只读出三个字符”bli”时,第一个只出现一次的字符是’b’。当从字符流中读出四个字符"blib"时,第一个只出现一次的字符是‘l’。如果当前字符流没有存在出现一次的字符,返回‘*’字符。输入blibli输出bbbli*解题思路:字符串操作。本题主要有两次子字符串截取,第一次截取当前需要检查的字符串,而在进行检查时需要截取去了被检查字符的字符串。通原创 2020-08-28 19:02:27 · 181 阅读 · 0 评论 -
OJ刷题记录:问题 C: 压缩字符串
问题 C: 压缩字符串题目要求:编写一个程序,输入一个字符串,然后采用如下的规则对该字符串当中的每一个字符进行压缩: (1) 如果该字符是空格,则保留该字符; (2) 如果该字符是第一次出现或第三次出现或第六次出现,则保留该字符; (3) 否则,删除该字符。 例如,若用户输入“occurrence”,经过压缩后,字符c的第二次出现被删除,第一和第三次出现仍保留;字符r和e的第二次出现均被删除,因此最后的结果为:“ocurenc”。输入输入只有一行,即原始字符串。输出输出只有原创 2020-08-28 16:50:25 · 216 阅读 · 0 评论 -
OJ刷题记录:问题 B: 简单正则
问题 B: 简单正则题目要求:现在给出一串字符串,字符串由 a ( ) | 组成,想要通过简单的规则得到字符串最后能够求出的最长字符串是多少?例如 ((aa|aaa)a|(a|aa))aa 能接受的最长字符串是: aaaaaa,长度是6。提示:|在这里是或的意思,选择字符多的那一边。输入一串字符串,字符串由 a ( ) | 组成输出一个数字,表示a的长度样例输入 Copy((aa|aaa)a|(a|aa))aa样例输出 Copy6解题思路:得学会总结一下题型了。本题不难,用递原创 2020-08-28 16:40:30 · 144 阅读 · 0 评论 -
OJ刷题记录:问题 A: 答题有奖
问题 A: 答题有奖题目要求:某个节目组筹划了一起答题有奖活动。活动规则如下:选手需要回答10道题目(1-10)。难度逐渐上升,选手一旦答对当前题目,选手的分数就翻倍,当选手答错时,会扣去当前题目编号对应的分数(选手必须回答问题,不回答按错误处理),若选手总分为0那么将直接记为0分并失去做题资格。每位选手都拥有10分起始分,最低分为0分。现在给出一个分数上限n,请找出这个分数上限内(区间[0,n])完成全部十道题目时无法出现的分数,并给出。输入第一行输入n(n<=100),表示分数上限。原创 2020-08-23 22:33:35 · 285 阅读 · 0 评论 -
OJ刷题记录:L1-206-学霸递情书(15分)
L1-206-学霸递情书(15分)题目要求:李雷和韩梅梅坐前后排。上课想说话怕老师发现,所以改为传小纸条。为了被老师发现他们纸条上说的是啥,他们约定了如下方法传递信息:将26个英文字母(全为大写),外加空格,一共27个字符分成三组,每组9个。也就是ABCDEFGHI是第一组,JKLMNOPQR是第二组,STUVWXYZ是第三组(此处用代表空格)。然后根据传递纸条那天的日期,改变字母的位置先根据月份数m, 以整个分组为单位进行循环左移,移动(m-1)次。然后根据日期数d,对每个分组内的字符进行循环左原创 2020-08-20 18:21:30 · 137 阅读 · 0 评论 -
OJ刷题记录:L1-205-携带硬币去购物(15分)
L1-205-携带硬币去购物(15分)题目要求:你就要去购物了,现在你手上有N种不同面值的硬币,每种硬币有无限多个。为了方便购物,你希望带尽量少的硬币,但要能组合出1到X之间的任意值。输入第一行两个数X、N,以下N个数,表示每种硬币的面值。输出最少需要携带的硬币个数,如果无解输出-1.样例输入 Copy20 41 2 5 10样例输出 Copy5提示每种硬币的面值可以是任意正整数1 2 3 4 5…但题目不保证是按顺序给出解题思路:还没弄懂这个算法。参考自文章——点这里。通关原创 2020-08-20 16:08:28 · 153 阅读 · 0 评论 -
OJ刷题记录:L1-204-Ribbon负载均衡-轮询算法(10分)
L1-204-Ribbon负载均衡-轮询算法(10分)题目要求:最近出题人在学分布式,想分享给大家这个有趣东西。负载均衡算法:rest接口第几次请求数 % 服务器集群总数 = 实际调用服务器位置下标,并且每次服务重启后rest接口计数重新从1开始127.0.0.1:8002、127.0.0.1:8001 组合成为集群,它们共计两台机器,即集群总数为2,根据上述描述以下是调用原理:当总请求数为1时:1 % 2 = 1 对应下标位置为1,则获得服务地址为127.0.0.1:8001当总请求数为2时:原创 2020-08-19 19:43:46 · 186 阅读 · 0 评论 -
OJ刷题记录:L1-203-IP地址(10分)
L1-203-IP地址(10分)题目要求:编写一个函数判断一个字符串是IPv4地址还是IPv6地址或者两者都不是。 IPv4地址以十进制格式表示,它由四个十进制数组成,每个数字范围从0到255,以点(“.”)分隔,例如127.0.0.1; IPv6地址以十六进制格式表示,它由八个四位的十六进制数组成,以冒号(“:”)分隔,例如: 2000:08db:85a3:0020:0000:8a2e:0370:7334就是合法的 IPv6地址。 我们可以省略一些前导零或者把字母以大写字母表示,所以2000:08DB原创 2020-08-19 18:50:40 · 247 阅读 · 0 评论 -
OJ刷题记录:L1-706-无边界的陆地数量(20分)
L1-706-无边界的陆地数量(20分)题目要求:听说有一个名词叫“飞地”,解释一下:无法达到边界的陆地。呵呵呵,那么我们来通过程序实现一下计算飞地的数量吧。给出一个二维数组 A,每个单元格为 0(代表海)或 1(代表陆地)。移动是指在陆地上从一个地方走到另一个地方(朝四个方向之一)或离开网格的边界。返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。输入第一行输入二维数组的行n和列m,其中n,m 均小于100接下来n行输入二维数组输出输出无法在任意次数的移动中离开网格边界的原创 2020-08-19 16:23:41 · 148 阅读 · 0 评论 -
OJ刷题记录:L1-107-按要求排合唱队形(20分)
L1-107-按要求排合唱队形(20分)题目要求:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1≤i≤K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输原创 2020-08-19 15:43:53 · 186 阅读 · 0 评论