Advertisement
nikunjsoni

29

May 18th, 2021
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int divide(int dividend, int divisor) {
  4.         if (dividend == INT_MIN && divisor == -1) {
  5.             return INT_MAX;
  6.         }
  7.         long dvd = labs(dividend), dvs = labs(divisor), ans = 0;
  8.         int sign = dividend > 0 ^ divisor > 0 ? -1 : 1;
  9.         while (dvd >= dvs) {
  10.             long temp = dvs, m = 1;
  11.             while (temp << 1 <= dvd) {
  12.                 temp <<= 1;
  13.                 m <<= 1;
  14.             }
  15.             dvd -= temp;
  16.             ans += m;
  17.         }
  18.         return sign * ans;
  19.     }
  20. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement