一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 485|回复: 0
收起左侧

Amazon 电面

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

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). 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    {        
        if(string.IsNullOrEmpty(str))
            return false;
        int n=str.Length;        
        string runner="1";        . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        while(runner.Length<=n). from: 1point3acres.com/bbs
        {
            if(runner==str)
                return true;.鐣欏璁哄潧-涓浜-涓夊垎鍦
            runner=MulpliteByTwo(runner);   
        }        
        return false;   
    }
    //(1+2....str.Length)
    //O(str.Length*(1+str.Length)/2); O(str.Length*str.Length). visit 1point3acres.com for more.
    //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--)
        {
            int cur=int.Parse(str);. 1point3acres.com/bbs
            int curRes= cur*2+carryOn;
            if(curRes>9)            
            {   
                res.Insert(0,curRes-10);  
                carryOn=1;
            }
            else
            {
                res.Append(curRes);
                carryOn=0;
            }            
        }
        if(carryOn==1)
            res.InSert(0,"1");         
        return res.ToString();
    }   

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

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

custom counter

GMT+8, 2016-12-11 19:59

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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