随笔分类 -  数据结构与算法

摘要:输入一些单词,找出所有满足如下条件的单词: 该单词不能通过字母重排,得到输入文本中的另一个单词。 在判断是否满足条件时,字母不区分大小写,但在输出时应保留输入中的大小写,按字典序进行排序。 (所有大写字母在所有小写字母的前面) 样例输入: ladder came tape soon leader a 阅读全文
posted @ 2020-12-14 22:36 Vincent-yuan 阅读(115) 评论(0) 推荐(0) 编辑
摘要:输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。 单词不区分大小写。 样例输入: Adventures in Disneyland Two blondes were going to Disneyland when they came to a fork in the ro 阅读全文
posted @ 2020-12-14 21:37 Vincent-yuan 阅读(137) 评论(0) 推荐(0) 编辑
摘要:从左到右有n个木块,编号为0-n-1,要求模拟以下4种操作(下面a和b都是木块编号)。 move a onto b: 把a和b上方的木块全部归位,然后把a摞到b上面。 move a over b: 把a上方的木块全部归位,然后把a及上面的木块整体摞到b上面。 pile a onto b: 把b上方的 阅读全文
posted @ 2020-12-12 12:07 Vincent-yuan 阅读(183) 评论(0) 推荐(0) 编辑
摘要:现有N个大理石,每个大理石上写了一个非负整数。 首先把各数从小到大排序,然后回答Q个问题。 每个问题问是否有一个大理石写着某个整数 x (找第一个), 如果是,还有回答哪个大理石上写着 x 。 排序后的大理石从左到右编号为1~N。 样例输入: 4 1 2 3 5 1 5 5 2 1 3 3 3 1 阅读全文
posted @ 2020-12-09 23:00 Vincent-yuan 阅读(175) 评论(0) 推荐(0) 编辑
摘要:题目描述所谓孪生素数指的是间隔为2的相邻的素数,他们之间的距离已经近得不能再近了,就像孪生兄弟一样,最小的孪生素数是(3,5),在100以内还有(5,7),(11,13),(17,19),(17,19),(29,31),(41,43),(59,61),(71,73),总计8组。 但随着数字的增大,孪 阅读全文
posted @ 2020-06-30 07:45 Vincent-yuan 阅读(1896) 评论(0) 推荐(0) 编辑
摘要:题目: 刽子手游戏是一款猜单词游戏。 游戏规则如下:计算机想一个单词让你猜,你每次可以猜一个字母。 如果单词里有那个字母,所有该字母会显示出来; 如果没有那个字母,则计算机会在一副刽子手画上填一笔。 这幅画一共需要7笔就能完成,因此你最多只能错6次。 注意:猜一个已经猜过的字母也算错。 在本题中,你 阅读全文
posted @ 2020-06-10 21:52 Vincent-yuan 阅读(676) 评论(0) 推荐(0) 编辑
摘要:题目 给出两个长度分别是 n1 , n2 (n1,n2<=100)且每列的高度只为1或2的长条。 需要将他们放入一个高度为3的容器,问能容纳他们的最短容器长度。 分析 每组输入两行数,且只由1,2构成。然后上下两排需要以最小长度咬合在一起, 不过可以1对1形成一个空缺。然后求咬合后的总长度的最小值。 阅读全文
posted @ 2020-06-07 19:36 Vincent-yuan 阅读(279) 评论(0) 推荐(0) 编辑
摘要:题目: 给定6个矩形的长和宽wi 和 hi(1<=wi, hi<=1000),判断它们是否构成长方体的6个面。 分析 如果一组数据能构成长方体,则6个面满足: a, b a, b a, c a, c b, c b, c 其中 a<=b <= c 如果把输入的数据排序之后,很容易进行判断,即 1, 2 阅读全文
posted @ 2020-06-01 23:04 Vincent-yuan 阅读(227) 评论(0) 推荐(0) 编辑
摘要:题目 The decimal expansion of the fraction 1/33 is 0.03, where the 03 is used to indicate that the cycle 03repeats indefinitely with no intervening digi 阅读全文
posted @ 2020-05-27 23:59 Vincent-yuan 阅读(673) 评论(0) 推荐(0) 编辑
摘要:题目 输入m个长度为n的DNA序列,求一个DNA序列,到所有序列的总Hamming距离尽量小。 两个等长字符串的Hamming距离等于相同位置不同字符的个数,例如,ACGT和GCGA的 Hamming距离为2(左数第1,4个字符不同)。 输入整数m和n(4<=m<=50,4<=n<=1000),以及 阅读全文
posted @ 2020-05-26 23:34 Vincent-yuan 阅读(1156) 评论(0) 推荐(0) 编辑
摘要:题目 输入一个r行c列(1<=r, c<=10)的网格,黑格用 * 表示,每个白格都填有一个字母。 如果一个白格的左边相邻位置或者上边相邻位置没有白格(可能是黑格,也可能出了网格边界), 则称这个白格是一个起始格。 首先把所有起始格按照从上到下,从左到右的顺序编号为1,2,3,... ,如图 接下来 阅读全文
posted @ 2020-05-25 23:29 Vincent-yuan 阅读(1004) 评论(0) 推荐(0) 编辑
摘要:题目 有一个5*5的网格,其中恰好有一个格子是空的,其他格子各有一个字母。 一共有4中指令:A,B,L,R,分别表示把空格上、下、左、右的相邻字母移动到空格中。 输入初始网格和指令序列(以数字0结束),输入指令执行完毕后的网格。 如果有非法指令,应输出“This puzzle has no fina 阅读全文
posted @ 2020-05-23 20:25 Vincent-yuan 阅读(394) 评论(0) 推荐(0) 编辑
摘要:题目 如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。 例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。 输入一个长度不超过80的字符串,输出器最小周期。 分析 长度为n的字符串可以由长度为k的字符串重复多次得到,所以k必定是n的公约数。 同时满足0 阅读全文
posted @ 2020-05-23 12:46 Vincent-yuan 阅读(798) 评论(0) 推荐(0) 编辑
摘要:题目 把前n(n<=10000)个整数顺次写在一起:123456789101112...数一数0-9各出现多少次(输出10个整数,分别是0,1,...,9出现的次数)。 分析 1.直接求每个n的0-9出现的次数。 2.先求出1-10000之前每个数字对应的0-9出现的次数。 第一种方式效率相对第二种 阅读全文
posted @ 2020-05-23 11:19 Vincent-yuan 阅读(637) 评论(0) 推荐(0) 编辑
摘要:题目 给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4中原子, 分别为C,H,O,N,分子量分别为12.01,1.008,16.00,14.01(单位:g/mol)。 例如,C6H5OH的分子量为94.108g/mol。 分析 c*6+h*5+o+h = 94.108 判断当前位为 阅读全文
posted @ 2020-05-23 11:02 Vincent-yuan 阅读(2032) 评论(0) 推荐(0) 编辑
摘要:题目 给出一个由O和X组成的串(长度为1-80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0. 例如,OOXXOXXOOO的得分为 1+2+0+0+1+0+0+1+2+3。 分析 用一个变量记录连续的O的数量,遇到X则置为1 c实现 #include<stdio.h> #inclu 阅读全文
posted @ 2020-05-23 10:52 Vincent-yuan 阅读(633) 评论(0) 推荐(0) 编辑
摘要:题目 长度为n的环状串有n中表示法,分别为从某个位置开始顺时针得到。 例如,图中的环状串有10中表示:CGAGTCAGCT, GAGTCAGCTC, AGTCAGCTCG等在这些表示法中,字典序最小的称为“最小表示”。 输入一个长度为n(n<=100)的环状DNA串(只包含A、C、G、T这4中字符) 阅读全文
posted @ 2020-05-20 23:26 Vincent-yuan 阅读(554) 评论(0) 推荐(0) 编辑
摘要:题目 如果x加上x的各个数字之后得到y,就说x是y的生成元。给出n(1<=n<=100000), 求最小生成元。无解输出0。例如,n=216,121,2005时的解分别为198,0,1979。 分析 假设所求生成元为m。不难发现m<n。即只需枚举所有的m<n,看看有没有哪个数是n的生成元。 但是,这 阅读全文
posted @ 2020-05-19 23:42 Vincent-yuan 阅读(1856) 评论(0) 推荐(0) 编辑
摘要:题目 实现一个经典“猜数字”游戏。给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)。 输入包含多组数据。每组输入第一行为序号长度为n,第二行是答案序列, 接下来是若干猜测序列。猜测序列全0时该数组结束。n=0时输入结束。 样例输入: 4 1 3 阅读全文
posted @ 2020-05-19 22:49 Vincent-yuan 阅读(295) 评论(0) 推荐(0) 编辑
摘要:题目 输入一个字符串,判断它是否为回文串以及镜像串。输入字符串保证不含数字0. 所谓回文串,就是反转以后和原串相同,如abba和madam。 所谓镜像串,就是左右镜像之后和原串相同,如2S和3AIAE。 注意,并不是每个字符在镜像之后都能得到一个合法字符。 在本题中,每个字符的镜像如图所示(空白符表 阅读全文
posted @ 2020-05-19 22:27 Vincent-yuan 阅读(288) 评论(0) 推荐(0) 编辑