数据结构和算法
文章平均质量分 55
记录数据结构和算法
爱敲代码的小黄
我是爱敲代码的小黄,阿里淘宝集团的Java开发工程师,CSDN博客专家,阿里云专家博主。写过的专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列、duubo源码系列,期待和大家一起学习,一起进步,一起对抗互联网寒冬
展开
-
【栈与队列_2】两个栈实现一个队列
目录【题目】【难度】【解答】【代码】【题目】编写一个类,用两个栈实现队列,支持队列的基本操作(and、poll、peek)【难度】尉 二星【解答】栈的特点是先进后出,而队列的特点是先进先出一个栈作为压入栈,在压入数据的时候我们只往这个栈中压入,记为 stackPush一个栈作为弹出栈,在弹出数据的时候我们只从这个栈中弹出,记为 stackPop保证以下两点1. 如果 stackPush 要往 stackPop 里面压入数据,那么必须一次性全部压入2. 如果 stac原创 2020-11-18 15:22:27 · 230 阅读 · 0 评论 -
【栈与队列_1】设计一个有getMin功能的栈
实现自己梦想的最好方式就是学习~目录【题目】【要求】【难度】【解答】1. 压入数据规则2. 弹出数据规则3. 查询最小值操作【代码】【点评】【题目】实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】pop、push、getMin操作的时间复杂度都是O(1)设计的栈类型可以使用现成的栈结构【难度】士 一星【解答】1. 压入数据规则假设当前数据为 newNumber,先将其压入 stackData。然后判断 stackMin 是否为空如果为.原创 2020-11-18 13:37:21 · 243 阅读 · 0 评论 -
顺序表应用6:有序顺序表查询
顺序表应用6:有序顺序表查询Time Limit: 1000 ms Memory Limit: 4096 KiBSubmit StatisticProblem Description顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。Input 第一...原创 2018-09-19 14:29:25 · 143 阅读 · 0 评论 -
1.1联结词真值运算
1.1联结词真值运算Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit StatisticProblem Description已知命题变元p和q的真值,求它们的合取式(p∧q)、析取式(p∨q)、蕴涵式(p→q)、等值式(A<=>B)、与非式(p↑q)、或非式(p↓q)的真值。Input多组输入,每组测试数据输入...原创 2018-05-26 15:12:16 · 699 阅读 · 0 评论 -
2017计科01-08编译原理练习题一运行时空间组织管理&优化&目标代码生成
欢迎访问我的个人博客:苦酒的个人小站原创 2019-11-20 15:50:30 · 1077 阅读 · 0 评论 -
表达式语法分析——递归子程序法
欢迎访问我的个人博客:苦酒的个人小站题目介绍题目思路题目给的表达式文法为:E→TGG→+TG | εT→FSS→*FS | εF→(E) | i例如:i+i*i是文法能生成的一个表达式,输出格式举例:0 E–>TG1 T–>FS2 F–>i3 S–>&4 G–>+TG5 T–>FS6 F–>i7 S–&g...原创 2019-11-19 20:37:51 · 645 阅读 · 1 评论 -
SDUTACM小C语言--词法分析程序
欢迎访问我的个人博客:苦酒的个人小站题目简介题目思路首题目给的条件是:关键字:main if else for while int自定义标识符:除关键字外的标识符整数:无符号整数界符:{ } ( ) , ;运算符:= + - * / < <= > >= == !=当出现这些符号时,需要进行判断,来获取输出,输出的格式如以下所示:关键字:用keyw...原创 2019-11-18 21:39:09 · 756 阅读 · 0 评论 -
2017计科01-08编译原理模拟测试2–chap03
单选题已知一有限自动机如图所示,有一状态集I={X,1,2},则Ia=( ) 。 (3分){1,2,3}答案正确(3 分)2-2( ) 不是DFA的成分。 (3分)初始状态集合答案正确(3 分)2-3( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。 (3分)不存在2-3答案正确(3 分)2-4为 正规式 1(0|1)*1...转载 2019-09-24 16:28:05 · 1235 阅读 · 0 评论 -
顺序表应用7:最大子段和之分治递归法
题目简介题目思路先考虑当前的元素是不是最后一个,如果是最后一个的话,判断该元素是不是大于0,如果大于,直接返回该函数,小于则返回0。计算中间元素左边(leftmax)的最大值和右边(rightmax)的最大值,直接用getmax()函数来进行获取找出左边suml和右边sumr的最大值,进行相加,得出一整部分元素和的最大值Max最后,将Max和leftmax、rightmax做对比,求...原创 2019-11-23 17:30:55 · 163 阅读 · 0 评论 -
活动选择
欢迎访问我的个人博客:苦酒的个人小站题目描述Problem Description学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动的开始时刻和截止时刻)。请设计一个算法来找到一个最佳的分配序列,以能够在大学生艺术中心安排不冲突的尽可能多的社团活动。比如有5...原创 2019-11-16 17:25:51 · 195 阅读 · 0 评论 -
汽车加油问题
欢迎访问我的个人博客:苦酒的个人小站题目Problem Description一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。对于给定的n和k个加油站位置,计算最少加油次数。Input输入数据的第一行有2 个正整数n和k(n≤5000,k≤1000),表示汽车加满油后可行驶n公里,且旅途中有...原创 2019-11-16 17:23:57 · 574 阅读 · 0 评论 -
装船问题
title: 装船问题date: 2019-11-13 12:35:06tags: [贪心]categories: 算法photos: https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1573670570696&di=83c8ae60e07e08223890fda1ac...原创 2019-11-16 17:19:01 · 249 阅读 · 0 评论 -
2017级《算法设计与分析》--实验1--分治算法-骨牌铺方格
骨牌铺方格Time Limit:1000 msMemory Limit:32768 KiBSubmitStatisticProblem Description在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:Input输入数据由多行组成,每行包含一个整数n,表示该...原创 2019-10-23 22:12:14 · 374 阅读 · 0 评论 -
2017级《算法设计与分析》--实验1--分治算法
众数问题Time Limit:2000 msMemory Limit:65536 KiBSubmitStatisticProblem Description给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。对于给定的由n 个自然数组成的多重集S,计算...原创 2019-10-23 22:07:52 · 470 阅读 · 0 评论 -
HDU1210 Eddy's 洗牌问题
Problem DescriptionEddy是个ACMer,他不仅喜欢做ACM题,而且对于纸牌也有一定的研究,他在无聊时研究发现,如果他有2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。通过一次洗牌可以把牌的序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。那么可以证明,对于任意自然数N,都可以在经过M次洗牌后第一次重新得到初始的顺序。编程对于小于...原创 2018-08-23 11:21:17 · 404 阅读 · 1 评论 -
L - MaratonIME doesn't like odd numbers
StatementsEstrela is known for defending tolerance time in delay tolerance. When he was attending to his MAC101 classes, there was a 15 minutes tolerance for delays and once he got 19 minutes late t...原创 2018-08-18 20:28:49 · 237 阅读 · 0 评论 -
K - MaratonIME bot
StatementsAs you probably already know, all members of MaratonIME use Telegram to communicate, for its amazing web and desktop apps, its bots and, of course, its stickers.As time goes by, members ...原创 2018-08-18 20:06:39 · 545 阅读 · 0 评论 -
I - MaratonIME divides fairly
StatementsIn a country trip, the contestants decided to play a soccer match. Yan, who was a professional player once, decided not to play to keep the teams balanced. He wanted to participate in anot...原创 2018-08-18 20:03:19 · 326 阅读 · 0 评论 -
G - MaratonIME does a competition
StatementsIt's January and MaratonIME is attending to an ACM-ICPC Summer School in Campinas. Renzo, THE POWERFUL, went to visit his students and, as usual, brought chocolates from Peru. However, aft...原创 2018-08-18 20:00:43 · 383 阅读 · 0 评论 -
F - MaratonIME educates
StatementsUSP has many lunch options between all the uni cafeterias and the restaurants inside the campus. An option that is usually chosen by MaratonIME seniors is the restaurant in the School of E...原创 2018-08-18 19:58:41 · 308 阅读 · 0 评论 -
D - MaratonIME in the golden moment
StatementsIt is a common knowledge the importance in practicing a physical activity, mainly when you take part in ICPC competitions. Keeping this in mind, Giovana Delfino invited her friends from Ma...原创 2018-08-18 19:56:32 · 303 阅读 · 0 评论 -
B - MaratonIME challenges USPGameDev
StatementsYear after year, MaratonIME (group that authored this contest) and USPGameDev (game developing group at USP) fight epic clashes that last for centuries over which group will get each fresh...原创 2018-08-18 19:53:16 · 313 阅读 · 0 评论 -
A - MaratonIME stacks popcorn buckets
StatementsOn a Friday afternoon, some members of MaratonIME decided to watch a movie at CinIME.There were n members who received popcorn buckets numbered from 1 to n.At a certain moment, bucket ...原创 2018-08-18 19:48:04 · 315 阅读 · 0 评论 -
数据结构上机测试2-2:单链表操作B
数据结构上机测试2-2:单链表操作BTime Limit: 1000 ms Memory Limit: 65536 KiBSubmit Statistic DiscussProblem Description按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。Input第一行输入元素个数n;第二行输入n个整数。...原创 2018-08-16 23:44:53 · 132 阅读 · 0 评论 -
A+B for Input-Output Practice
A+B for Input-Output Practice你的任务是求许多数的和。Input第一行需要输入一个整数N,接下来会有N行。 每一行开始输入一个整数M,然后会有M个数在同一行。 Output对于每组输入,要求在一行输出它们的和。并且你要保证每组输出之间有一空行。 Sample Input34 1 2 3 45 1 2 3 4 53 1 2 3...原创 2018-08-16 16:54:09 · 645 阅读 · 0 评论 -
As Easy As A+B
As Easy As A+B小Q有很多书籍,有一天他想整理一下,把这些书按书的大小从小到大摆起来,请你帮帮他好么Input输入包含多组测试。第一行输入一个整数T代表测试的个数,接下来的T行每一行包含一个整数N(1<=N<=1000),代表书本的本数,接下来N个数代表这N本书的大小Output对每个测试,输出排好序的结果Sample Input23 2 1 ...原创 2018-08-16 16:53:17 · 1202 阅读 · 0 评论 -
完美字符串
完美字符串约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。约翰不在乎字母大小写(也就是说字母A和a的完美度相同)。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。Input输入一个字符串S(S的长度 <= 1000...原创 2018-08-16 16:52:12 · 347 阅读 · 0 评论 -
排队接水
排队接水n个人一起排队接水,第i个人需要bii的时间来接水。1 <= n <= 10000 <= bii <= 1000 同时只能有一个人接水,正在接水的人和没有接水的人都需要等待。完成接水的人会立刻消失,不会继续等待。你可以决定所有人接水的顺序,并希望最小化所有人等待时间的总和。Input第一行一个整数n 接下来n行,每行一个整数表示bi...原创 2018-08-16 14:17:41 · 1255 阅读 · 0 评论 -
偏序关系
偏序关系Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit Statistic DiscussProblem Description给定有限集上二元关系的关系矩阵,确定这个关系是否是偏序关系。Input多组测试数据,对于每组测试数据,第1行输入正整数n(1 <= n <= 100),第2行至第n+1行输入n行n列的...原创 2018-06-05 17:31:24 · 1360 阅读 · 0 评论 -
集合的包含
集合的包含Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit Statistic DiscussProblem Description已知含n个元素的集合的子集A和B,用位串表示法判断是否有A⊆B。Input多组测试数据,每组测试数据第1行输入正整数n(1 <= n <= 100),表示集合元素个数,第2...原创 2018-06-05 12:09:51 · 314 阅读 · 0 评论 -
1.3按位AND和按位OR
1.3按位AND和按位ORTime Limit: 1000 ms Memory Limit: 65536 KiBSubmit Statistic DiscussProblem Description已知长度为n的两个位串a和b,求它们的按位AND和按位OR。Input多组测试数据,每组测试数据第1行输入位串长度n(0 < n <= 64),第2行输入n个以空格隔...原创 2018-05-27 22:38:09 · 503 阅读 · 0 评论 -
二维数组的知识
C语言 二维数组有没有默认初值?多少?1:一般来说在main前定义的数组默认值都为0。2:如果想要在函数内定义数组中所有的值都默认成为0的话,只需在定义数组时这样写:int num[2][2]={0};这样数组里面所有的值都被设成0了。3:如果想要它成为其他值,则需要配合循环结构或者直接赋值,比如:int num[2][2]={1,1,1,1};如果数组里的元素过多,则建议使用循环结构...原创 2018-05-25 20:18:04 · 366 阅读 · 0 评论 -
母牛的故事
母牛的故事Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description有一对夫妇买了一头母牛,它从第2年起每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一...原创 2018-01-25 14:52:20 · 199 阅读 · 0 评论 -
爬楼梯
爬楼梯Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description小明是个非常无聊的人,他每天都会思考一些奇怪的问题,比如爬楼梯的时候,他就会想,如果每次可以上一级台阶或者两级台阶,那么上 n 级台阶一共有多少种方案?Input输入包含多组测试数据,对于每组测试数据:输入只有一行为一...原创 2018-01-25 14:51:17 · 184 阅读 · 0 评论 -
养兔子
养兔子Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子。第一天某人领养了一对成熟的兔子,一公一母,请问第N天以后,他将会得到多少对兔子。Input测试数据包...原创 2018-01-25 14:50:10 · 368 阅读 · 0 评论 -
汉诺塔
汉诺塔Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上...原创 2018-01-25 10:24:56 · 329 阅读 · 0 评论 -
Fighting_小银考呀考不过四级
Fighting_小银考呀考不过四级Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description 四级考试已经过去好几个星期了,但是小银还是对自己的英语水平担心不已。小银打算好好学习英语,争取下次四级考试和小学弟小学妹一起拿下它!四级考试的时候,监考老师会按考号分配固定的座位,但唯一不...原创 2018-01-25 10:11:59 · 178 阅读 · 0 评论 -
骨牌铺方格
骨牌铺方格Time Limit: 1000MS Memory Limit: 32768KBSubmit StatisticProblem Description在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Input输入数据由多行组成,每行包含一个整数n,表示该测试实例...原创 2018-01-25 09:10:31 · 326 阅读 · 0 评论 -
三国佚事——巴蜀之危
三国佚事——巴蜀之危Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description话说天下大势,分久必合,合久必分。。。却道那魏蜀吴三国鼎力之时,多少英雄豪杰以热血谱写那千古之绝唱。古人诚不我欺,确是应了那句“一将功成万骨枯”。 是夜,明月高悬。诸葛丞相轻摇羽扇,一脸愁苦。原来是日前蜀国战事吃...原创 2018-01-25 09:08:10 · 216 阅读 · 0 评论 -
约瑟夫问题
约瑟夫问题Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Descriptionn个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。Input输入n和m值...原创 2018-01-24 19:55:42 · 264 阅读 · 0 评论