去年校招时的一道面试题,觉得蛮有意思,贴出来。

Question:

Spy start at a, during an interval he moves |b| to right when b >=0; moves |b| to left when b <0; I can ask the spy if he is in position x, if he is then I win.

Answer:

Here is how I analyze this problem:

1) First assume a = 0; then b could be 0, 1, 2….

i. |b| = 0 , I can guess 0 at first interval just caught the spy;

ii. |b| = 1 , then b could be 1 or -1, so I can guess 1 at first interval ; if not caught the spy, guess -2 at second interval and I will catch the spy;

iii. |b| = 2 , then b could be 2 or -2, so I can guess 2 at first interval ; if not caught the spy, guess -4 at second interval and I will catch the spy;

iv. ……

To sum it up ,I will take this list to catch the spy with n intervals,n start at 1:

0*1, 1*2, (-1)*3, (2)*4, (-2)*5, 3*6, (-3)*7, 4*8, (-4)*9 …… ((n/2)(-1)^n)*n;

2) But |a| can have many values not only zero ,when a=0,this is one-dimensional problem. We can regard (a, b) as a point in a Plane coordinate system .

  

This make the (a,b) in many squares, and we find the spy’s location from the most inside square to outside, and in every square we start at the point(|a|,0) as the red point showed in the picture. The same to the first problem is the time interval increases in Linear growth. And we can use the point’s value to calculate the location referenced to the point ,and can get the spy.

For example
1) (0,0): 0 + 0*1(this is the number of intervals);

2) (1,0): 1+ 0*2; (1,1): 1+ 1*3; (0,1): 0+ 1*4; (-1,1): -1+ 1*5……

3) As the picture shows;

An interview question from MicroStrategy的更多相关文章

  1. an interview question(1)

    声明:本文为博主原创文章,未经博主允许不得转载. 以下是英文翻译: warnning: Copyright!you can't reprint this blog when you not get b ...

  2. Core Java Interview Question Answer

    This is a new series of sharing core Java interview question and answer on Finance domain and mostly ...

  3. shit LeetCode interview Question

    shit LeetCode interview Question https://leetcode.com/interview/1/ 有点晕,啥意思,没太明白,到底是要按什么排序呀? 去掉 标识符 不 ...

  4. JavaScript interview Question - Create a Array with two papameters without using loop!

    JavaScript interview Question - Create a Array with two papameters without using loop! JavaScript - ...

  5. an interview question(4)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 写这篇博客前请让博主先吐糟下自己的PC. i3+2G内存+开了一上午=C盘剩下0字节+打开VS2012花了半个小时+一晚上的心情不好 吐槽完PC, ...

  6. an interview question(3)

    最近看了些C面试题顺便复习一下C语言,现贴一些出来和大家分享. #include <stdio.h> void main () { ,,,,};--------- *(ptr++)+=; ...

  7. an interview question(2)

    感觉现在好多面试题还是很注重基础的,今天面试时就遇到这题,回来一查后才知道此题是国内某著名通信公司的一道机试题:) 给定一个数组input[ ],如果数组长度n为奇数,则将数组中最大的元素放到 out ...

  8. Interview Question

    HDS(11.16.2015): How to design an non-stop website like Google or Amazon? What design patterns are y ...

  9. Amazon Interview Question: Design an OO parking lot

    Design an OO parking lot. What classes and functions will it have. It should say, full, empty and al ...

随机推荐

  1. Js 实战3(实现全选)

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs ...

  2. 重新学习之spring第四个程序,整合struts2+hibernate+spring

    第一步:导入三大框架的jar包(struts2.3.16.1+hibernate3.2+spring3.2.4) 第二步:编写web.xml 和struts.xml和applicationContex ...

  3. Python协程 Gevent Eventlet Greenlet

    https://zh.wikipedia.org/zh-cn/%E5%8D%8F%E7%A8%8B 协程可以理解为线程中的微线程,通过手动挂起函数的执行状态,在合适的时机再次激活继续运行,而不需要上下 ...

  4. apache伪静态设置

    在网站根目录下新建一个.htaccess文件即可,编辑如下 RewriteEngine On #游戏列表详细介绍 RewriteRule ^g-([0-9]+).html$ game.php?acti ...

  5. linux shell 模拟post请求

    Linux 下curl模拟Http 的get or post请求.   一.get请求 curl "http://www.baidu.com"  如果这里的URL指向的是一个文件或 ...

  6. IE8 focus 失效解决方案

    这几天遇到两个在IE8下focus失效的非常奇怪的问题,当然这个是指JS函数: document.getElementById("id").focus(); 或者 $(" ...

  7. 【nodeJS】webstorm中设置nodej智能提示

  8. 关于 android百度地图 调用 地理位置 经纬度坐标,只调用一次的解决方法,通知栏不总是 搜索 GPS 。。。

    上代码吧... //读取当前坐标 final LocationClient mLocationClient = new LocationClient(mActivity); mLocationClie ...

  9. 用Linq对String类型的数字求和

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. bzoj 3615: MSS

    Description 小C正在出一道题...因为语文水平有限他想不出复杂的背景,所以以下就是题意了. 平面上有N个点,开始时每个点属于一个不同的集合.不妨设点Pi属于集合Si.请维护数据结构支持以下 ...