海贼007

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年7月28日

摘要: 【题意】按照指定规则给mp3歌曲排序,输出前50个歌曲名。【算法】:1.建立歌名字符串(不包含“.mp3”)数组2.排序3.取出前50个,加上后缀名.mp3【Java代码】来自菜鸟 1 import java.util.*; 2 import java.util.regex.*; 3 import java.text.*; 4 import java.math.*; 5 6 7 public class FoxAndMp3Easy 8 { 9 public String[] playList(int n)10 {11 TreeSet set = new Tr... 阅读全文
posted @ 2013-07-28 23:34 wzhscript 阅读(241) 评论(0) 推荐(0) 编辑

摘要: 【题意】将字符串A变成字符串B,两种操作:Next,将字符置换成下一个字符('a'>'b','b'>'c'...'y'>'z');Prev,将字符置换成前一个字符('z'>'y','y'>'x'...'b'>'a')。Next和Prev操作的代价不同,求出最小代价,如果不行则返回-1。【算法】:1.判断能否由A得到B。如果不能,return -1; 如何判断:可以建立一 阅读全文
posted @ 2013-07-28 23:06 wzhscript 阅读(251) 评论(0) 推荐(0) 编辑

摘要: 【题意】三人一组的竞赛,每组的战力由最强两人决定,求出第一组的战力排名的最差情况。也就是要找出尽量多的战力比第一组强的队伍。【算法】贪心算法1.把剩下的数排序。2.从最大的数开始。 1)第一组队伍的战斗力是A,count=0; 2)取队列中最大的数x,最小的数y,令a=A-x+1,找一个最小的z>=a,形成一组战队x,y,z,战斗力为x+z。从队列中去掉x,y,z,count++;如果找不到z,则return count+1;【Java代码】来自菜鸟 1 import java.util.*; 2 import java.util.regex.*; 3 import java.text. 阅读全文
posted @ 2013-07-28 22:03 wzhscript 阅读(276) 评论(0) 推荐(0) 编辑

摘要: 【题意】根据Y画出一条折线,分别求出query中的直线与这样折线的交点数,并返回。【算法】1.求query[i]与折线中每天线段的交点数(端点不算)a,如果与某条线段重合,return-1,否则继续2;2.求query[i]与Y中顶点的交点数b;3.return a+b;【调试bug】1.17行判断query[i]与线段(Y[j],Y[j+1])是否有交点时,注意数字比较大,不能采用一般的乘法来判断。【Java代码】来自菜鸟 1 import java.util.*; 2 import java.util.regex.*; 3 import java.text.*; 4 import java 阅读全文
posted @ 2013-07-28 15:44 wzhscript 阅读(265) 评论(0) 推荐(0) 编辑

摘要: 【题意】:给你两个数A、B,问从A得到B最少需要的步数,怎么走这样规定:可以A/10得到一个数,或者翻转A得到一个数。如果不能则输出-1;【算法】1.找出A中的B,计算步数。2.找出A中B的逆串,计算并更新最优解。3.输出最优解。【编码调试BUG】1.18行,A中可能不存在B,所以要考虑indexOf返回-1的情况。【Java代码】来自菜鸟 1 import java.util.*; 2 import java.util.regex.*; 3 import java.text.*; 4 import java.math.*; 5 6 7 public class TheNumberGame.. 阅读全文
posted @ 2013-07-28 15:08 wzhscript 阅读(216) 评论(0) 推荐(0) 编辑