自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Z字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入:

2022-01-05 18:23:38 137

原创 全排列问题

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]经典回溯法,解空间是排列树,时间复杂度O(n!)class Solution {public:..

2022-01-05 10:05:16 230

原创 寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2..

2022-01-05 09:37:31 624

原创 最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"经典动态规划,暴力dp。dp[i][j]=0表示s[i]到s[j]的字串不是回文字串,dp[i][j]=1表示s[i]到s[j]的字串是回文字串,所以可以得到状态转移方程dp[i][j]=dp[i+1][j-1]&&(s[i]==s[j])class Solution

2022-01-02 19:17:57 208

原创 工厂机器安排

Today the company has m tasks to complete. The ith task need xi minutes to complete. Meanwhile, this task has a difficulty level yi. The machine whose level below this task’s level yi cannot complete this task. If the company completes this task, they will

2021-11-29 20:34:43 348

原创 程序存储问题

设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。输入格式:第一行是2 个正整数,分别表示文件个数n和磁带的长度L。接下来的1行中,有n个正整数,表示程序存放在磁带上的长度。输出格式:输出最多可以存储的程序数。输入样例:在这里给出一组输入。例如:6 50

2021-11-29 20:34:02 310

原创 会场安排问题

题目来源:王晓东《算法设计与分析》假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的 贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个 顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小 会场数。)输入格式:第一行有 1 个正整数k,表示有 k个待安排的活动。 接下来的 k行中,每行有 2个正整数,分别表示 k个待安排的活动开始时间和结束时间。时间 以 0 点开始的分钟计。输出格式:输出最少会场数。

2021-11-29 20:33:23 816

原创 汽车加油问题

题目来源:王晓东《算法设计与分析》一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。输入格式:第一行有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。 第二行有 k+1 个整数,表示第 k 个加油站与第k-1 个加油站之间的距离。 第 0 个加油站表示出发地,汽车已加满油。 第 k+1 个加油站表示目的地。输出格式:输出最少加油次数。如果无法到达目的地,则输出“

2021-11-29 20:32:40 140

原创 月饼销售问题

月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。...

2021-11-29 20:31:58 159

原创 矩阵取数游戏

小明经常玩一个矩阵取数游戏:对于一个给定的n x n的矩阵,矩阵中的每个元素aij表示该格子的价值,均为非负整数。游戏规则如下:小明从左上角走到右下角,只能向下向右走,经过某个格子,就能获得格子相应价值的奖励,请你帮忙写一个程序,对于任意矩阵,可以求出取数后的最大奖励值。输入格式:输入包括n+1行:第1行为一个整数n。(2 <= n <= 500)第2~n+1行为nxn矩阵,其中每行有n个用单个空格隔开的非负整数。(0 <= aij <= 10000)输出

2021-11-27 12:20:37 722

原创 石子合并问题(矩阵连乘)

有N堆石子排成一排(n<=100),现要将石子有次序地合并成一堆,规定每次只能选相邻的两堆合并成一堆,并将新的一堆的石子数,记为该次合并的得分,编一程序,给出堆数n及每堆石子数(<=200);(1)选择一种合并石子的方案,使得做n-1次合并,得分的总和最少(2)选择一种合并石子的方案,使得做n-1次合并,得分的总和最多输入格式:第一行为石子堆数n第二行为每堆石子数,每两个数之间用一空格分隔。输出格式:第一行为最小合并得分,第二行是最大的合并得分。输入样例:在这

2021-11-27 12:20:02 686

原创 让人头疼的“双十一”

双十一就这样轰轰烈烈的来了,网购宅男小明磨拳霍霍!理想是丰满的,现实是骨感的。小明虽然在购物车添加了不少物品,但是他低头看了下口袋却是叹声连连。小明想要购买的商品中,每件商品都有其价格和期待值,小明只能利用有限的资金,购买能让自己期待值总和达到最大的一系列物品了。输入格式:第一行一个整数T表示有T组测试数据(T<=50)。接下来的T组测试数据:第一行包含两个整数N和M,N表示小明有多少钱,M表示有多少件物品(1<=M<=100)。再二行包含M个整数,表示对应每个物品的价

2021-11-27 12:18:59 673

原创 分弹珠问题

把M个弹珠放到N个盘子里面(我们允许有的盘子为空),你能求出有多少种分法吗?(请注意,例如有三个盘子,我们将5,1,1和1,1,5,视为同一种分法)输入格式:输入包含多组测试样例。每组输入的第一行是一个整数t。 接下来t行,每行输入两个整数M和N,代表有M个弹珠和N个盘子。(0=<M<=20; 0<N<=20)输出格式:对于每对输入的M和N,输出有多少种方法。输入样例:在这里给出一组输入。例如:17 3结尾无空行输出样例:在这里给出相应的输

2021-11-27 12:18:23 458

原创 拦截导弹问题

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹?扩展思考:如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入格式:输入只有一行,为若干个正整数(

2021-11-27 12:17:04 459

原创 自动机确定化

#include<stdio.h>#include<windows.h>typedef struct{ int state[100]; //状态集合 int snum=0; //状态个数 int N=0; //符号个数 //int index; //自身编号 int index[100]; //符号 int to[100][100]; //状态转移到的集合.

2021-11-08 15:36:00 425

原创 First、Follow、Select集

#include<stdio.h>#include<windows.h>typedef struct{ //文法结构体 int Vnnum; //非终结符个数 char Vn[100][100]; //非终结符 int Vtnum; //终结符个数 char Vt[100][100]; //终结符 int snum; .

2021-11-08 15:35:00 191

原创 最大子矩阵和问题

最大子矩阵和问题。给定m行n列的整数矩阵A,求矩阵A的一个子矩阵,使其元素之和最大。输入格式:第一行输入矩阵行数m和列数n(1≤m≤100,1≤n≤100),再依次输入m×n个整数。输出格式:输出第一行为最大子矩阵各元素之和,第二行为子矩阵在整个矩阵中行序号范围与列序号范围。输入样例1:5 660 3 -65 -92 32 -70-41 14 -38 54 2 2969 88 54 -77 -46 -4997 -32 44 29 60 6449 -48 -96 59 -5

2021-11-08 11:22:40 1247

原创 最大子段和

给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂度为O(n)。输入格式:输入有两行:第一行是n值(1<=n<=10000);第二行是n个整数。输出格式:输出最大子段和。输入样例:在这里给出一组输入。例如:6-2 11 -4 13 -5 -2结尾无空行输出样例:在这里给出相应的输出。例如:

2021-11-08 11:21:25 114

原创 单调递增最长子序列

设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。输入格式:输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开输出格式:最长单调递增子序列的长度输入样例:在这里给出一组输入。例如:51 3 5 2 9结尾无空行输出样例:在这里给出相应的输出。例如:4结尾无空行#include<stdio.h>#include<stdlib.h>#include<string

2021-11-07 13:01:14 108

原创 新冠状病毒的基因序列

2019年12月下旬,武汉出现了多例不明原因的病毒性肺炎病例。之后,中国疾病预防控制中心确定此次致病的病原体为一种新的冠状病毒。1月12日,世界卫生组织将其命名为“2019新型冠状病毒(2019-nCoV)”。为了弄清新型冠状病毒的起源,中国疾控中心等机构的研究人员对住院患者的样本进行高通量测序,获得了完整和部分的2019-nCoV基因组序列。接着对这些2019-nCoV基因组和其他冠状病毒的基因组开展系统进化分析,以便确定这些病毒的进化史,帮助推断其可能的来源。上述的研究就属于计算机和生物医学的交

2021-11-07 12:58:23 4718 1

原创 数字三角形

给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。输入格式:输入有n+1行:第 1 行是数字三角形的行数 n,1<=n<=100。接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。输出格式:输出最大路径的值。输入样例:在这里给出一组输入。例如:5 7 3 8 8 1 0 2 7 4 44 5 2 6 5 结尾无空

2021-11-06 17:59:43 236 2

原创 9 求逆序对数目

题目来源:http://poj.org/problem?id=1804 Background Raymond Babbitt drives his brother Charlie mad. Recently Raymond counted 246 toothpicks spilled all over the floor in an instant just by glancing at them. And he can even count Poker cards. Charlie would love

2021-11-06 17:58:56 294 1

原创 8 找第k小的数

设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数。提示:函数int partition(int a[],int left,int right)的功能是根据a[left]~a[right]中的某个元素x(如a[left])对a[left]~a[right]进行划分,划分后的x所在位置的左段全小于等于x,右段全大于等于x,同时利用x所在的位置还可以计算出x是这批数据按升非降序排列的第几个数。因此可以编制int find(int a[],int left,

2021-11-06 17:57:40 140

原创 7 后序+中序序列构造二叉树

后序+中序序列构造二叉树输入样例:第一行输入序列长度n,第二行输入n个字符表示二叉树后序遍历的序列,第三行输入n个字符表示二叉树中序遍历的序列9GHDBEIFCAGDHBAECIF结尾无空行输出样例:输出二叉树先序遍历的序列。ABDGHCEFI结尾无空行#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct node{ char d

2021-11-06 17:57:01 1638 1

原创 6 括号匹配

给定仅包含“()[]{}”六种括号的字符串,请你判断该字符串中,括号的匹配是否是合法的,也就是对应括号的数量、嵌套顺序完全正确。输入格式:第一行一个整数T(T<=10)其后T行每行一个字符串只包含[{()}]六种字符(字符串长度2e5以内)输出格式:对于每个字符串,匹配输出Yes,否则输出No输入样例:2{()[]}([)]结尾无空行输出样例:YesNo结尾无空行#include<iostream>#include<std

2021-11-06 17:56:06 927

原创 5 统计英文单词个数

给出一篇英文文章,现在需要统计文章中出现英文单词的数量。输入格式:第一行一个T,代表数据组数对于每组数据,第一行一个n,代表文章中单词的个数,其后n行每行一个只包含小写字母的长度为1到10的字符串输出格式:每组数据输出若干行,每行输出单词以及它出现的次数(中间空格隔开),不同单词按单词字典序从小到大输出保证单词出现的总次数<=1e5输入样例:18itisapenitisadog结尾无空行输出样例:a 2dog 1is 2it 2

2021-11-06 17:55:12 317

原创 4 集合的“交”与“并”

给出两个由数字组成的集合,请求这两个集合的“交”和“并”。输入格式:给一个n,m 代表两个数列的大小(0 <= n,m <=2e5)如果n>0,则接下来一行, n个数空格隔开,代表第一个集合中的数。如果m>0,则接下来一行, m个数空格隔开,代表第二个集合中的数。-1e9<=ai,bi<=1e9输出格式:第一行首先输出两个数列交的集合中元素个数,如果元素个数大于0,则紧接着在这行输出“交集”的元素,按数值大小升序排列(本行输出多个数据时,用空.

2021-11-06 17:54:29 516

原创 3 字符串的全排列

给定一个全由小写字母构成的字符串,求它的全排列,按照字典序从小到大输出。输入格式:一行,一个字符串,长度不大于8。输出格式:输出所有全排列,每行一种排列形式,字典序从小到大。输入样例:在这里给出一组输入。例如:abc结尾无空行输出样例:在这里给出相应的输出。例如:abcacbbacbcacabcba结尾无空行#include<stdio.h>#include<stdlib.h>#include<string

2021-11-06 17:53:35 573

原创 2 办事大厅排队

在郑州大学综合办事大厅,每天陆陆续续有很多人来排队办事。现在你能否写程序帮助老师时刻了解当前办理业务的情况。请同学们学习C++ STL中 list相关内容后,编程实践。输入格式:第一行一个数字N,表示排队信息或者查询信息条目的数量。以下N行,每行的内容有以下3种情况(1) in name 表示名字为name的人员新来到办事大厅,排在队伍的最后。(in和name间存在一个空格,name是名字对应字符串,长度不超过10)。(2) out 表示当前排在最前面的人已经办理完业务,离开了。

2021-11-06 17:49:49 250

原创 1 插座问题

体育馆内要举办一场程序设计竞赛的现场赛,需要接入服务器、路由器、打印机、电脑等电子设备(假定所有用电器的插头都是三头的)。而体育馆内的墙上只有一个三孔插座可供使用。现在组委会需要购买一批插排(插头为三头,所有插孔都为三孔),使得全部用电器都能通电。想让你帮忙算算至少需要购买多少插排?输入格式:输入两个整数N,K,分别表示N个用电器以及每个插排都有K个插口(1<=N<=100,2=<K<=100)输出格式:一个数,表示所需最少的插排数量。输入样例:在这里给出一组

2021-11-06 17:46:06 346 3

空空如也

空空如也

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

TA关注的人

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