Hackerrank
small__snail__5
如果有一天您来到了这里请留下您的痕迹,欢迎各种评论,一同进步。
我愿意做一只小蜗牛,不艳羡别人的速度,而独享自己的慢慢旅程,总有一天,我也可以骄傲的告诉所有人,我虽然慢,但是我不曾放弃,人生总要坚持点什么。
展开
-
Hackerank List Comprehensions
//题意:给定一个x,y,z,n分别表示x,y,z三维坐标,要求按照字典序输出[x,y,z]的全排列,当然x+y+z != n;输出时要注意注意格式//思路:直接暴力即可,见代码(只是刚开始学python兴奋就发出来了):if __name__ == '__main__': x = int(input()) y = int(input()) z = int(input())...原创 2018-06-04 11:31:26 · 374 阅读 · 0 评论 -
HackerRank Time Delta(python)
//题意:多组输入,发表一个东西,给你两个区时,计算差,可能为负,abs//思路:c++是相当的麻烦,若果考虑全的话几百行代码,用python的库函数from datetime import datetime as ffmt = '%a %d %b %Y %H:%M:%S %z'#格式化for i in range(int(input())): print(int(abs((f.str...原创 2018-06-20 10:19:35 · 209 阅读 · 0 评论 -
HackerRank Triangle Quest 2
###给你一个正整数n,例如n=5,则输出:1121123211234321123454321###思路:这就是1,11,111,1111...的平方,题目不让用字符串做,或者代码不能超过一行见代码:for i in range(1,int(input())+1): #More than 2 lines will result in 0 score. Do not leave a blan...原创 2018-06-22 10:29:34 · 267 阅读 · 0 评论 -
HackerRank Piling Up!
###题意:多组输入一个n个数字,灭个数字代表正方体的边长,要求每次从这给定的n个正方体中的最左边或者最右边拿一个正方体放置将他们摞起来,要保证下面的正方体时钟比上面的大。###思路:题目告诉要每次从最左或者最右拿,那么我们用两个指针分别指向列表头和列表尾部,每次从头和尾两个中选取一个大的,若选中的头则头指针+1,若选中的尾尾指针-1,当然每次应该将选出来的与当前已经摞好的最小值比较若大于最小值结...原创 2018-06-22 09:35:50 · 363 阅读 · 0 评论 -
HackerRank Company Logo
###题意:任意给定一个字符串,求输出出现次数最多的三个字符,并输出次数,当次数相同时按照字典序输出###思路:通过可以排序的映射collections.OrderedDict(),对映射进行排序,排序用到了sorted函数,对相等用字典序是使用到了lambda表达式,先按照值排序,若相等则按照字符字典序。见代码:import collectionsif __name__ in "__main_...原创 2018-06-21 22:01:05 · 143 阅读 · 0 评论 -
HackerRank Compress the String!
###题意:给你一个由数字组成的串,输出每段连续出现的字符,及其出现次数,最少出现次数可以是1次###思路:记录第一次出现下标,每次将当前的和之前一个字符比较看是否一样,一样+1,不一样初始化为1.(这里还是沿用c++的思路,所以代码比较长),见代码:if __name__ in '__main__': str = input() #由于有重复的键不能申请dict,目前能想到的只有...原创 2018-06-21 11:22:22 · 182 阅读 · 0 评论 -
HackerRank Word Order
//题意:多组输入多个字符串,判断不重复的字符串的个数,并按照所给顺序输出字符串出现的次数//思路:用一个dict统计每个出现的次数,并输出即可,但是要注意按照原输入顺序,此时用到OrderedDict,它里面的元素是按照自己插入的顺序,dict按照hash是乱序的,见代码:import collectionsif __name__ in '__main__': n = int(inpu...原创 2018-06-20 22:42:34 · 188 阅读 · 0 评论 -
HackerRank Lists
//题意:题目自定一种对list操作的简单方法,每次告诉你一个操作,以及一些操作规则,按照操作规则完成即可//思路:按照最简单思路,将所有操作枚举出来,当然还有一种用eval的方法这种很简便,见代码(还是按照c++思路写的,没有switch,就只能用if了):# python3if __name__ == '__main__': N = int(input()) lst = []...原创 2018-06-05 21:47:11 · 628 阅读 · 0 评论 -
HackerRank Finding the percentage
//题意:给你n组数据,每一组由人名,数学,科学,化学成绩构成,任意输入一个名字,让你输出该人的平均成绩//思路:按照dict保存后,求和求平均即可,见代码:if __name__ == '__main__': n = int(input()) student_marks = {} for _ in range(n): line = input().spli...原创 2018-06-05 19:34:10 · 228 阅读 · 0 评论 -
HackerRank Nested Lists
//题意:给你n组数据,每组数据是一个人名对应一个分数,要求输出第二小分数的所有人名,人名不唯一//思路:很简单选出第二小的分数,根据字典的键值对items迭代,输出,但是输出记得排序,人名按照字典序输出,见代码://下面这一份是沿用c++思想和写代码的方式写的,因为刚刚学python,基本习题习惯都是沿用学acm的方式():if __name__ in '__main__': dict ...原创 2018-06-05 11:32:53 · 394 阅读 · 0 评论 -
HackerRank No Idea!
//题意:给你n个数为一个列表lst,在给一个a列表,给一个b列表,若lst中的数字出现在a则+1分,出现在b则-1分,求总分//思路:遍历if __name__ == '__main__': n, m = input().split() lst = input().split() a = set(input().split()) b = set(input().s...原创 2018-06-20 11:20:37 · 215 阅读 · 0 评论