WayneShao 的博客

记录精彩的程序人生
刷题 0 篇文章

【51NOD 刷题】1182 完美字符串

**1182 完美字符串**题目来源:FacebookHackerCup 选拔基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个 1-26 之间的整数。约翰不在乎字母大小写。(也就是说字母 F 和 f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以

【51NOD 刷题】1283 最小周长

1283 最小周长题目来源:Codility 基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题一个矩形的面积为 S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值。例如:S=24,那么有{124}{212}{38}{46}这 4 种矩形,其中{46}的周长最小,为 20。输入输出 Input 输入 1 个数 S(1<=S<=10^9)。Output 输出最小周长。Input 示例 24Out

【算法复习】贪心算法之最小生成树 Prim 算法

最小生成树的 Prim 算法也是贪心算法的一大经典应用。Prim 算法的特点是时刻维护一棵树,算法不断加边,加的过程始终是一棵树。简述 Prim 算法过程:一条边一条边地加,维护一棵树。初始 E={}空集合,V={任意节点}循环(n–1)次,每次选择一条边(v1,v2),满足:v1 属于 V,v2 不属于 V。且(v1,v2)权值最小。E=E+(v1,v2)V=V+v2 最终 E 中的边是一棵最小生成树,V 包含了全部节点。执

【51NOD 刷题】1284 2 3 5 7 的倍数

**12842357 的倍数**基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题给出一个数 N,求 1 至 N 中,有多少个数不是 2357 的倍数。例如 N=10,只有 1 不是 2357 的倍数。输入输出 Input 输入 1 个数 N(1<=N<=10^18)。Output 输出不是 2357 的倍数的数共有多少。Input 示例 10Output 示例 1 题目分析求取 1 到数字 N 之间共有多少个数不是 2357 的倍数,只需要求

【51NOD 刷题】1289 大鱼吃小鱼

**1289 大鱼吃小鱼**题目来源:Codility 基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题有 N 条鱼每条鱼的位置及大小均不同,他们沿着 X 轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0 表示向左,1 表示向右)。问足够长的时间之后,能剩下多少条鱼?输入输出 Input 第 1 行:1 个数 N,表示鱼的数量(1<=N<=1

【51NOD 刷题】1305 Pairwise Sum and Divide

**1305PairwiseSumandDivide**题目来源:HackerRank 基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题有这样一段程序,fun 会对整数数组 A 进行求值,其中 Floor 表示向下取整:fun(A)sum=0fori=1toA.lengthforj=i+1toA.lengthsum=sum+Floor((A[i]+A[j])/(A[i]*A[j]))retu

【51NOD 刷题】1344 走格子

1344 走格子基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题有编号 1-n 的 n 个格子,机器人从 1 号格子顺序向后走,一直走到 n 号格子,并需要从 n 号格子走出去。机器人有一个初始能量,每个格子对应一个整数 A[i],表示这个格子的能量值。如果 A[i]>0,机器人走到这个格子能够获取 A[i]个能量,如果 A[i]<0,走到这个格子需要消耗相应的能量,如果机器人的能量 <0,就无法继续前进了。问

【51NOD 刷题】1381 硬币游戏

1381 硬币游戏基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题有一个简单但是很有趣的游戏。在这个游戏中有一个硬币还有一张桌子,这张桌子上有很多平行线(如下图所示)。两条相邻平行线之间的距离是 1,硬币的半径是 R,然后我们来抛硬币到桌子上,抛下之后硬币有时候会和一些直线相交(相切的情况也算是相交),有时候不会。请你来计算一下抛一次硬币之后,该硬币和直线相交数目的期望。输入输出 Inp

【51NOD 刷题】1347 旋转字符串

1347 旋转字符串基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题 S[0...n-1]是一个长度为 n 的字符串,定义旋转函数 Left(S)=S[1…n-1]+S[0].比如 S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。现在问题是给定一个字符串,判断他是否可以由一个对串旋转

【51NOD 刷题】2020 排序相减

2020 排序相减题目来源:syu 练习题基准时间限制:1 秒空间限制:131072KB 分值:5 难度:1 级算法题“排序相减”操作是指对于任意一个四位数 n,将四个数字分别进行顺序排序和逆序排序,得到两个数取相减后结果的绝对值 n1,然后继续将 n1 中的四个数字进行顺序排序和逆序排序,得到两个数取相减后结果的绝对值 n2,以此类推,最后总会得到一个数字黑洞,无法跳出。例如:样例 2 中 4176=6532-2356 输入输