万圣节的糖果(Halloween Sweets)

今天遇到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.试了一下幼圆字体,着急啊。

时间: 2024-08-04 14:30:48

万圣节的糖果(Halloween Sweets)的相关文章

万圣节问题(Halloween Protection)

万圣节效应指的是结果集中数据移动位置并因此被改变多次.这个效应不同于双读,因为它是有数据修改驱动的,而不是读取查询.要执行一个更行,数据必须先被读取.执行这个要使用两个游标,一个用于读取,另一个用于写入.如果数据在所有的数据读入之前被写入游标更行,那么就有可能出现某行移动位置,并再次被读取,从而再次被更新.理论上,这会永远持续下去.使用索引读取数据,该索引的键值(key)会被查询更新,这是万圣节效应的一个例子.万圣节效应显然非常让人不悦,幸好SQL Server的存储引擎使其免受该效应.要确保可

10. Halloween 万圣节

(1) On October the 31st,across Britain and the USA,thousands of children are dressing up as monsters,ghosts and witches and going to their neighbours' houses to ask for sweets or to play tricks on them if they refuse. (2) Many houses have lanterns ma

POJ 3370 Halloween treats(抽屉原理)

题意  有c个小孩 n个大人万圣节搞活动  当小孩进入第i个大人家里时   这个大人就会给小孩a[i]个糖果  求小孩去哪几个大人家可以保证得到的糖果总数是小孩数c的整数倍  多种方案满足输出任意一种 用s[i]表示前i个打人给糖果数的总和  令s[0]=0  那么s[i]共有n+1种不同值  而s[i]%c最多有c种不同值  题目说了c<=n   所以s[i]%c肯定会有重复值了 这就是抽屉原理了   n个抽屉放大于n个苹果   至少有一个抽屉有大于等于2个苹果 就把s[i]%c的取值个数(c

POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798   Special Judge Description Every year there is the same problem at Halloween: Each neighbour is only willing to give a certain total number of sweets

[POJ3370]&amp;[HDU1808]Halloween treats 题解(鸽巢原理)

[POJ3370]&[HDU1808]Halloween treats Description -Every year there is the same problem at Halloween: Each neighbour is only willing to give a certain total number of sweets on that day, no matter how many children call on him, so it may happen that a

[USACO08DEC]在农场万圣节Trick or Treat on the Farm

题目描述 Every year in Wisconsin the cows celebrate the USA autumn holiday of Halloween by dressing up in costumes and collecting candy that Farmer John leaves in the N (1 <= N <= 100,000) stalls conveniently numbered 1..N. Because the barn is not so la

洛谷 P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm

P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 题目描述 Every year in Wisconsin the cows celebrate the USA autumn holiday of Halloween by dressing up in costumes and collecting candy that Farmer John leaves in the N (1 <= N <= 100,000) stalls conven

糖果分发 - 抽屉原理

推荐博客: https://blog.csdn.net/dingchenxixi/article/details/52459001 抽屉原理的一种更一般的表述为:"把多于kn个东西任意分放进n个空抽屉(k是正整数),那么一定有一个抽屉中放进了至少k+1个东西. 利用上述原理容易证明:"任意7个整数中,至少有3个数的两两之差是3的倍数."因为任一整数除以3时余数只有0.1.2三种可能,所以7个整数中至少有3个数除以3所得余数相同,即它们两两之差是3的倍数. Every year

启橙英语万圣节主题活动

万圣节(Halloween),每年的11月1日,是一年一度的"鬼节"和狂欢节.trick or treat!万圣将至,小鬼来袭,南瓜怪驾着马车女巫×××送来请柬启橙[少儿英语]万圣节主题活动课惊喜来袭! 万圣节(Halloween),每年的11月1日,是一年一度的"鬼节"和狂欢节.trick or treat!万圣将至,小鬼来袭,南瓜怪驾着马车女巫×××送来请柬启橙万圣节主题活动课惊喜来袭! 启橙英语万圣节主题活动适合:3-6岁非启橙学员体验,家长报名可在线咨询客服