万圣节的糖果(Halloween Sweets)
2024-10-19 02:22:28
今天遇到codewars的一道题,这是链接,讲的是关于万圣节的一个题目,简单点说,就是9个包裹,一个天平,两次称的机会,怎么找出9个包裹中唯一一个较重的包裹。
像我这种年轻时候喜欢研究难题获得存在感的蠢材,觉得很开心,因为这是我为数不多还记得答案的小学题。包裹分成三堆,取两个堆一称,可以得到哪个是比较中的一堆,然后再在这个异常的堆里选择两个称,找到嫌疑犯X。
于是我开始码代码
function pick(bags, scale) {
switch(scale.weigh([bags[0],bags[1],bags[2]], [bags[3],bags[4],bags[5]])){
case 0:switch(scale.weigh([bags[6]],[bags[7]])){
case 0:return bags[8];
break;
case 1:return bags[7];
case -1:return bags[6];
}
break;
case 1:switch(scale.weigh([bags[3]],[bags[4]])){
case 0:return bags[5];
case 1:return bags[4];
case -1:return bags[3];
}
break;
case -1:switch(scale.weigh([bags[0]],[bags[1]])){
case 0:return bags[2];
case 1:return bags[1];
case -1:return bags[0];
}
break;
}
}
呵呵呵呵
觉得有点开心啊,写完第一个case,开始复制粘贴,轻松加愉快。为什么只给我了一点KATA!
于是去看best solution。
function pick(bags, scale) {
bags = [bags.slice(0,3), bags.slice(3,6), bags.slice(6)];
var scaleResult = scale.weigh(bags[0], bags[2]); bags = bags[scaleResult+1];
var scaleResult = scale.weigh([bags[0]], [bags[2]]); return bags[scaleResult+1];
}
唉。
何时能长大啊,自然语言和程序语言的差别啊。
P.S.试了一下幼圆字体,着急啊。
最新文章
- phpMyAdmin的配置
- 第七周——Linux内核如何装载和启动一个可执行程序
- ios UITableview 刷新某一个cell 或 section
- LoadRunner11录制APP脚本(1)
- 【转】BUFFER CACHE WAIT EVENTS
- 《Programming with Objective-C》
- 【转】学习总结--Cookie &; Session总结
- 用SSH指令批量修改文件夹 文件权限和拥有者
- Getting started with SciPy for .NET
- [PR &; ML 2] [Introduction] Example: Polynomial Curve Fitting
- [React Testing] Setting up dependencies &;&; Running tests
- 继承CWnd自绘按钮
- java中的集合链表
- ABP项目中的使用AutoMapper
- 企业架构研究总结(39)——TOGAF架构能力框架之架构委员会和架构合规性
- 逆FizzBuzz问题求最短序列
- 了解vue APi
- overall error
- python升级后带来的几个小问题
- 关于z-index的那些事儿
热门文章
- input框只能输入整数和浮点数非数字就不输入
- Java—事件和多线程机制
- Python模块学习笔记
- css3中webkit-box的用法
- 1472. Martian Army
- HDU--杭电--1026--Ignatius and the Princess I--广搜--直接暴力0MS,优先队列的一边站
- vs2012 error c4996: This function or variable may be unsafe
- iOS沙盒处理
- MicroERP开发技术分享:vsFlexGrid、scriptControl实现工资表自定义列与表间关系计算
- CodeForces 474B E(Contest #1)