29. Divide Two Integers
来源:互联网 发布:域名价格排行榜 编辑:程序博客网 时间:2024/05/21 13:22
//这道题让我想起来辗转相除法和更相减损术哈哈//回归整体,不让用乘除法,那就只能位运算了,这道题思路很简单,关键在于//特殊例子dividend=-2147483648的时候如何处理。class Solution {public: unsigned int dividea(unsigned int dividend,unsigned int divisor) { if(dividend<divisor) return 0; int temp=divisor; int i=1; while(dividend-temp>temp) { temp=temp<<1; i*=2; } return i+dividea(dividend-temp,divisor); } int divide(int dividend, int divisor) { if(divisor==0) return 2147483647; if(divisor==dividend) return 1; if(divisor==-2147483648) return 0; if(dividend==0) return 0; bool flag=false; if((dividend>0&&divisor>0)||(dividend<0&&divisor<0)) flag=true; if(dividend<0) dividend=0-dividend; if(divisor<0) divisor=0-divisor; unsigned int value=dividea((unsigned int)dividend,divisor); if(value==2147483648&&flag) return 2147483647l; if(!flag) value=-value; return value; }};
0 0
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- 29. Divide Two Integers
- C# 第一个窗体的数据传递到第二个窗体上应用
- android布局属性大全
- Linux下的shell
- 假定已经获取题库中的试题号抽取n题组成考题字符串
- Viewpager动态添加删除Fragment
- 29. Divide Two Integers
- HDU 4452 Running Rabbits [模拟]
- jquery动态创建json
- 前台html和后台cs代码分离情况下的,控件对应声明
- HTML5 - Voide标签
- ListView 去除黄色背景
- 深入理解Java虚拟机笔记---内存分配与回收策略
- 《有效写作十三篇》读书笔记
- 裁剪圆形图片的自定义控件