leetcodeSolution to some Leetcode problems written in C++ | 
          
| git clone git://git.dimitrijedobrota.com/leetcode.git | 
| Log | Files | Refs | README | LICENSE | 
| commit | bd226acde6fe111626dd2dcede6643b41314ae06 | 
| parent | 8fb057d53b1d104444a79dbcf58e0d4e1ce5d839 | 
| author | Dimitrije Dobrota < mail@dimitrijedobrota.com > | 
| date | Sat, 1 Apr 2023 11:32:36 +0200 | 
Random Problem
| A | Problems/0029.cpp | | | +++++++++++++++++++++++++++++++++++ | 
| M | README.md | | | + | 
2 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/ Problems/0029.cpp b/ Problems/0029.cpp
@@ -0,0 +1,35 @@
class Solution {
          public:
            int divide(int dividend, int divisor) {
              if (divisor == INT_MIN) return dividend == INT_MIN;
              if (divisor == INT_MAX) {
                if (dividend == INT_MIN) return -1;
                if (dividend == INT_MAX) return 1;
                return 0;
              }
              if (divisor == 1) return dividend;
              if (divisor == -1) {
                if (dividend == INT_MIN) return INT_MAX;
                return -dividend;
              }
              int res = 0, sign = 1;
              if (divisor < 0) divisor = -divisor, sign = -sign;
              if (dividend < 0) {
                if (dividend == INT_MIN) dividend += divisor, res++;
                dividend = -dividend, sign = -sign;
              }
              while (dividend >= divisor) {
                long temp = divisor, count = 1;
                while (temp << 1 <= dividend) {
                  temp <<= 1;
                  count <<= 1;
                }
                dividend -= temp;
                res += count;
              }
              return sign * res;
            }
          };
        
        diff --git a/ README.md b/ README.md
          @@ -50,6 +50,7 @@ 
          for solving problems.
        
        
          |  0026  |    Easy    | [Remove Duplicates from Sorted Array](Problems/0026.cpp)                                         |
          |  0027  |    Easy    | [Remove Element](Problems/0027.cpp)                                                              |
          |  0028  |   Medium   | [Find the Index of the First Occurrence in a String](Problems/0028.cpp)                          |
          |  0029  |   Medium   | [Divide Two Integers](Problems/0029.cpp)                                                         |
          |  0033  |   Medium   | [Search in Rotated Sorted Array](Problems/0033.cpp)                                              |
          |  0034  |   Medium   | [Find First and Last Position of Element in Sorted Array](Problems/0034.cpp)                     |
          |  0035  |    Easy    | [Search Insert Position](Problems/0035.cpp)                                                      |