hackerrank专题

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 le

HackerRank Piling Up!

###题意:多组输入一个n个数字,灭个数字代表正方体的边长,要求每次从这给定的n个正方体中的最左边或者最右边拿一个正方体放置将他们摞起来,要保证下面的正方体时钟比上面的大。 ###思路:题目告诉要每次从最左或者最右拿,那么我们用两个指针分别指向列表头和列表尾部,每次从头和尾两个中选取一个大的,若选中的头则头指针+1,若选中的尾尾指针-1,当然每次应该将选出来的与当前已经摞好的最小值比较若大于最小

HackerRank Compress the String!

###题意:给你一个由数字组成的串,输出每段连续出现的字符,及其出现次数,最少出现次数可以是1次 ###思路:记录第一次出现下标,每次将当前的和之前一个字符比较看是否一样,一样+1,不一样初始化为1.(这里还是沿用c++的思路,所以代码比较长),见代码: if __name__ in '__main__':str = input()#由于有重复的键不能申请dict,目前能想到的只有list#l

hackerrank Project Euler #210: Obtuse Angled Triangles

传送门 做出一个好几个星期屯下来的题目的感觉就是一个字: 爽! 上图的黄点部分就是我们需要求的点 两边的部分很好算 求圆的地方有一个优化,由于圆心是整数点,我们可以把圆分为下面几个部分,阴影部分最难算,最后乘就好了 代码如下所示 #include <bits/stdc++.h>using namespace std;const int MAXN = 2005;const int INF