We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 617de1f + 557d39d commit 66d13a3Copy full SHA for 66d13a3
udemyproblems/src/main/java/Divide2Integers.java
@@ -0,0 +1,39 @@
1
+class Divide2Integers {
2
+ public int divide(int dividend, int divisor) {
3
+
4
+ if( divisor == -1 ){
5
6
+ if( dividend == Integer.MIN_VALUE )
7
8
+ return Integer.MAX_VALUE;
9
10
+ }
11
12
13
+ long a = Math.abs((long)divisor);
14
15
+ long b = Math.abs((long)dividend);
16
17
+ int result = 0;
18
19
+ boolean sign = ( divisor<0 ^ dividend < 0);
20
21
22
23
+ while( a <= b ){
24
25
+ int shift = 0;
26
27
+ while((a<<shift)<=b)
28
29
+ shift++;
30
31
+ result += (1<<(shift-1));
32
33
+ b -= (a<<(shift-1));
34
35
36
37
+ return sign ? -result : result ;
38
39
+}
0 commit comments