May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 694|回复: 0
收起左侧

Amazon 电面

[复制链接] |试试Instant~ |关注本帖
readzhuc2 发表于 2016-9-19 14:40:39 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 本科 全职@Amazon - 猎头 - 技术电面 |Other在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
回馈地里,发一个Amazon的电面题:

题目:
Write a function that takes a string of digits as an input and returns true if the number is a power of 2 or false it is not.

Example:
"1024" - true
"1025" - false

我写的代码:
主要需要问清楚,输入的字符串是可以很长的,有10000位。
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
    //unit test: 0,1,2,4,16,15   
    public bool IsPowerTwo(string str)
    {        .1point3acres缃
        if(string.IsNullOrEmpty(str))
            return false;.鐣欏璁哄潧-涓浜-涓夊垎鍦
        int n=str.Length;        .鏈枃鍘熷垱鑷1point3acres璁哄潧
        string runner="1";        . From 1point 3acres bbs
        while(runner.Length<=n)
        {-google 1point3acres
            if(runner==str).1point3acres缃
                return true;
            runner=MulpliteByTwo(runner);   
        }        
        return false;   
    }
    //(1+2....str.Length)
    //O(str.Length*(1+str.Length)/2); O(str.Length*str.Length)
    //unit test:8*2   
    public string MulpliteByTwo(string str)
    {
        StringBuilder res=new Stringbuilder();
        int n=str.Length;
        int carryOn=0;
        for(int i=n-1;i>=0;i--)
        {. more info on 1point3acres.com
            int cur=int.Parse(str);
            int curRes= cur*2+carryOn;
            if(curRes>9)            
            {   
                res.Insert(0,curRes-10);  
                carryOn=1;
            }
            else
            {
                res.Append(curRes);. from: 1point3acres.com/bbs
                carryOn=0;
            }            
        }
        if(carryOn==1)
            res.InSert(0,"1");         
        return res.ToString();
    }    . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-5-25 18:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表