经典算法题-公交车问题
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");}}
}
经典算法题-公交车问题相关推荐
- 经典算法题每日演练——第六题 协同推荐SlopeOne 算法
原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,"商品推荐","猜你喜欢&quo ...
- 经典算法题每日演练——第二十二题 奇偶排序
原文:经典算法题每日演练--第二十二题 奇偶排序 这个专题因为各种原因好久没有继续下去了,MM吧...你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个&qu ...
- 经典算法题每日演练——第十九题 双端队列
经典算法题每日演练--第十九题 双端队列 原文:经典算法题每日演练--第十九题 双端队列 话说大学的时候老师说妹子比工作重要~,工作可以再换,妹子这个...所以...这两个月也就一直忙着Fall in ...
- 经典算法题每日演练——第十题 树状数组
原文:经典算法题每日演练--第十题 树状数组 有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的. 一:概序 假如我现在有个 ...
- 经典算法题每日演练——第一题 百钱买百鸡
经典算法题每日演练--第一题 百钱买百鸡 原文:经典算法题每日演练--第一题 百钱买百鸡 百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, ...
- python全排序算法题_Python的100道经典算法题(1)
按照c语言的100道经典算法题,自己原创写的,就得是自己的练习题了 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数 ...
- java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...
- 经典算法题每日演练——第七题 KMP算法
原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...
- 每日经典算法题(十六) 九九乘法表
每日经典算法题(十六) 九九乘法表 九九乘法表:Multiplication Table 99 题目 输出 9 * 9 口诀 程序分析 分行与列考虑,共9行9列,i 控制行,j 控制列 思路 非常经典 ...
最新文章
- Error:No suitable device found: no device found for connection “System eth1″
- python 文件读写找不到文件-python之文件读写
- 归并排序改良 java_Java 八种排序算法总结
- vscode 经过跳板机,连接到内网服务器
- html5通过api调数据库,使用HTML5数据库API [关闭](Using HTML5 Database API [closed])
- 天津大学仁爱学院c语言期末考试题,天津大学《C语言程序设计》2016年7月考试期末大作业...
- jmeter ForEach控制器学习
- 关于tar无法解压缩问题
- ha linux 设置虚拟ip_如何在虚拟机中设置CentOS静态IP?
- netty之管道处理流程
- 巧用G6FTPServer账号***台湾某图书服务器
- mysql必知必会第4版pdf百度网盘_SQL必知必会 第4版pdf
- 计算机组成原理白中英ppt,计算机组成原理(白中英)第二章.ppt
- Linux基础命令大全
- python攻击校园网_Python模拟校园网登录
- malloc函数的用法
- 数据库系统原理与应用教程(006)—— 编译安装 MySQL5.7(Linux 环境)
- Mysql基础命令语句(1)
- Java编写 随机对数组赋值
- Android利用ffmpeg压缩视频