1.问题描述


问题陈述你有线[] cityMap 表现城市的布局。 城市有区段。 cityMap 的元素表示的区段, 'B' 指出一个位置哪里有一个公共汽车站。  'X'指出你的位置。 其他地方将会是 '.'表示. 用一个整形变量  int walkingDistance, 表示你愿意走路去一个公共汽车站的最大的距离。 距离应该水平地被垂直地加上区段的数字计算如区段的数字。定义公交站:
BusStops
方法:
countStops
叁数:
串起[], int
回返:
int
方法签字:
int countStops(线[] cityMap, int walkingDistance)
(确定你的方法是公众的)限制
-
cityMap 将会在 1 和 50种元素之间包含, 包含。在内的
-
cityMap 的每种元素将会在 1 和 50个个性之间包含, 包含。在内的
-
cityMap 的每种元素将会包含个性的相同数字。
-
cityMap 的每种元素的每个个性将会是 'B' , 'X', 或 '.'.
-
在 cityMap 中完全地将会有一个 'X' 个性。
-
walkingDistance 将会是在 1 和 100之间, 包含。在内的
例子
0){"...B.",".....","..X.B",".....","B...."}
希望走3步就可以到达的车站
回返: 2//有2个车站能满足要求
你能在顶端到达公共汽车站 (3个单位之远), 或在权利上.(2个单位之远) 那一在较低的左边中是 4个单位之远, 哪一个太远。1){"B.B..",".....","B....",".....","....X"}
希望走8步就可以到达的车站
回返: 3//有3个车站能满足要求8 的距离能在地图上拿任何地方给我们,因此,我们能到达所有的 3个公共汽车站。2)
{" BBBBB"," BB.BB"," B.X.B"," BB.BB"," BBBBB"}
1回返:0 //有0个车站能满足要求
许多公共汽车停止, 但是不幸地我们不能够到达任何的他们。3){"B..B..",".B...B","..B...","..B.X.","B.B.B.",".B.B.B"}
3
回返:7 //有7个车站能满足要求这一份问题陈述是 TopCoder 的独有的和专有财产, 公司任何的未经认可的使用或者没有 TopCoder 的之前的书面同意的这数据的再现, 公司严格地被禁止。 (c)2003, TopCoder ,公司版权所有。

2.代码示例

public class BusStopTest {public boolean Test1() {BusStops bs=new BusStops();String[] map={"...B.",".....","..X.B",".....","B...."};int d=3;int result=2;return result==bs.countStops(map,d);}public boolean Test2() {BusStops bs=new BusStops();String[] map={"B.B..",".....","B....",".....","....X"};int d=8;int result=3;return result==bs.countStops(map,d);}public boolean Test3() {BusStops bs=new BusStops();String[] map={"BBBBB","BB.BB","B.X.B","BB.BB","BBBBB"};int d=1;int result=0;return result==bs.countStops(map,d);}public boolean Test4() {BusStops bs=new BusStops();String[] map={"B..B..",".B...B","..B...","..B.X.","B.B.B.",".B.B.B"};int d=3;int result=7;return result==bs.countStops(map,d);}public static void main(String[] args) {String[] map={"BBBBB","BB.BB","B.X.B","BB.BB","BBBBB"};System.out.println (map);BusStopTest bs=new BusStopTest();if (bs.Test1()) {System.out.println ("Test1 OK");}if (bs.Test2()) {System.out.println ("Test2 OK");}if (bs.Test3()) {System.out.println ("Test3 OK");}if (bs.Test4()) {System.out.println ("Test4 OK");}}
}

经典算法题-公交车问题相关推荐

  1. 经典算法题每日演练——第六题 协同推荐SlopeOne 算法

    原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,"商品推荐","猜你喜欢&quo ...

  2. 经典算法题每日演练——第二十二题 奇偶排序

    原文:经典算法题每日演练--第二十二题 奇偶排序 这个专题因为各种原因好久没有继续下去了,MM吧...你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个&qu ...

  3. 经典算法题每日演练——第十九题 双端队列

    经典算法题每日演练--第十九题 双端队列 原文:经典算法题每日演练--第十九题 双端队列 话说大学的时候老师说妹子比工作重要~,工作可以再换,妹子这个...所以...这两个月也就一直忙着Fall in ...

  4. 经典算法题每日演练——第十题 树状数组

    原文:经典算法题每日演练--第十题 树状数组 有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的. 一:概序 假如我现在有个 ...

  5. 经典算法题每日演练——第一题 百钱买百鸡

    经典算法题每日演练--第一题 百钱买百鸡 原文:经典算法题每日演练--第一题 百钱买百鸡 百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, ...

  6. python全排序算法题_Python的100道经典算法题(1)

    按照c语言的100道经典算法题,自己原创写的,就得是自己的练习题了 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数 ...

  7. java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!

    JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...

  8. 经典算法题每日演练——第七题 KMP算法

    原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...

  9. 每日经典算法题(十六) 九九乘法表

    每日经典算法题(十六) 九九乘法表 九九乘法表:Multiplication Table 99 题目 输出 9 * 9 口诀 程序分析 分行与列考虑,共9行9列,i 控制行,j 控制列 思路 非常经典 ...

最新文章

  1. Error:No suitable device found: no device found for connection “System eth1″
  2. python 文件读写找不到文件-python之文件读写
  3. 归并排序改良 java_Java 八种排序算法总结
  4. vscode 经过跳板机,连接到内网服务器
  5. html5通过api调数据库,使用HTML5数据库API [关闭](Using HTML5 Database API [closed])
  6. 天津大学仁爱学院c语言期末考试题,天津大学《C语言程序设计》2016年7月考试期末大作业...
  7. jmeter ForEach控制器学习
  8. 关于tar无法解压缩问题
  9. ha linux 设置虚拟ip_如何在虚拟机中设置CentOS静态IP?
  10. netty之管道处理流程
  11. 巧用G6FTPServer账号***台湾某图书服务器
  12. mysql必知必会第4版pdf百度网盘_SQL必知必会 第4版pdf
  13. 计算机组成原理白中英ppt,计算机组成原理(白中英)第二章.ppt
  14. Linux基础命令大全
  15. python攻击校园网_Python模拟校园网登录
  16. malloc函数的用法
  17. 数据库系统原理与应用教程(006)—— 编译安装 MySQL5.7(Linux 环境)
  18. Mysql基础命令语句(1)
  19. Java编写 随机对数组赋值
  20. Android利用ffmpeg压缩视频

热门文章

  1. 北京程序员平均月薪超1.2万,又拖后腿了
  2. Sicily 1750 运动会
  3. NET Framework是什么
  4. 网络经济与企业管理【五】之市场营销管理
  5. 《企业私有云建设指南》新书出版
  6. shell编程中declare命令的使用
  7. PADS 转allegro 17.2
  8. 中国裁判文书全量明细数据
  9. c++5806.传染病
  10. 金州勇士队,硅谷黑科技打造的NBA奇迹!