算法----水
sunlanchang
北京邮电大学-计算机硕士,sunlanchang@bupt.edu.cn
展开
-
LeetCode 326. 3的幂
Description给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 1:输入: 27输出: true示例 2:输入: 0输出: false示例 3:输入: 9输出: true示例 4:输入: 45输出: falseSolutionclass Solution: def isPowerOfThree(self, n: int) ->...原创 2019-10-31 16:38:26 · 85 阅读 · 0 评论 -
PAT B1036 跟奥巴马一起编程(简单模拟)
描述格式:输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。输出格式:输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。输入样例:10 a输出样例:aaaaaaaaaaa aa aa aaaaaa...原创 2019-02-01 11:12:37 · 294 阅读 · 0 评论 -
牛客网 找最小数(sort结构体查找、北邮机试)
题目描述第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。输入描述:输入有多组数据。每组输入n,然后输入n个整数对。输出描述:输出最小的整数对。示例1输入53 32 25 52 13 6输出2 1Solution对结构体重载小于号即...原创 2019-01-31 19:19:56 · 157 阅读 · 0 评论 -
NowCoder 剩下的树 (打表)
题目描述有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…,L共L+1个位置上有L+1棵树。 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间包括端点)所有的树。 可能有M(1<=M<=100)个区间,区间之间可能...原创 2019-01-03 13:45:41 · 129 阅读 · 0 评论 -
牛客网 谁是你潜在的朋友 (hash)
描述把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。输入描述:每个案例第一行两个整数N,M,2 <= N ,M<= 200。接下来有N行,第i(i = 1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)输出描述...原创 2019-01-03 13:24:54 · 321 阅读 · 0 评论 -
牛客网 统计同成绩学生人数 (hash)
题目描述读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入描述:测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。输出描述:对每个测试用例,将获得给定分数的学生人数输出。示例1输入380 60 9060...原创 2019-01-02 23:01:32 · 205 阅读 · 0 评论 -
牛客网 成绩排序 (sort函数技巧)
题目描述有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息。输入描述:测试数据有多组,每组输入第一行有一个整数N(N&amp;lt;=1000),接下来的N行包括N个学生的数据。每个学生的数据包括姓名(长度不超过100的字符串)、年龄(整形数)、成绩(小于等于100的正数)。输出描述:将学生信...原创 2019-01-01 22:14:57 · 943 阅读 · 0 评论 -
HDU2034 人见人爱A-B(数组映射)
Problem Description参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法运算。(当然,大家都知道集合的定义,就是同一个集合中不会有两个相同的元素,这里还是提醒大家一下)Input每组输入数据占1行,每行数据的开始是2个整数n(0<=n<=100)...原创 2018-03-21 17:22:42 · 546 阅读 · 0 评论 -
2017第八届蓝桥杯C/C++ B组省赛第一题(water)
标题: 购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少...原创 2018-03-25 15:57:16 · 263 阅读 · 0 评论 -
蓝桥杯 猜灯谜 (水)
descriptionA 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字。请你用计算机按小明的思路算一下,然后提交“请猜谜”三个字所代表的整数即可。//answer 897#include <iostream>#include <cstdio>using namespa...原创 2018-03-29 20:42:13 · 554 阅读 · 0 评论 -
蓝桥杯 高斯日记 (模拟)
description大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343...原创 2018-03-29 20:36:07 · 391 阅读 · 0 评论 -
CF-3A Shortest path of the king(water)
description给定棋盘中的两个位置,给出行走的最短路径,一个棋子的八个方向均可以行走。方向分别是L,R,U,D,LU,LD,RU,RD。inputa8 h1output7 RD RD RD RD RD RD RDp1, p2 = input(), input()x1, y1 = ord(p1[0]) - ord('a') + 1, int(原创 2018-02-04 20:14:31 · 237 阅读 · 0 评论 -
CF-2A Winner(water)
description输入名字和点数,如果名字重复则点数累加,点数可以为负数,计算点数最大者,如果点数相同则最先达到最大点数的为最大者。input包含一个整数n(13 mike 3 andrew 5 mike 2 3 andrew 3 andrew 2 mike 5outputandrew andrewsolution使用字典累加,用列表保存状态即可原创 2018-02-02 19:21:46 · 314 阅读 · 0 评论 -
CF-1B Spreadsheets(water)
description给定整数n (1<=n<=105)" role="presentation">(1=n=105)(1n105)(1 接下来是n组测试用例,测试用例有两种格式,第一种由R代表行号,C代表列号,将这种形式转换为26进制,并且第一个数字为A,类似与Excel表格命名方法。input2 R23C55 BC23ouputBC23 R23C55s原创 2018-02-01 22:22:30 · 242 阅读 · 0 评论 -
HDU - 2097 Sky数 (water)
Discription给定一个数字,该数字的十进制或者十二进制或者十六进制各位相加都相等则为Sky数。例如2992,三种进制的各位相加都相等。Input输入含有一些四位正整数,如果为0,则输入结束。 Output若n为Sky数,则输出“#n is a Sky Number.”,否则输出“#n is not a Sky Number.”。每个结果占一行。注意:#n表示所读原创 2018-01-12 19:01:53 · 258 阅读 · 0 评论 -
HDU - 2087 剪花布条(water)
Discription一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再原创 2018-01-12 17:49:11 · 470 阅读 · 0 评论 -
HDU - 2085 核反应堆(water)
Discription某核反应堆有两类事件发生: 高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点; 低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。 假定开始的时候(0微秒)只有一个高能质点射入核反应堆,每一微秒引起一个事件发生(对于一个事件,当前存在的所有质点都会撞击核子),试确定n微秒时高能质点和低能质点的数目。 Input输入含有一原创 2018-01-12 18:31:04 · 273 阅读 · 0 评论 -
HDU - 2088 Box of Bricks (water)
题目大意是输入一个N,代表以下将输入几根积木柱子,在输入N个数字,代表每一根柱子所含的积木个数。要求每一次移动一块积木,使得N根柱子一样高,输出最小移动次数。 solution求平均值,每个超过平均值的柱子的加和即为结果code#include <cstdio>int main(){ int n, arr[55], flag = 0; while (~scanf("%d", &原创 2017-12-31 18:03:02 · 217 阅读 · 0 评论 -
牛客网 比较奇偶个数(水、北邮机试)
题目描述第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。输入描述:输入有多组数据。每组输入n,然后输入n个整数(1&lt;=n&lt;=1000)。输出描述:如果偶数比奇数多,输出NO,否则输出YES。示例1输入51 5 2 4 3输出YES#include&lt;iostream&gt;#include&lt;cstd...原创 2019-02-02 17:00:17 · 189 阅读 · 0 评论 -
牛客网 二进制数(进制转换、北邮机试)
题目描述大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。输入描述:每行有一个数字n(0&lt;=n&lt;=10^8),表示要求的二进制串。输出描述:输出共T行。每行输出求得的...原创 2019-02-02 16:44:25 · 321 阅读 · 0 评论 -
牛客网 查找第k小数(水、北邮机试)
题目描述查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。输入描述:输入有多组数据。每组输入n,然后输入n个整数(1&amp;amp;lt;=n&amp;amp;lt;=1000),再输入k。输出描述:输出第k小的整数。示例1输入62 1 3 5 2 23输出3Solution先去重,后排序即可。#include&amp;amp;lt;iostream&amp;amp;原创 2019-02-03 11:29:40 · 211 阅读 · 0 评论 -
Leetcode 67. 二进制求和
描述给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”Solutionclass Solution: def addBinary(self, a: str, b: str) ...原创 2019-07-11 17:21:17 · 81 阅读 · 0 评论 -
Leetcode 345. 反转字符串中的元音字母
描述编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: “hello”输出: “holle”示例 2:输入: “leetcode”输出: “leotcede”Solutionclass Solution(object): def reverseVowels(self, s): """ :type s: str ...原创 2019-07-15 16:50:54 · 166 阅读 · 0 评论 -
Leetcode 28. 实现strStr()
描述实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “...原创 2019-07-09 16:46:05 · 87 阅读 · 0 评论 -
Leetcode 27. 移除元素
描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元...原创 2019-07-09 16:29:42 · 138 阅读 · 0 评论 -
Leetcode 26. 删除排序数组中的重复项
描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nu...原创 2019-07-09 16:15:14 · 93 阅读 · 0 评论 -
Leetcode 20. 有效的括号
描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “...原创 2019-07-09 15:45:49 · 113 阅读 · 0 评论 -
LeetCode 14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。Solutionclass Solution { public String longestCom...原创 2019-05-04 23:05:58 · 145 阅读 · 0 评论 -
LeetCode 9 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。Solution...原创 2019-04-27 11:20:52 · 124 阅读 · 0 评论 -
Leetcode 7. 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。Solution使用long ...原创 2019-04-27 10:55:13 · 87 阅读 · 0 评论 -
牛客网 特殊乘法(简单模拟、清华机试)
题目描述写个算法,对2个小于1000000000的输入,求结果。 特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35输入描述:两个小于1000000000的数输出描述:输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。示例1输入123 45输出54Description#include <i...原创 2019-03-15 20:54:34 · 175 阅读 · 0 评论 -
牛客网 abc(简单模拟、清华机试)
题目描述设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。输入描述:题目没有任何输入。输出描述:请输出所有满足题目条件的a、b、c的值。a、b、c之间用空格隔开。每个输出占一行。#include <iostream>#include <cstdio>using namespace ...原创 2019-03-14 16:09:28 · 342 阅读 · 0 评论 -
牛客网 球的半径和体积(模拟、清华机试)
题目描述输入球的中心点和球上某一点的坐标,计算球的半径和体积输入描述:球的中心点和球上某一点的坐标,以如下形式输入:x0 y0 z0 x1 y1 z1输出描述:输入可能有多组,对于每组输入,输出球的半径和体积,并且结果保留三位小数为避免精度问题,PI值请使用arccos(-1)。示例1输入0 0 0 1 1 1输出1.732 21.766#include <iostr...原创 2019-03-01 21:08:04 · 254 阅读 · 0 评论 -
牛客网 成绩排序(sort、清华机试)
题目描述用一维数组存储学号和成绩,然后,按成绩排序输出。输入描述:输入第一行包括一个整数N(1<=N<=100),代表学生的个数。接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。输出描述:按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。如果学生的成绩相同,则按照学号的大小进行从小到大排序。示例1输入31 902 873 92输...原创 2019-03-01 20:54:06 · 353 阅读 · 0 评论 -
牛客网 反序输出(模拟、清华机试)
题目描述输入任意4个字符(如:abcd), 并按反序输出(如:dcba)输入描述:题目可能包含多组用例,每组用例占一行,包含4个任意的字符。输出描述:对于每组输入,请输出一行反序后的字符串。具体可见样例。示例1输入UpincvYjWJpwcXOA输出nipUjYvcwpJWAOXcSolution#include <iostream>#inclu...原创 2019-02-28 21:14:23 · 237 阅读 · 0 评论 -
PAT B1019 数字黑洞(简单数学)
描述定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 126...原创 2019-02-03 19:42:31 · 697 阅读 · 0 评论 -
POJ 3176 Cow Bowling (数字三角形DP)
DescriptionThe cows don’t use actual bowling balls when they go bowling. They each take a number (in the range 0..99), though, and line up in a standard bowling-pin-like triangle like this: 7原创 2017-07-18 16:19:09 · 253 阅读 · 0 评论 -
HDU - 2031 进制转换 (water)
Discription输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 Output为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。Sample Input7 2 23 12 -4 3Sample Output11原创 2017-12-31 13:42:03 · 274 阅读 · 0 评论 -
HDU - 2030 汉字统计 (water)
Description统计给定文本文件中汉字的个数。Input输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。Output对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。 [Hint:]从汉字机内码的特点考虑~ Sample Input2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you原创 2017-12-15 16:39:21 · 249 阅读 · 0 评论 -
HDU 2013 蟠桃记
Problem Description喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题?他研究的问题是蟠桃一共有多少个! 不过,到最后,他还是没能解决这个难题,呵呵^-^ 当时的情况是这样的: 第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准原创 2017-09-04 22:24:10 · 316 阅读 · 0 评论