[Twitter] Divide Without / Or %

Question:

Implement Integer division without using / or %.


http://www.glassdoor.com/Interview/Implement-integer-division-without-using-or-Questions-about-running-time-Can-you-do-it-faster-QTN_250205.htm

// A binary question
// return a / b.
public int divide(int a, int b)
{
    if (b == 0)
        return Integer.MAX_VALUE;
    if (a == 0)
        return 0;
    
    boolean neg = (a < 0 && b > 0) || (a > 0 && b < 0);
    a = Math.abs(a);
    b = Math.abs(b);
    
    long low = 1L;
    long high = a;
    while (low < high)
    {
      long mid = low + ((high - low) >> 1);
      
      long r = mid * b;
      
      if (r == a)
          return neg ? -mid : mid;
      else if (r > a)
          high = mid - 1;
      else
          low = mid + 1;
    }
    
    return neg ? -low : low;
}
时间: 2025-01-04 13:31:55

[Twitter] Divide Without / Or %的相关文章

HDU 5783 Divide the Sequence(数列划分)

HDU 5783 Divide the Sequence(数列划分) Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)   Problem Description - 题目描述 Alice has a sequence A, She wants to split A into as much as possible continuous subsequences, satisfy

29. Divide Two Integers

Divide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. (1) log int divide(int dividend, int divisor) { if(dividend == 0) return 0; if(divisor == 0) return INT_MAX; double t1 = log(fabs(dividend

支撑5亿用户、1.5亿活跃用户的Twitter最新架构详解及相关实现

如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 摘要:Twitter出道之初只是个奋斗在RoR上的小站点,而如今已拥有1.5亿的活跃用户,系统日传输tweet更多达4亿条,并已完成了以服务为核心的系统架构蜕变. Twitter如今在世界范围内已拥有1.5亿的活跃用户,为了给用户生成timeline(时间轴)需支撑30万QPS,其firehose每秒同样生成22MB数据.整个系统每天传输tweet 4亿条,并且只需要5分钟就可以让一条twe

Python 提取Twitter tweets中的元素(包括text, screen names, hashtags)

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-1 @author: guaguastd @name: extract_tweet_entities.py ''' if __name__ == '__main__': import json # import search from search import search_for_tweet # import login, see http://blog

codeforces 792C. Divide by Three

题目链接:codeforces 792C. Divide by Three 今天队友翻了个大神的代码来问,我又想了遍这题,感觉很好,这代码除了有点长,思路还是清晰易懂,我就加点注释存一下...分类吧.删除一个数字模3为M的或删除两个模3为3-M的(还有一些要删零),具体看代码. #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<strin

通过rest接口获取自增id (twitter snowflake算法)

1.  算法介绍 参考 http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8%87%AA%E5%A2%9Eid%E7%AE%97%E6%B3%95%E8%AF%A6%E8%A7%A3/ Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同. Sno

Twitter被弃购,市值暴跌过半,前路堪忧?

作者:茱莉叶 Twitter被最后买家弃购,股价暴跌近100亿   上周五Salesforece CEO Marc Benioff接受英国金融时报采访,正式对外宣称放弃收购社交新闻视频网站Twitter的决定.宣布中止该收购后,Twitter股价立跌了5%,恰恰相反,Salesforce的股价当天涨了4%. 两周前,包括谷歌.苹果及迪士尼在内的几家意向买家同时宣布,放弃收购Twitter.而Salesforce一直坚持到最后.也有猜测Salesforce可能趁此机会降低收购价位.不过在后续的投资

Twitter终究在串流音乐参上一角

各社交网站一直以来无不卯足全劲希望可以保持自己的新鲜度,在直播战场的一旁,早就对串流音乐服务兴味盎然的 Twitter,最终确认已经正式对 SoundCloud 进行持股投资 -- 看来先前所考虑的收购计划暂未成功呢.官方并未透露太多实际的投资细节,不过根据 Recode 的消息来源指出,这次的投资金额高达七千万美元,而 Twitter CEO 则是认为此次投资是对创作者努力的支持,同时也反应近年来的伙伴关系以及社交支持的各方面所维持的良好关系.SoundCloud 与 Twitter 的确有着

用spring-data-redis实现类似twitter的网站(转)

1. spring-data-redis简介 封装了一下redis的客户端,使得使用起来更方便. 优点是把客户端连接放到一个连接池里,从而提高性能.还有就是可以不同的客户端之间实现切换,而不用改一行代码(Spring惯用的一个手法). 本文写作时最新版是1.3, 目前支持下面4种java客户端,可以自由切换而不用改代码. Jedis JRedis SRP Lettuce 2. twitter简介 twitter如果没用过的话,可以理解成类似于国内的新浪微博.因为微博的访问量和使用人数极大,用传统