当前位置: 首页 > Java > 正文

2013渣打银行编程马拉松赛试题解答

关键字:
1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

7月份的时候鬼使神差的报了渣打银行的编程马拉松赛,当我已经把这事忘了的时候,8月份竟然收到比赛邀请和试了。
试题是公布在GitHub上的,官方要求答案也要提交到GitHub或者用邮件提交源代码。
答题期限为三天,正好是周末休息日。苦逼的码农们有机会丰富下自己苦逼的业余生活了。
不得不鄙视下我自己,我没有GitHub账号。貌似现在出来混的没有GitHub都不好意思提自己是码农。

大概看了下试题,让实现一个单位转换的功能,其中包括四则运算。
感兴趣的同学可以去GitHub上看原题:https://github.com/aqingsao/length
貌似问题不是太难,至少四则运算实现的代码网上能抓到一大把。于是就开始写了。

历史证明:只要你开始轻敌了,那你已经失败一半了。
在代码即将完工的时候发现一个坑爹的问题,这个最开始被我忽略了。
例如这个表达式:3.02 miles * 3 feet + 17.5 yards – 0 fath + 1 foot
里面的单位竟然分单数和复数,也就是说哥还要搞一个英语单数和复数识别的东西。
先不要说用程序实现,连英语的单复数变化规则我都没搞明白,更不要说中间还有不规则变化了。

foot和feet这个怎么破?
于是哥很没节操的用了一个Map字典存储所有复数单位
下面代码是实现过程,大周末的公司不开空调,35度的天气坐着都流汗,如果代码太乱恶心到哪位看官了还请谅解
code
code-2
psb-3
code-3

本文固定链接: http://www.chepoo.com/2013-standard-chartered-marathon-programmed-to-answer-questions.html | IT技术精华网

2013渣打银行编程马拉松赛试题解答:等您坐沙发呢!

发表评论