From 6495e14da0a6bb7b48bfcd90eaf4b290807f971d Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Thu, 10 Dec 2015 07:29:24 -0200 Subject: [PATCH 001/256] gitignore java *.class files for those without IDE --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1f1c65c40..25a4d2a65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea algorithms-java/out +*.class From cc7fc84f38679f8808f92a3ac77f2e0117fffb24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciro=20Santilli=20=E5=85=AD=E5=9B=9B=E4=BA=8B=E4=BB=B6=20?= =?UTF-8?q?=E6=B3=95=E8=BD=AE=E5=8A=9F?= Date: Thu, 10 Dec 2015 07:29:24 -0200 Subject: [PATCH 002/256] gitignore java *.class files for those without IDE --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1f1c65c40..25a4d2a65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea algorithms-java/out +*.class From 728ad252ab04b5ee0d6817d7ef6c9c724f9f71b5 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Thu, 10 Dec 2015 07:21:27 -0200 Subject: [PATCH 003/256] java LRUCache with LinkedHashMap --- algorithms/java/src/lruCache/LRUCache.java | 45 +++++++++++++++++ .../java/src/lruCache/LRUCacheTest.java | 49 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 algorithms/java/src/lruCache/LRUCache.java create mode 100644 algorithms/java/src/lruCache/LRUCacheTest.java diff --git a/algorithms/java/src/lruCache/LRUCache.java b/algorithms/java/src/lruCache/LRUCache.java new file mode 100644 index 000000000..5ea5c2950 --- /dev/null +++ b/algorithms/java/src/lruCache/LRUCache.java @@ -0,0 +1,45 @@ +/* +Analogous to the C++ solution at: +https://github.com/haoel/leetcode/blob/625ad10464701fc4177b9ef33c8ad052d0a7d984/algorithms/cpp/LRUCache/LRUCache.cpp +which uses linked list + hash map. But the Java stdlib provides LinkedHashMap +which already implements that for us, making this solution shorter. + +This could also be done by using, but that generates +some inheritance boilerplate, and ends up taking the same number of lines: +https://github.com/cirosantilli/haoel-leetcode/commit/ff04930b2dc31f270854e40b560723577c7b49fd +*/ + +import java.util.LinkedHashMap; +import java.util.Iterator; + +public class LRUCache { + + private int capacity; + private LinkedHashMap map; + + public LRUCache(int capacity) { + this.capacity = capacity; + this.map = new LinkedHashMap<>(); + } + + public int get(int key) { + Integer value = this.map.get(key); + if (value == null) { + value = -1; + } else { + this.set(key, value); + } + return value; + } + + public void set(int key, int value) { + if (this.map.containsKey(key)) { + this.map.remove(key); + } else if (this.map.size() == this.capacity) { + Iterator it = this.map.keySet().iterator(); + it.next(); + it.remove(); + } + map.put(key, value); + } +} diff --git a/algorithms/java/src/lruCache/LRUCacheTest.java b/algorithms/java/src/lruCache/LRUCacheTest.java new file mode 100644 index 000000000..b8166873e --- /dev/null +++ b/algorithms/java/src/lruCache/LRUCacheTest.java @@ -0,0 +1,49 @@ +import java.util.ArrayList; + +import org.junit.Test; +import static org.junit.Assert.*; + +public class LRUCacheTest { + + private LRUCache c; + + public LRUCacheTest() { + this.c = new LRUCache(2); + } + + @Test + public void testCacheStartsEmpty() { + assertEquals(c.get(1), -1); + } + + @Test + public void testSetBelowCapacity() { + c.set(1, 1); + assertEquals(c.get(1), 1); + assertEquals(c.get(2), -1); + c.set(2, 4); + assertEquals(c.get(1), 1); + assertEquals(c.get(2), 4); + } + + @Test + public void testCapacityReachedOldestRemoved() { + c.set(1, 1); + c.set(2, 4); + c.set(3, 9); + assertEquals(c.get(1), -1); + assertEquals(c.get(2), 4); + assertEquals(c.get(3), 9); + } + + @Test + public void testGetRenewsEntry() { + c.set(1, 1); + c.set(2, 4); + assertEquals(c.get(1), 1); + c.set(3, 9); + assertEquals(c.get(1), 1); + assertEquals(c.get(2), -1); + assertEquals(c.get(3), 9); + } +} From 2a8222328fa9d677f26059a09602a10c7b1a029d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciro=20Santilli=20=E5=85=AD=E5=9B=9B=E4=BA=8B=E4=BB=B6=20?= =?UTF-8?q?=E6=B3=95=E8=BD=AE=E5=8A=9F?= Date: Thu, 10 Dec 2015 07:21:27 -0200 Subject: [PATCH 004/256] java LRUCache with LinkedHashMap --- algorithms/java/src/lruCache/LRUCache.java | 45 +++++++++++++++++ .../java/src/lruCache/LRUCacheTest.java | 49 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 algorithms/java/src/lruCache/LRUCache.java create mode 100644 algorithms/java/src/lruCache/LRUCacheTest.java diff --git a/algorithms/java/src/lruCache/LRUCache.java b/algorithms/java/src/lruCache/LRUCache.java new file mode 100644 index 000000000..5ea5c2950 --- /dev/null +++ b/algorithms/java/src/lruCache/LRUCache.java @@ -0,0 +1,45 @@ +/* +Analogous to the C++ solution at: +https://github.com/haoel/leetcode/blob/625ad10464701fc4177b9ef33c8ad052d0a7d984/algorithms/cpp/LRUCache/LRUCache.cpp +which uses linked list + hash map. But the Java stdlib provides LinkedHashMap +which already implements that for us, making this solution shorter. + +This could also be done by using, but that generates +some inheritance boilerplate, and ends up taking the same number of lines: +https://github.com/cirosantilli/haoel-leetcode/commit/ff04930b2dc31f270854e40b560723577c7b49fd +*/ + +import java.util.LinkedHashMap; +import java.util.Iterator; + +public class LRUCache { + + private int capacity; + private LinkedHashMap map; + + public LRUCache(int capacity) { + this.capacity = capacity; + this.map = new LinkedHashMap<>(); + } + + public int get(int key) { + Integer value = this.map.get(key); + if (value == null) { + value = -1; + } else { + this.set(key, value); + } + return value; + } + + public void set(int key, int value) { + if (this.map.containsKey(key)) { + this.map.remove(key); + } else if (this.map.size() == this.capacity) { + Iterator it = this.map.keySet().iterator(); + it.next(); + it.remove(); + } + map.put(key, value); + } +} diff --git a/algorithms/java/src/lruCache/LRUCacheTest.java b/algorithms/java/src/lruCache/LRUCacheTest.java new file mode 100644 index 000000000..b8166873e --- /dev/null +++ b/algorithms/java/src/lruCache/LRUCacheTest.java @@ -0,0 +1,49 @@ +import java.util.ArrayList; + +import org.junit.Test; +import static org.junit.Assert.*; + +public class LRUCacheTest { + + private LRUCache c; + + public LRUCacheTest() { + this.c = new LRUCache(2); + } + + @Test + public void testCacheStartsEmpty() { + assertEquals(c.get(1), -1); + } + + @Test + public void testSetBelowCapacity() { + c.set(1, 1); + assertEquals(c.get(1), 1); + assertEquals(c.get(2), -1); + c.set(2, 4); + assertEquals(c.get(1), 1); + assertEquals(c.get(2), 4); + } + + @Test + public void testCapacityReachedOldestRemoved() { + c.set(1, 1); + c.set(2, 4); + c.set(3, 9); + assertEquals(c.get(1), -1); + assertEquals(c.get(2), 4); + assertEquals(c.get(3), 9); + } + + @Test + public void testGetRenewsEntry() { + c.set(1, 1); + c.set(2, 4); + assertEquals(c.get(1), 1); + c.set(3, 9); + assertEquals(c.get(1), 1); + assertEquals(c.get(2), -1); + assertEquals(c.get(3), 9); + } +} From 738bc45ec9969f4bc7ca0a11394b7cd06243090d Mon Sep 17 00:00:00 2001 From: Vally Date: Mon, 28 Dec 2015 18:36:22 +0200 Subject: [PATCH 005/256] added bulbSwitcher --- README.md | 1 + algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp | 44 ++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp diff --git a/README.md b/README.md index 3f71fe9be..fc0f24320 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| |306|[Additive Number](https://leetcode.com/problems/additive-number/) | [C++](./algorithms/cpp/additiveNumber/AdditiveNumber.cpp)|Medium| diff --git a/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp b/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp new file mode 100644 index 000000000..04b046391 --- /dev/null +++ b/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp @@ -0,0 +1,44 @@ +// Source : https://leetcode.com/problems/bulb-switcher/ +// Author : Calinescu Valentin +// Date : 2015-12-28 + +/*************************************************************************************** + * + * There are n bulbs that are initially off. You first turn on all the bulbs. Then, you + * turn off every second bulb. On the third round, you toggle every third bulb (turning + * on if it's off or turning off if it's on). For the nth round, you only toggle the + * last bulb. Find how many bulbs are on after n rounds. + * + * Example: + * + * Given n = 3. + * + * At first, the three bulbs are [off, off, off]. + * After first round, the three bulbs are [on, on, on]. + * After second round, the three bulbs are [on, off, on]. + * After third round, the three bulbs are [on, off, off]. + * + * So you should return 1, because there is only one bulb is on. + * + ***************************************************************************************/ + /* + * Solution 1 - O(1) + * ========= + * + * We notice that for every light bulb on position i there will be one toggle for every + * one of its divisors, given that you toggle all of the multiples of one number. The + * total number of toggles is irrelevant, because there are only 2 possible positions(on, + * off). We quickly find that 2 toggles cancel each other so given that the start position + * is always off a light bulb will be in if it has been toggled an odd number of times. + * The only integers with an odd number of divisors are perfect squares(because the square + * root only appears once, not like the other divisors that form pairs). The problem comes + * down to finding the number of perfect squares <= n. That number is the integer part of + * the square root of n. + * + */ +class Solution { +public: + int bulbSwitch(int n) { + return (int)sqrt(n); + } +}; From a6368c99b3a1edc99489a152a54d849d10a913fc Mon Sep 17 00:00:00 2001 From: Vally Date: Mon, 28 Dec 2015 18:36:22 +0200 Subject: [PATCH 006/256] added bulbSwitcher --- README.md | 1 + algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp | 44 ++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp diff --git a/README.md b/README.md index 3f71fe9be..fc0f24320 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| |306|[Additive Number](https://leetcode.com/problems/additive-number/) | [C++](./algorithms/cpp/additiveNumber/AdditiveNumber.cpp)|Medium| diff --git a/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp b/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp new file mode 100644 index 000000000..04b046391 --- /dev/null +++ b/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp @@ -0,0 +1,44 @@ +// Source : https://leetcode.com/problems/bulb-switcher/ +// Author : Calinescu Valentin +// Date : 2015-12-28 + +/*************************************************************************************** + * + * There are n bulbs that are initially off. You first turn on all the bulbs. Then, you + * turn off every second bulb. On the third round, you toggle every third bulb (turning + * on if it's off or turning off if it's on). For the nth round, you only toggle the + * last bulb. Find how many bulbs are on after n rounds. + * + * Example: + * + * Given n = 3. + * + * At first, the three bulbs are [off, off, off]. + * After first round, the three bulbs are [on, on, on]. + * After second round, the three bulbs are [on, off, on]. + * After third round, the three bulbs are [on, off, off]. + * + * So you should return 1, because there is only one bulb is on. + * + ***************************************************************************************/ + /* + * Solution 1 - O(1) + * ========= + * + * We notice that for every light bulb on position i there will be one toggle for every + * one of its divisors, given that you toggle all of the multiples of one number. The + * total number of toggles is irrelevant, because there are only 2 possible positions(on, + * off). We quickly find that 2 toggles cancel each other so given that the start position + * is always off a light bulb will be in if it has been toggled an odd number of times. + * The only integers with an odd number of divisors are perfect squares(because the square + * root only appears once, not like the other divisors that form pairs). The problem comes + * down to finding the number of perfect squares <= n. That number is the integer part of + * the square root of n. + * + */ +class Solution { +public: + int bulbSwitch(int n) { + return (int)sqrt(n); + } +}; From cc1f6554dedcdb0b8aab5b339d5ad2604733e70a Mon Sep 17 00:00:00 2001 From: Vally Date: Mon, 28 Dec 2015 19:44:50 +0200 Subject: [PATCH 007/256] added coinChange --- README.md | 1 + algorithms/cpp/coinChange/coinChange.cpp | 62 ++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 algorithms/cpp/coinChange/coinChange.cpp diff --git a/README.md b/README.md index fc0f24320..539f6b37d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| diff --git a/algorithms/cpp/coinChange/coinChange.cpp b/algorithms/cpp/coinChange/coinChange.cpp new file mode 100644 index 000000000..e8ddc9c51 --- /dev/null +++ b/algorithms/cpp/coinChange/coinChange.cpp @@ -0,0 +1,62 @@ +// Source : https://leetcode.com/problems/coin-change/ +// Author : Calinescu Valentin +// Date : 2015-12-28 + +/*************************************************************************************** + * + * You are given coins of different denominations and a total amount of money amount. + * Write a function to compute the fewest number of coins that you need to make up that + * amount. If that amount of money cannot be made up by any combination of the coins, + * return -1. + * + * Example 1: + * coins = [1, 2, 5], amount = 11 + * return 3 (11 = 5 + 5 + 1) + * + * Example 2: + * coins = [2], amount = 3 + * return -1. + * + * Note: + * You may assume that you have an infinite number of each kind of coin. + * + * Credits: + * Special thanks to @jianchao.li.fighter for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + /* + * Solution 1 - O(N * amount) + * ========= + * + * This problem can be solved using dynamic programming, thus building the optimal + * solution from previous smaller ones. For every coin of value t and every sum of money + * i the sum can be traced back to a previous sum i - t that was already computed and uses + * the smallest number of coins possible. This way we can construct every sum i as the + * minimum of all these previous sums for every coin value. To be sure we'll find a minimum + * we can populate the solution vector with an amount bigger than the maximum possible, + * which is amount + 1(when the sum is made up of only coins of value 1). The only exception + * is sol[0] which is 0 as we need 0 coins to have a sum of 0. In the end we need to look + * if the program found a solution in sol[amount] or it remained the same, in which case we + * can return -1. + * + */ +class Solution { +public: + + int coinChange(vector& coins, int amount) { + int sol[amount + 1]; + sol[0] = 0; + for(int i = 1; i <= amount; i++) + sol[i] = amount + 1; + for(int i = 0; i < coins.size(); i++) + { + for(int j = coins[i]; j <= amount; j++) + sol[j] = min(sol[j], sol[j - coins[i]] + 1); + } + if(sol[amount] != amount + 1) + return sol[amount]; + else + return -1; + } +}; From 7c7528fbc4b1805c47428fe7cce6fb9bfc9a7565 Mon Sep 17 00:00:00 2001 From: Vally Date: Mon, 28 Dec 2015 19:44:50 +0200 Subject: [PATCH 008/256] added coinChange --- README.md | 1 + algorithms/cpp/coinChange/coinChange.cpp | 62 ++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 algorithms/cpp/coinChange/coinChange.cpp diff --git a/README.md b/README.md index fc0f24320..539f6b37d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| diff --git a/algorithms/cpp/coinChange/coinChange.cpp b/algorithms/cpp/coinChange/coinChange.cpp new file mode 100644 index 000000000..e8ddc9c51 --- /dev/null +++ b/algorithms/cpp/coinChange/coinChange.cpp @@ -0,0 +1,62 @@ +// Source : https://leetcode.com/problems/coin-change/ +// Author : Calinescu Valentin +// Date : 2015-12-28 + +/*************************************************************************************** + * + * You are given coins of different denominations and a total amount of money amount. + * Write a function to compute the fewest number of coins that you need to make up that + * amount. If that amount of money cannot be made up by any combination of the coins, + * return -1. + * + * Example 1: + * coins = [1, 2, 5], amount = 11 + * return 3 (11 = 5 + 5 + 1) + * + * Example 2: + * coins = [2], amount = 3 + * return -1. + * + * Note: + * You may assume that you have an infinite number of each kind of coin. + * + * Credits: + * Special thanks to @jianchao.li.fighter for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + /* + * Solution 1 - O(N * amount) + * ========= + * + * This problem can be solved using dynamic programming, thus building the optimal + * solution from previous smaller ones. For every coin of value t and every sum of money + * i the sum can be traced back to a previous sum i - t that was already computed and uses + * the smallest number of coins possible. This way we can construct every sum i as the + * minimum of all these previous sums for every coin value. To be sure we'll find a minimum + * we can populate the solution vector with an amount bigger than the maximum possible, + * which is amount + 1(when the sum is made up of only coins of value 1). The only exception + * is sol[0] which is 0 as we need 0 coins to have a sum of 0. In the end we need to look + * if the program found a solution in sol[amount] or it remained the same, in which case we + * can return -1. + * + */ +class Solution { +public: + + int coinChange(vector& coins, int amount) { + int sol[amount + 1]; + sol[0] = 0; + for(int i = 1; i <= amount; i++) + sol[i] = amount + 1; + for(int i = 0; i < coins.size(); i++) + { + for(int j = coins[i]; j <= amount; j++) + sol[j] = min(sol[j], sol[j - coins[i]] + 1); + } + if(sol[amount] != amount + 1) + return sol[amount]; + else + return -1; + } +}; From 38f5b0b655c65eca4a6d1fb6bd65776e0112ad06 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 14 Jan 2016 09:31:58 +0800 Subject: [PATCH 009/256] typo --- .../findMinimumInRotatedSortedArray.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp b/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp index 2ac3e33a3..9c8cc43cb 100644 --- a/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp +++ b/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp @@ -38,7 +38,7 @@ int findMin(vector &num) { } // The array is rotated - // Spli it into two part, the minimal value must be the rotated part + // Split it into two part, the minimal value must be the rotated part // if the left part is rotated, warch the left part if (num[low] > num [mid]){ From e8d5796753a79cabf44fbd635033be0918c0aafd Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 14 Jan 2016 09:31:58 +0800 Subject: [PATCH 010/256] typo --- .../findMinimumInRotatedSortedArray.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp b/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp index 2ac3e33a3..9c8cc43cb 100644 --- a/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp +++ b/algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp @@ -38,7 +38,7 @@ int findMin(vector &num) { } // The array is rotated - // Spli it into two part, the minimal value must be the rotated part + // Split it into two part, the minimal value must be the rotated part // if the left part is rotated, warch the left part if (num[low] > num [mid]){ From be27a989a5e0f330f0936b68835c31921edc9c54 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 14 Jan 2016 09:32:20 +0800 Subject: [PATCH 011/256] New Problem "Power of Three" --- README.md | 1 + algorithms/cpp/powerOfThree/PowerOfThree.cpp | 66 ++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 algorithms/cpp/powerOfThree/PowerOfThree.cpp diff --git a/README.md b/README.md index 539f6b37d..67b0f1199 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| diff --git a/algorithms/cpp/powerOfThree/PowerOfThree.cpp b/algorithms/cpp/powerOfThree/PowerOfThree.cpp new file mode 100644 index 000000000..a75143b91 --- /dev/null +++ b/algorithms/cpp/powerOfThree/PowerOfThree.cpp @@ -0,0 +1,66 @@ +// Source : https://leetcode.com/problems/power-of-three/ +// Author : Hao Chen +// Date : 2016-01-14 + +/*************************************************************************************** + * + * Given an integer, write a function to determine if it is a power of three. + * + * Follow up: + * Could you do it without using any loop / recursion? + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + +class Solution { + +public: + + bool isPowerOfThree(int n) { + return isPowerOfThree03(n); //140ms + return isPowerOfThree02(n);//130ms + return isPowerOfThree01(n); //140ms + return isPowerOfThree_loop(n); //136ms + return isPowerOfThree_recursive(n); //168ms + } + + bool isPowerOfThree03(int n) { + double logRes = log10(n)/log10(3); + return (logRes - int(logRes) == 0); + } + bool isPowerOfThree02(int n) { + return n>0 ? (1162261467%n==0) : false; + } + + void init(unordered_map& power ){ + int p = 1; + power[1]=true; + while(1){ + p *= 3; + power[p] = true; + if (p > INT_MAX/3) break; + + } + } + bool isPowerOfThree01(int n) { + static unordered_map power; + if (power.size()==0) init(power); + return power.find(n) != power.end(); + } + + bool isPowerOfThree_loop(int n) { + for(;n>0;n /= 3){ + if (n==1 || n==3) return true; + if (n%3 != 0) return false; + } + return false; + } + + bool isPowerOfThree_recursive(int n) { + if ( n == 1 || n == 3) return true; + if ( n==0 || n%3 != 0 ) return false; + return isPowerOfThree_recursive(n/3); + } +}; From 73279a1a75af7011a864e6c2d496fe3df0162e98 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 14 Jan 2016 09:32:20 +0800 Subject: [PATCH 012/256] New Problem "Power of Three" --- README.md | 1 + algorithms/cpp/powerOfThree/PowerOfThree.cpp | 66 ++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 algorithms/cpp/powerOfThree/PowerOfThree.cpp diff --git a/README.md b/README.md index 539f6b37d..67b0f1199 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| diff --git a/algorithms/cpp/powerOfThree/PowerOfThree.cpp b/algorithms/cpp/powerOfThree/PowerOfThree.cpp new file mode 100644 index 000000000..a75143b91 --- /dev/null +++ b/algorithms/cpp/powerOfThree/PowerOfThree.cpp @@ -0,0 +1,66 @@ +// Source : https://leetcode.com/problems/power-of-three/ +// Author : Hao Chen +// Date : 2016-01-14 + +/*************************************************************************************** + * + * Given an integer, write a function to determine if it is a power of three. + * + * Follow up: + * Could you do it without using any loop / recursion? + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + +class Solution { + +public: + + bool isPowerOfThree(int n) { + return isPowerOfThree03(n); //140ms + return isPowerOfThree02(n);//130ms + return isPowerOfThree01(n); //140ms + return isPowerOfThree_loop(n); //136ms + return isPowerOfThree_recursive(n); //168ms + } + + bool isPowerOfThree03(int n) { + double logRes = log10(n)/log10(3); + return (logRes - int(logRes) == 0); + } + bool isPowerOfThree02(int n) { + return n>0 ? (1162261467%n==0) : false; + } + + void init(unordered_map& power ){ + int p = 1; + power[1]=true; + while(1){ + p *= 3; + power[p] = true; + if (p > INT_MAX/3) break; + + } + } + bool isPowerOfThree01(int n) { + static unordered_map power; + if (power.size()==0) init(power); + return power.find(n) != power.end(); + } + + bool isPowerOfThree_loop(int n) { + for(;n>0;n /= 3){ + if (n==1 || n==3) return true; + if (n%3 != 0) return false; + } + return false; + } + + bool isPowerOfThree_recursive(int n) { + if ( n == 1 || n == 3) return true; + if ( n==0 || n%3 != 0 ) return false; + return isPowerOfThree_recursive(n/3); + } +}; From 7b084c822038e474e2a595cf46af31f860a19917 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 15 Jan 2016 15:03:32 +0800 Subject: [PATCH 013/256] another solution --- .../countOfSmallerNumbersAfterSelf.cpp | 79 ++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp b/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp index cac1435c4..badec47d2 100644 --- a/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp +++ b/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/count-of-smaller-numbers-after-self/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2015-12-08 /*************************************************************************************** @@ -73,3 +73,80 @@ class Solution { return sol; } }; + + +/*************************************************************************************** + * Another solution - Binary Search Tree + ***************************************************************************************/ + + +class BinarySearchTreeNode +{ + public: + int val; + int less; // count of members less than val + int count; // count of members equal val + BinarySearchTreeNode *left, *right; + BinarySearchTreeNode(int value) : val(value), less(0),count(1),left(NULL), right(NULL) {} +}; + +class BinarySearchTree +{ + private: + BinarySearchTreeNode* root; + public: + BinarySearchTree(const int value):root(new BinarySearchTreeNode(value)){ } + ~BinarySearchTree() { + freeTree(root); + } + void insert(const int value, int &numLessThan) { + insert(root, value, numLessThan); + } + private: + void freeTree(BinarySearchTreeNode* root){ + if (root == NULL) return; + if (root->left) freeTree(root->left); + if (root->right) freeTree(root->right); + delete root; + } + + void insert(BinarySearchTreeNode* root, const int value, int &numLessThan) { + + if(value < root->val) { // left + root->less++; + if(root->left == NULL) { + root->left = new BinarySearchTreeNode(value); + }else{ + this->insert(root->left, value, numLessThan); + } + } else if(value > root->val) { // right + numLessThan += root->less + root->count; + if(!root->right) { + root->right = new BinarySearchTreeNode(value); + }else{ + this->insert(root->right, value, numLessThan); + } + } else { + numLessThan += root->less; + root->count++; + return; + } + } +}; + +class Solution { + public: + vector countSmaller(vector& nums) { + vector counts(nums.size()); + if(nums.size() == 0) return counts; + + BinarySearchTree tree(nums[nums.size()-1]); + + for(int i = nums.size() - 2; i >= 0; i--) { + int numLessThan = 0; + tree.insert( nums[i], numLessThan); + counts[i] = numLessThan; + } + return counts; + } +}; From 12450188eceacab8e98e2ab1c02027e4ae380d9b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 15 Jan 2016 15:03:32 +0800 Subject: [PATCH 014/256] another solution --- .../countOfSmallerNumbersAfterSelf.cpp | 79 ++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp b/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp index cac1435c4..badec47d2 100644 --- a/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp +++ b/algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/count-of-smaller-numbers-after-self/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2015-12-08 /*************************************************************************************** @@ -73,3 +73,80 @@ class Solution { return sol; } }; + + +/*************************************************************************************** + * Another solution - Binary Search Tree + ***************************************************************************************/ + + +class BinarySearchTreeNode +{ + public: + int val; + int less; // count of members less than val + int count; // count of members equal val + BinarySearchTreeNode *left, *right; + BinarySearchTreeNode(int value) : val(value), less(0),count(1),left(NULL), right(NULL) {} +}; + +class BinarySearchTree +{ + private: + BinarySearchTreeNode* root; + public: + BinarySearchTree(const int value):root(new BinarySearchTreeNode(value)){ } + ~BinarySearchTree() { + freeTree(root); + } + void insert(const int value, int &numLessThan) { + insert(root, value, numLessThan); + } + private: + void freeTree(BinarySearchTreeNode* root){ + if (root == NULL) return; + if (root->left) freeTree(root->left); + if (root->right) freeTree(root->right); + delete root; + } + + void insert(BinarySearchTreeNode* root, const int value, int &numLessThan) { + + if(value < root->val) { // left + root->less++; + if(root->left == NULL) { + root->left = new BinarySearchTreeNode(value); + }else{ + this->insert(root->left, value, numLessThan); + } + } else if(value > root->val) { // right + numLessThan += root->less + root->count; + if(!root->right) { + root->right = new BinarySearchTreeNode(value); + }else{ + this->insert(root->right, value, numLessThan); + } + } else { + numLessThan += root->less; + root->count++; + return; + } + } +}; + +class Solution { + public: + vector countSmaller(vector& nums) { + vector counts(nums.size()); + if(nums.size() == 0) return counts; + + BinarySearchTree tree(nums[nums.size()-1]); + + for(int i = nums.size() - 2; i >= 0; i--) { + int numLessThan = 0; + tree.insert( nums[i], numLessThan); + counts[i] = numLessThan; + } + return counts; + } +}; From b430d99d3bbd9c57b8b11b548a88b58fafb0d5c9 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 15 Jan 2016 22:42:31 +0800 Subject: [PATCH 015/256] New Problem "Count of Range Sum" --- README.md | 1 + .../cpp/countOfRangeSum/CountOfRangeSum.cpp | 163 ++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp diff --git a/README.md b/README.md index cfee4ebf2..c4c976e14 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| |326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| diff --git a/algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp b/algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp new file mode 100644 index 000000000..81b1f21bb --- /dev/null +++ b/algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp @@ -0,0 +1,163 @@ +// Source : https://leetcode.com/problems/count-of-range-sum/ +// Author : Hao Chen +// Date : 2016-01-15 + +/*************************************************************************************** + * + * Given an integer array nums, return the number of range sums that lie in [lower, + * upper] inclusive. + * + * Range sum S(i, j) is defined as the sum of the elements in nums between indices + * i and + * j (i ≤ j), inclusive. + * + * Note: + * A naive algorithm of O(n2) is trivial. You MUST do better than that. + * + * Example: + * Given nums = [-2, 5, -1], lower = -2, upper = 2, + * Return 3. + * The three ranges are : [0, 0], [2, 2], [0, 2] and their respective sums are: -2, -1, 2. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + + +/* + * At first of all, we can do preprocess to calculate the prefix sums + * + * S[i] = S(0, i), then S(i, j) = S[j] - S[i]. + * + * Note: S(i, j) as the sum of range [i, j) where j exclusive and j > i. + * + * With these prefix sums, it is trivial to see that with O(n^2) time we can find all S(i, j) + * in the range [lower, upper] + * + * int countRangeSum(vector& nums, int lower, int upper) { + * int n = nums.size(); + * long[] sums = new long[n + 1]; + * for (int i = 0; i < n; ++i) { + * sums[i + 1] = sums[i] + nums[i]; + * } + * int ans = 0; + * for (int i = 0; i < n; ++i) { + * for (int j = i + 1; j <= n; ++j) { + * if (sums[j] - sums[i] >= lower && sums[j] - sums[i] <= upper) { + * ans++; + * } + * } + * } + * delete []sums; + * return ans; + * } + * + * The above solution would get time limit error. + * + * Recall `count smaller number after self` where we encountered the problem + * + * count[i] = count of nums[j] - nums[i] < 0 with j > i + * + * Here, after we did the preprocess, we need to solve the problem + * + * count[i] = count of a <= S[j] - S[i] <= b with j > i + * + * In other words, if we maintain the prefix sums sorted, and then are able to find out + * - how many of the sums are less than 'lower', say num1, + * - how many of the sums are less than 'upper + 1', say num2, + * Then 'num2 - num1' is the number of sums that lie within the range of [lower, upper]. + * + */ + +class Node{ + public: + long long val; + int cnt; //amount of the nodes + Node *left, *right; + Node(long long v):val(v), cnt(1), left(NULL), right(NULL) {} +}; + +// a tree stores all of prefix sums +class Tree{ + public: + Tree():root(NULL){ } + ~Tree() { freeTree(root); } + + void Insert(long long val) { + Insert(root, val); + } + int LessThan(long long sum, int val) { + return LessThan(root, sum, val, 0); + } + + private: + Node* root; + + //general binary search tree insert algorithm + void Insert(Node* &root, long long val) { + if (!root) { + root = new Node(val); + return; + } + + root->cnt++; + + if (val < root->val ) { + Insert(root->left, val); + }else if (val > root->val) { + Insert(root->right, val); + } + } + //return how many of the sums less than `val` + // - `sum` is the new sums which hasn't been inserted + // - `val` is the `lower` or `upper+1` + int LessThan(Node* root, long long sum, int val, int res) { + + if (!root) return res; + + if ( sum - root->val < val) { + //if (sum[j, i] < val), which means all of the right branch must be less than `val` + //so we add the amounts of sums in right branch, and keep going the left branch. + res += (root->cnt - (root->left ? root->left->cnt : 0) ); + return LessThan(root->left, sum, val, res); + }else if ( sum - root->val > val) { + //if (sum[j, i] > val), which means all of left brach must be greater than `val` + //so we just keep going the right branch. + return LessThan(root->right, sum, val, res); + }else { + //if (sum[j,i] == val), which means we find the correct place, + //so we just return the the amounts of right branch.] + return res + (root->right ? root->right->cnt : 0); + } + } + void freeTree(Node* root){ + if (!root) return; + if (root->left) freeTree(root->left); + if (root->right) freeTree(root->right); + delete root; + } + +}; + + + +class Solution { +public: + int countRangeSum(vector& nums, int lower, int upper) { + Tree tree; + tree.Insert(0); + long long sum = 0; + int res = 0; + + for (int n : nums) { + sum += n; + int lcnt = tree.LessThan(sum, lower); + int hcnt = tree.LessThan(sum, upper + 1); + res += (hcnt - lcnt); + tree.Insert(sum); + } + + return res; + } +}; From b40ca7942d9b2d1fd711b8e5cbd2b5e8007975d3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 15 Jan 2016 22:42:31 +0800 Subject: [PATCH 016/256] New Problem "Count of Range Sum" --- README.md | 1 + .../cpp/countOfRangeSum/CountOfRangeSum.cpp | 163 ++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp diff --git a/README.md b/README.md index cfee4ebf2..c4c976e14 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| |326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| diff --git a/algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp b/algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp new file mode 100644 index 000000000..81b1f21bb --- /dev/null +++ b/algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp @@ -0,0 +1,163 @@ +// Source : https://leetcode.com/problems/count-of-range-sum/ +// Author : Hao Chen +// Date : 2016-01-15 + +/*************************************************************************************** + * + * Given an integer array nums, return the number of range sums that lie in [lower, + * upper] inclusive. + * + * Range sum S(i, j) is defined as the sum of the elements in nums between indices + * i and + * j (i ≤ j), inclusive. + * + * Note: + * A naive algorithm of O(n2) is trivial. You MUST do better than that. + * + * Example: + * Given nums = [-2, 5, -1], lower = -2, upper = 2, + * Return 3. + * The three ranges are : [0, 0], [2, 2], [0, 2] and their respective sums are: -2, -1, 2. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + + +/* + * At first of all, we can do preprocess to calculate the prefix sums + * + * S[i] = S(0, i), then S(i, j) = S[j] - S[i]. + * + * Note: S(i, j) as the sum of range [i, j) where j exclusive and j > i. + * + * With these prefix sums, it is trivial to see that with O(n^2) time we can find all S(i, j) + * in the range [lower, upper] + * + * int countRangeSum(vector& nums, int lower, int upper) { + * int n = nums.size(); + * long[] sums = new long[n + 1]; + * for (int i = 0; i < n; ++i) { + * sums[i + 1] = sums[i] + nums[i]; + * } + * int ans = 0; + * for (int i = 0; i < n; ++i) { + * for (int j = i + 1; j <= n; ++j) { + * if (sums[j] - sums[i] >= lower && sums[j] - sums[i] <= upper) { + * ans++; + * } + * } + * } + * delete []sums; + * return ans; + * } + * + * The above solution would get time limit error. + * + * Recall `count smaller number after self` where we encountered the problem + * + * count[i] = count of nums[j] - nums[i] < 0 with j > i + * + * Here, after we did the preprocess, we need to solve the problem + * + * count[i] = count of a <= S[j] - S[i] <= b with j > i + * + * In other words, if we maintain the prefix sums sorted, and then are able to find out + * - how many of the sums are less than 'lower', say num1, + * - how many of the sums are less than 'upper + 1', say num2, + * Then 'num2 - num1' is the number of sums that lie within the range of [lower, upper]. + * + */ + +class Node{ + public: + long long val; + int cnt; //amount of the nodes + Node *left, *right; + Node(long long v):val(v), cnt(1), left(NULL), right(NULL) {} +}; + +// a tree stores all of prefix sums +class Tree{ + public: + Tree():root(NULL){ } + ~Tree() { freeTree(root); } + + void Insert(long long val) { + Insert(root, val); + } + int LessThan(long long sum, int val) { + return LessThan(root, sum, val, 0); + } + + private: + Node* root; + + //general binary search tree insert algorithm + void Insert(Node* &root, long long val) { + if (!root) { + root = new Node(val); + return; + } + + root->cnt++; + + if (val < root->val ) { + Insert(root->left, val); + }else if (val > root->val) { + Insert(root->right, val); + } + } + //return how many of the sums less than `val` + // - `sum` is the new sums which hasn't been inserted + // - `val` is the `lower` or `upper+1` + int LessThan(Node* root, long long sum, int val, int res) { + + if (!root) return res; + + if ( sum - root->val < val) { + //if (sum[j, i] < val), which means all of the right branch must be less than `val` + //so we add the amounts of sums in right branch, and keep going the left branch. + res += (root->cnt - (root->left ? root->left->cnt : 0) ); + return LessThan(root->left, sum, val, res); + }else if ( sum - root->val > val) { + //if (sum[j, i] > val), which means all of left brach must be greater than `val` + //so we just keep going the right branch. + return LessThan(root->right, sum, val, res); + }else { + //if (sum[j,i] == val), which means we find the correct place, + //so we just return the the amounts of right branch.] + return res + (root->right ? root->right->cnt : 0); + } + } + void freeTree(Node* root){ + if (!root) return; + if (root->left) freeTree(root->left); + if (root->right) freeTree(root->right); + delete root; + } + +}; + + + +class Solution { +public: + int countRangeSum(vector& nums, int lower, int upper) { + Tree tree; + tree.Insert(0); + long long sum = 0; + int res = 0; + + for (int n : nums) { + sum += n; + int lcnt = tree.LessThan(sum, lower); + int hcnt = tree.LessThan(sum, upper + 1); + res += (hcnt - lcnt); + tree.Insert(sum); + } + + return res; + } +}; From eb58453db5801615133c36965e77bad0f803b302 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 16 Jan 2016 21:02:16 +0800 Subject: [PATCH 017/256] filter out the blank line --- scripts/comments.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index 1d518fe24..69a6a10b6 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -160,14 +160,14 @@ fi # 2) the last two `sed` commands are used to add the comments tags case $FILE_EXT in .cpp ) xidel ${leetcode_url} -q -e "css('div.question-content')" | \ - grep -v ' ' | sed '/^$/N;/^\n$/D' | fold -w 85 -s |\ + grep -v ' ' | sed '/^$/N;/^\n$/D' | fold -w 85 -s |\ sed 's/^/ * /' | sed '1i\'$'\n'"/*$(printf '%.0s*' {0..85}) "$'\n' |\ sed '2i\'$'\n''!@#$%'$'\n' | sed 's/!@#$%/ */' | \ sed '$a\'$'\n'"*$(printf '%.0s*' {0..85})*/"$'\n'| \ sed 's/^*/ /' > /tmp/tmp.txt ;; .sh ) xidel ${leetcode_url} -q -e "css('div.question-content')" | \ - grep -v ' ' |sed '/^$/N;/^\n$/D' | fold -w 85 -s| \ + grep -v ' ' |sed '/^$/N;/^\n$/D' | fold -w 85 -s| \ sed 's/^/# /' | sed '1i\'$'\n'"#$(printf '%.0s#' {0..85}) "$'\n' | \ sed '2i\'$'\n''#'$'\n' | sed '$a\'$'\n'"#$(printf '%.0s#' {0..85})"$'\n'\ > /tmp/tmp.txt From e3b71eed8590fe9d1571d25f1cad00a34a60ea9a Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 16 Jan 2016 21:04:17 +0800 Subject: [PATCH 018/256] New Problem "Expression Add Operators" --- .../ExpressionAddOperators.cpp | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 algorithms/cpp/expressionAddOperators/ExpressionAddOperators.cpp diff --git a/algorithms/cpp/expressionAddOperators/ExpressionAddOperators.cpp b/algorithms/cpp/expressionAddOperators/ExpressionAddOperators.cpp new file mode 100644 index 000000000..573d4fd26 --- /dev/null +++ b/algorithms/cpp/expressionAddOperators/ExpressionAddOperators.cpp @@ -0,0 +1,81 @@ +// Source : https://leetcode.com/problems/expression-add-operators/ +// Author : Hao Chen +// Date : 2016-01-16 + +/*************************************************************************************** + * + * Given a string that contains only digits 0-9 and a target value, return all + * possibilities to add binary operators (not unary) +, -, or * between the digits so + * they evaluate to the target value. + * + * Examples: + * "123", 6 -> ["1+2+3", "1*2*3"] + * "232", 8 -> ["2*3+2", "2+3*2"] + * "105", 5 -> ["1*0+5","10-5"] + * "00", 0 -> ["0+0", "0-0", "0*0"] + * "3456237490", 9191 -> [] + * + * Credits:Special thanks to @davidtan1890 for adding this problem and creating all + * test cases. + ***************************************************************************************/ + + +class Solution { +public: + vector addOperators(string num, int target) { + vector result; + if (num.size() == 0) return result; + helper(num, target, result, "", 0, 0, 0, ' '); + return result; + } + + //DFS algorithm + void helper(const string &num, const int target, //`num` and `target` never change + vector& result, // the array store all of the answers + string solution, //the current potential answer. + int idx, // the current index of `num` array + long long val, // the current value we calculated so far + long long prev, // the lastest value we used for calculation, which used for operation prioirty adjustment + char preop ) // the latest "+" or "-" operation, which used for operation prioirty adjustment + { + + if (target == val && idx == num.size()){ + result.push_back(solution); + return; + } + if (idx == num.size()) return; + + string n; + long long v=0; + for(int i=idx; i Date: Sat, 16 Jan 2016 21:15:22 +0800 Subject: [PATCH 019/256] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4c976e14..6ed7a7ccc 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ LeetCode |285|[Inorder Successor in BST](https://leetcode.com/problems/inorder-successor-in-bst/) ♥ | [Java](./algorithms/java/src/inorderSuccessorInBST/inorderSuccessorInBST.java)|Medium| |284|[Peeking Iterator](https://leetcode.com/problems/peeking-iterator/) | [C++](./algorithms/cpp/peekingIterator/PeekingIterator.cpp)|Medium| |283|[Move Zeroes](https://leetcode.com/problems/move-zeroes/) | [C++](./algorithms/cpp/moveZeroes/moveZeroes.cpp)|Easy| +|282|[Expression Add Operators](https://leetcode.com/problems/expression-add-operators/) | [C++](./algorithms/cpp/expressionAddOperators/ExpressionAddOperators.cpp)|Hard| |279|[Perfect Squares](https://leetcode.com/problems/perfect-squares/) | [C++](./algorithms/cpp/perfectSquares/PerfectSquares.cpp)|Medium| |278|[First Bad Version](https://leetcode.com/problems/first-bad-version/)| [C++](./algorithms/cpp/firstBadVersion/FirstBadVersion.cpp), [Java](./algorithms/java/src/firstBadVersion/firstBadVersion.java)|Easy| |275|[H-Index II](https://leetcode.com/problems/h-index-ii/)| [C++](./algorithms/cpp/h-Index/h-Index.II.cpp)|Medium| From 1ab20b068dac5d7eff3878ddaa01493719cd81d1 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 16 Jan 2016 22:03:01 +0800 Subject: [PATCH 020/256] New Problem "Odd Even Linked List" --- README.md | 1 + .../oddEvenLinkedList/OddEvenLinkedList.cpp | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp diff --git a/README.md b/README.md index 6ed7a7ccc..42d073936 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/) | [C++](./algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp)|Easy| |327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| |326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| diff --git a/algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp b/algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp new file mode 100644 index 000000000..6a206978e --- /dev/null +++ b/algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp @@ -0,0 +1,53 @@ +// Source : https://leetcode.com/problems/odd-even-linked-list/ +// Author : Hao Chen +// Date : 2016-01-16 + +/*************************************************************************************** + * + * Given a singly linked list, group all odd nodes together followed by the even nodes. + * Please note here we are talking about the node number and not the value in the nodes. + * + * You should try to do it in place. The program should run in O(1) space complexity + * and O(nodes) time complexity. + * + * Example: + * Given 1->2->3->4->5->NULL, + * return 1->3->5->2->4->NULL. + * + * Note: + * The relative order inside both the even and odd groups should remain as it was in + * the input. + * The first node is considered odd, the second node even and so on ... + * + * Credits:Special thanks to @aadarshjajodia for adding this problem and creating all + * test cases. + ***************************************************************************************/ + +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * ListNode *next; + * ListNode(int x) : val(x), next(NULL) {} + * }; + */ +class Solution { +public: + ListNode* oddEvenList(ListNode* head) { + if (!head) return head; + ListNode* pOdd = head; + ListNode* p = head->next; + ListNode* pNext = NULL; + while(p && (pNext=p->next)) { + + p->next = pNext->next; + pNext->next = pOdd->next; + pOdd->next = pNext; + + p = p->next; + pOdd = pOdd->next; + + } + return head; + } +}; From 1c8023e53f27cc99b2df4360bd35a0647e490005 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 16 Jan 2016 22:45:04 +0800 Subject: [PATCH 021/256] New Problem "Single Number III" --- README.md | 1 + .../cpp/singleNumber/singleNumber.III.cpp | 94 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 algorithms/cpp/singleNumber/singleNumber.III.cpp diff --git a/README.md b/README.md index 42d073936..3dfe34ef6 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ LeetCode |268|[Missing Number](https://leetcode.com/problems/missing-number/)| [C++](./algorithms/cpp/missingNumber/MissingNumber.cpp)|Medium| |264|[Ugly Number II](https://leetcode.com/problems/ugly-number-ii/)| [C++](./algorithms/cpp/uglyNumber/UglyNumber.II.cpp)|Medium| |263|[Ugly Number](https://leetcode.com/problems/ugly-number/)| [C++](./algorithms/cpp/uglyNumber/UglyNumber.cpp)|Easy| +|260|[Single Number III](https://leetcode.com/problems/single-number-iii/)| [C++](./argorithms/cpp/singleNumber/singleNumber.III.cpp)|Medium| |258|[Add Digits](https://leetcode.com/problems/add-digits/)| [C++](./algorithms/cpp/addDigits/addDigits.cpp)|Easy| |257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [C++](./algorithms/cpp/binaryTreePaths/binaryTreePaths.cpp)|Easy| |242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp)|Easy| diff --git a/algorithms/cpp/singleNumber/singleNumber.III.cpp b/algorithms/cpp/singleNumber/singleNumber.III.cpp new file mode 100644 index 000000000..d2f86bd52 --- /dev/null +++ b/algorithms/cpp/singleNumber/singleNumber.III.cpp @@ -0,0 +1,94 @@ +// Source : https://leetcode.com/problems/single-number-iii/ +// Author : Hao Chen +// Date : 2016-01-16 + +/*************************************************************************************** + * + * Given an array of numbers nums, in which exactly two elements appear only once and + * all the other elements appear exactly twice. Find the two elements that appear only + * once. + * + * For example: + * + * Given nums = [1, 2, 1, 3, 2, 5], return [3, 5]. + * + * Note: + * + * The order of the result is not important. So in the above example, [5, 3] is also + * correct. + * Your algorithm should run in linear runtime complexity. Could you implement it using + * only constant space complexity? + * + * Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating + * all test cases. + ***************************************************************************************/ + + +/* + * For the problem - only one number appears once when all other numbers appears exactly twice. + * + * We know, we can XOR all of the array elements. Since X^X is zero, and X^0 is X, + * so all of the duplicated number will zero themselves out, and the only number would be the result. + * + * However, this solution cannot be applied directly to finding two numbers that appear once each. + * + * Suppose that these numbers that appear once are X and Y, and all other numbers appear twice. + * If we decide to XOR all the array's elements, the overall result would actually be `X^Y`. + * + * Unfortunately, there is no way to extract J and K out of their XOR. + * + * But since X and Y are different, we are sure that X^Y is different than zero. + * + * This information is valuable in sense that we know pieces of information that differ. + * If we pick up any bit that is 1 in X XOR Y, we can use it as a mask to test each element of the array. + * + * Obviously, that mask will be the discriminator between X and Y - + * + * Only one of them will have value 1 at that particular position. + * + * + * Now that we have the mask with exactly one bit set to 1, we can walk through the array once again. + * + * But this time we are going to maintain two XORed results. + * + * - One for numbers that have bit 1 at the mask's position + * - Another for numbers that have bit 0 at that position + * + * In this way, we are sure that all duplicates will go into the same pile. + * + * But likewise, we are sure that X and Y will go into separate piles. + * + * So, the overall result is that + * - the first XORed result will be equal to X + * - and the second XORed result will be equal to Y + * +*/ + +class Solution { +public: + vector singleNumber(vector& nums) { + int allxor = 0; + for (int n : nums) { + allxor ^= n; + } + int mask = 1; + while ( (mask & allxor) == 0 ) { + mask <<= 1; + } + + int zero = 0; + int one = 0; + for (int n : nums) { + if (n & mask ){ + one ^= n; + }else { + zero ^= n; + } + } + + vector result; + result.push_back(zero); + result.push_back(one); + return result; + } +}; From 0d9585f087581fe693abe7075764ebc372e3382c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 16 Jan 2016 22:46:37 +0800 Subject: [PATCH 022/256] link error --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3dfe34ef6..aa2f240c2 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ LeetCode |268|[Missing Number](https://leetcode.com/problems/missing-number/)| [C++](./algorithms/cpp/missingNumber/MissingNumber.cpp)|Medium| |264|[Ugly Number II](https://leetcode.com/problems/ugly-number-ii/)| [C++](./algorithms/cpp/uglyNumber/UglyNumber.II.cpp)|Medium| |263|[Ugly Number](https://leetcode.com/problems/ugly-number/)| [C++](./algorithms/cpp/uglyNumber/UglyNumber.cpp)|Easy| -|260|[Single Number III](https://leetcode.com/problems/single-number-iii/)| [C++](./argorithms/cpp/singleNumber/singleNumber.III.cpp)|Medium| +|260|[Single Number III](https://leetcode.com/problems/single-number-iii/)| [C++](./algorithms/cpp/singleNumber/singleNumber.III.cpp)|Medium| |258|[Add Digits](https://leetcode.com/problems/add-digits/)| [C++](./algorithms/cpp/addDigits/addDigits.cpp)|Easy| |257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [C++](./algorithms/cpp/binaryTreePaths/binaryTreePaths.cpp)|Easy| |242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp)|Easy| From 1f24b4a199f7cae2a9f46d0b915f72d1b0ef28b5 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 17 Jan 2016 16:12:12 +0800 Subject: [PATCH 023/256] New Problem "Burst Balloons" --- README.md | 1 + .../cpp/burstBalloons/BurstBalloons.cpp | 104 ++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 algorithms/cpp/burstBalloons/BurstBalloons.cpp diff --git a/README.md b/README.md index aa2f240c2..6a9945f68 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ LeetCode |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| +|312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/) | [C++](./algorithms/cpp/burstBalloons/BurstBalloons.cpp)|Hard| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| |306|[Additive Number](https://leetcode.com/problems/additive-number/) | [C++](./algorithms/cpp/additiveNumber/AdditiveNumber.cpp)|Medium| |304|[Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/) | [C++](./algorithms/cpp/rangeSumQuery2D-Immutable/RangeSumQuery2dImmutable.cpp)|Medium| diff --git a/algorithms/cpp/burstBalloons/BurstBalloons.cpp b/algorithms/cpp/burstBalloons/BurstBalloons.cpp new file mode 100644 index 000000000..901f2e8eb --- /dev/null +++ b/algorithms/cpp/burstBalloons/BurstBalloons.cpp @@ -0,0 +1,104 @@ +// Source : https://leetcode.com/problems/burst-balloons/ +// Author : Hao Chen +// Date : 2016-01-17 + +/*************************************************************************************** + * + * Given n balloons, indexed from 0 to n-1. Each balloon is painted with a + * number on it represented by array nums. + * + * You are asked to burst all the balloons. If the you burst + * balloon i you will get nums[left] * nums[i] * nums[right] coins. Here left + * and right are adjacent indices of i. After the burst, the left and right + * then becomes adjacent. + * + * Find the maximum coins you can collect by bursting the balloons wisely. + * + * Note: + * (1) You may imagine nums[-1] = nums[n] = 1. They are not real therefore you can + * not burst them. + * (2) 0 ≤ n ≤ 500, 0 ≤ nums[i] ≤ 100 + * + * Example: + * + * Given [3, 1, 5, 8] + * + * Return 167 + * + * nums = [3,1,5,8] --> [3,5,8] --> [3,8] --> [8] --> [] + * coins = 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167 + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + + + +class Solution { +public: + int maxCoins(vector& nums) { + //remove all of zero item + nums.erase(remove_if(nums.begin(), nums.end(), [](int n){return n==0;}), nums.end()); + + //add 1 for head and tail + nums.insert(nums.begin(),1); + nums.push_back(1); + + int n = nums.size(); + vector< vector > matrix(n, vector(n,0)); + + return maxCoins_DP(nums, matrix); + return maxCoins_DC(nums, matrix, 0, n-1); + } + + + //Divide and Conquer + // + // If we seprate the array to two part, left part and right part. + // + // Then, we will find in this problem the left and right become adjacent + // and have effects on the maxCoins in the future. + // + // So, if we think reversely, if the balloon i is the last balloon of all to burst, + // the left and right section now has well defined boundary and do not affect each other! + // Therefore we can do either recursive method with memoization + // + int maxCoins_DC(vector& nums, vector>& matrix, int low, int high) { + if (low + 1 == high) return 0; + if (matrix[low][high] > 0) return matrix[low][high]; + int result = 0; + for (int i = low + 1; i < high; ++i){ + result = max(result, nums[low] * nums[i] * nums[high] + + maxCoins_DC(nums, matrix, low, i) + + maxCoins_DC(nums, matrix, i, high)); + } + matrix[low][high] = result; + return result; + } + + //Dynamic Programming + // + // using the same idea of above + // + int maxCoins_DP(vector& nums, vector>& dp) { + int n = nums.size(); + for (int k = 2; k < n; ++k) { + for (int low = 0; low < n - k; low++){ + int high = low + k; + for (int i = low + 1; i < high; ++i) + dp[low][high] = max( dp[low][high], + nums[low] * nums[i] * nums[high] + dp[low][i] + dp[i][high]); + } + } + return dp[0][n - 1]; + } + +private: + void printVector(vector& nums) { + cout << "nums: "; + for (auto n: nums) { + cout << n << ' '; + } + cout << '\n'; + } +}; From 53fe7c9cac47b32b6ee11b6d90193738f100cd45 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 21 Jan 2016 15:13:39 +0800 Subject: [PATCH 024/256] New Problem "Create Maximum Number" --- README.md | 1 + .../CreateMaximumNumber.cpp | 152 ++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp diff --git a/README.md b/README.md index 6a9945f68..6d154e63c 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ LeetCode |327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| |326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| +|321|[Create Maximum Number](https://leetcode.com/problems/create-maximum-number/) | [C++](./algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp)|Hard| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/) | [C++](./algorithms/cpp/burstBalloons/BurstBalloons.cpp)|Hard| diff --git a/algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp b/algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp new file mode 100644 index 000000000..dc88f9a41 --- /dev/null +++ b/algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp @@ -0,0 +1,152 @@ +// Source : https://leetcode.com/problems/create-maximum-number/ +// Author : Hao Chen +// Date : 2016-01-21 + +/*************************************************************************************** + * + * Given two arrays of length m and n with digits 0-9 representing two numbers. + * Create the maximum number of length k from digits of the two. The relative + * order of the digits + * from the same array must be preserved. Return an array of the k digits. You + * should try to optimize your time and space complexity. + * + * Example 1: + * + * nums1 = [3, 4, 6, 5] + * nums2 = [9, 1, 2, 5, 8, 3] + * k = 5 + * return [9, 8, 6, 5, 3] + * + * Example 2: + * + * nums1 = [6, 7] + * nums2 = [6, 0, 4] + * k = 5 + * return [6, 7, 6, 0, 4] + * + * Example 3: + * + * nums1 = [3, 9] + * nums2 = [8, 9] + * k = 3 + * return [9, 8, 9] + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + + + +/* + * Solution + * -------- + * + * 1) We split the `K` to two parts : `i` & `k-i` 0<= i <= k + * + * 2) Find the max number for both arrays with giving the length `i` and `k-i` + * - sub1 = FindMaxNumber(num1, len=i); + * - sub2 = FindMaxNumber(num2, len=k-i); + * Here, we need use stack-way to solve find the max number. + * + * 3) Merge two arrays + * - solution = Merge(sub1, sub2); + * Here, we need be careful if a two number are same which one we need to take. For examples: + * [6,7] + * [6,0,4] + * 5 + * + * [2,5,6,4,4,0] + * [7,3,8,0,6,5,7,6,2] + * 15 + * + * 4) compare with the last solution + * - result = max(result, solution); + * + * + */ + + +class Solution { +public: + vector maxNumber(vector& nums1, vector& nums2, int k) { + vector result; + int len1 = nums1.size(); + int len2 = nums2.size(); + for (int i=0; i<=k; i++){ + if (len1 < i || len2 < k-i) continue; + vector sub1 = findMaxSubArray(nums1, i); + vector sub2 = findMaxSubArray(nums2, k-i); + vector merge = mergeTwoArrays(sub1, sub2); + if (compareTwoArray(merge, 0, result, 0)) { + result = merge; + } + } + return result; + } + + + bool compareTwoArray(vector& nums1, int start1, vector& nums2, int start2) { + int n1 = nums1.size(); + int n2 = nums2.size(); + for(; start1 nums2[start2]) return true; + if (nums1[start1] < nums2[start2]) return false; + } + //if num1 still have numbers, return true, else return false + return start1 < nums1.size(); + } + + vector mergeTwoArrays(vector& nums1, vector& nums2) { + vector result; + int len1 = nums1.size(); + int len2 = nums2.size(); + int pos1=0, pos2=0; + while ( pos1 < len1 && pos2 < len2 ){ + // Be careful if two numbers are equal. consider the following case + // case 1: [6,7], [6,0,4] - we have same item - 6 + // case 2: [4,0,2], [2,0,3,1] - we have same item - 0 + // which one we need to merge? + // We need compare the rest of array. + if (nums1[pos1] == nums2[pos2]){ + result.push_back( compareTwoArray(nums1, pos1+1, nums2, pos2+1) ? + nums1[pos1++] : nums2[pos2++]); + }else { + result.push_back(nums1[pos1] > nums2[pos2] ? + nums1[pos1++] : nums2[pos2++]); + } + } + + if (pos1 < len1){ + result.insert(result.end(), nums1.begin()+pos1, nums1.end()); + } + if (pos2 < len2) { + result.insert(result.end(), nums2.begin()+pos2, nums2.end()); + } + + return result; + } + + + // using a stack method to find the max sub-array + // k <= nums.size() + vector findMaxSubArray(vector& nums, int k) { + int len = nums.size(); + if ( k >= len ) return nums; + vector result(k, 0); + int idx = 0; // the postion for result array + for (int i=0; i the last element of result[], + // and we still have enough numbers, + // then pop up the item + while (idx>0 && k - idx < len - i && result[idx-1] < nums[i]) { + idx--; + } + //push the number into the result[] + if (idx < k) { + result[idx++] = nums[i]; + } + } + return result; + } + +}; From 69a1d4b8240ccb64bd456ec26d3452c7cd71669a Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 21 Jan 2016 23:44:42 +0800 Subject: [PATCH 025/256] New Problem "Longest Increasing Path in a Matrix" --- README.md | 1 + .../LongestIncreasingPathInAMatrix.cpp | 81 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp diff --git a/README.md b/README.md index 6d154e63c..8762d1e84 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | [C++](./algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp)|Medium| |328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/) | [C++](./algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp)|Easy| |327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| |326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| diff --git a/algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp b/algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp new file mode 100644 index 000000000..a7e6a4423 --- /dev/null +++ b/algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp @@ -0,0 +1,81 @@ +// Source : https://leetcode.com/problems/longest-increasing-path-in-a-matrix/ +// Author : Hao Chen +// Date : 2016-01-21 + +/*************************************************************************************** + * + * Given an integer matrix, find the length of the longest increasing path. + * + * From each cell, you can either move to four directions: left, right, up or down. You + * may NOT move diagonally or move outside of the boundary (i.e. wrap-around is not + * allowed). + * + * Example 1: + * + * nums = [ + * [>9, 9, 4], + * [>6, 6, 8], + * [>2,>1, 1] + * ] + * + * Return 4 + * + * The longest increasing path is [1, 2, 6, 9]. + * + * Example 2: + * + * nums = [ + * [>3,>4,>5], + * [ 3, 2,>6], + * [ 2, 2, 1] + * ] + * + * Return 4 + * + * The longest increasing path is [3, 4, 5, 6]. Moving diagonally is not allowed. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + + +class Solution { +public: + int longestIncreasingPath(vector>& matrix) { + int result = 0; + int row = matrix.size(); + int col = row ? matrix[0].size() : 0; + vector> path = vector>(row, vector(col, 0)); + for (int r = 0; r < row; r++) { + for (int c = 0; c < col; c++) { + result = max(result, helper(matrix, path, row, col, r, c)); + } + } + return result; + } + + int helper(vector>& matrix, vector>& path, const int row, const int col, int r, int c) { + + if (path[r][c]>0) return path[r][c]; + + int maxPath = 0; + + int tmp = matrix[r][c]; + matrix[r][c]=INT_MIN; + if (r < row-1 && tmp < matrix[r+1][c]) { + maxPath = max(maxPath, helper(matrix, path, row, col, r+1, c)); + } + if (c < col-1 && tmp < matrix[r][c+1]) { + maxPath = max(maxPath, helper(matrix, path, row, col, r, c+1)); + } + if (r > 0 && tmp < matrix[r-1][c]) { + maxPath = max(maxPath, helper(matrix, path, row, col, r-1, c)); + } + if (c > 0 && tmp < matrix[r][c-1]) { + maxPath = max(maxPath, helper(matrix, path, row, col, r, c-1)); + } + matrix[r][c] = tmp; + path[r][c] = maxPath + 1; + return path[r][c]; + } +}; From 50b9b4ee87d1f0c4cba69c428a7f4ff81d550c19 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 24 Jan 2016 15:27:08 +0800 Subject: [PATCH 026/256] New Problem "Minimum Height Trees" --- README.md | 1 + .../minimumHeightTrees/MinimumHeightTrees.cpp | 98 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp diff --git a/README.md b/README.md index 8762d1e84..6d410f75a 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ LeetCode |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/) | [C++](./algorithms/cpp/burstBalloons/BurstBalloons.cpp)|Hard| +|310|[Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/) | [C++](./algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp)|Medium| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| |306|[Additive Number](https://leetcode.com/problems/additive-number/) | [C++](./algorithms/cpp/additiveNumber/AdditiveNumber.cpp)|Medium| |304|[Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/) | [C++](./algorithms/cpp/rangeSumQuery2D-Immutable/RangeSumQuery2dImmutable.cpp)|Medium| diff --git a/algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp b/algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp new file mode 100644 index 000000000..9f3a125f2 --- /dev/null +++ b/algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp @@ -0,0 +1,98 @@ +// Source : https://leetcode.com/problems/minimum-height-trees/ +// Author : Hao Chen +// Date : 2016-01-24 + +/*************************************************************************************** + * + * For a undirected graph with tree characteristics, we can choose any node as the + * root. The result graph is then a rooted tree. Among all possible rooted trees, those + * with minimum height are called minimum height trees (MHTs). + * + * Given such a graph, write a function to find all the MHTs and return a list of + * their root labels. + * + * *Format* + * The graph contains n nodes which are labeled from 0 to n - 1. + * You will be given the number n and a list of undirected edges (each edge is a + * pair of labels). + * + * + * You can assume that no duplicate edges will appear in edges. Since all edges are + * undirected, [0, 1] is the same as [1, 0] and thus will not appear together in edges. + * + * Example 1: + * + * Given n = 4, edges = [[1, 0], [1, 2], [1, 3]] + * + * 0 + * | + * 1 + * / \ + * 2 3 + * + * return [1] + * + * Example 2: + * + * Given n = 6, edges = [[0, 3], [1, 3], [2, 3], [4, 3], [5, 4]] + * + * 0 1 2 + * \ | / + * 3 + * | + * 4 + * | + * 5 + * + * return [3, 4] + * + * How many MHTs can a graph have at most? + * + * Note: + * + * (1) According to the definition of tree on Wikipedia: https://en.wikipedia.org/wiki/Tree_(graph_theory) + * “a tree is an undirected graph in which any two vertices are connected by exactly one path. + * In other words, any connected graph without simple cycles is a tree.” + * + * (2) The height of a rooted tree is the number of edges on the longest downward path between + * the root and a leaf. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +class Solution { +public: + vector findMinHeightTrees(int n, vector>& edges) { + //corner case + if ( n <= 1 ) return {0}; + + //construct a edges search data stucture + vector> graph(n); + for (auto e : edges) { + graph[e.first].insert(e.second); + graph[e.second].insert(e.first); + } + + //find all of leaf nodes + vector current; + for (int i=0; i next; + for (int node : current) { + for (int neighbor : graph[node]) { + graph[neighbor].erase(node); + if (graph[neighbor].size() == 1) next.push_back(neighbor); + } + } + if (next.empty()) break; + current = next; + } + return current; + } + +}; From e594f51689888f6b8d836b5631ec39997c80b3e1 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 25 Jan 2016 14:53:39 +0800 Subject: [PATCH 027/256] another solution for "Bulb Switcher" --- algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp | 38 +++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp b/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp index 04b046391..d4f51736b 100644 --- a/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp +++ b/algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/bulb-switcher/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2015-12-28 /*************************************************************************************** @@ -21,6 +21,42 @@ * So you should return 1, because there is only one bulb is on. * ***************************************************************************************/ + + /* Solution + * -------- + * + * We know, + * - if a bulb can be switched to ON eventually, it must be switched by ODD times + * - Otherwise, if a bulb has been switched by EVEN times, it will be OFF eventually. + * So, + * - If bulb `i` ends up ON if and only if `i` has an ODD numbers of divisors. + * And we know, + * - the divisors come in pairs. for example: + * 12 - [1,12] [2,6] [3,4] [6,2] [12,1] (the 12th bulb would be switched by 1,2,3,4,6,12) + * - the pairs means almost all of the numbers are switched by EVEN times. + * + * But we have a special case - square numbers + * - A square number must have a divisors pair with same number. such as 4 - [2,2], 9 - [3,3] + * - So, a square number has a ODD numbers of divisors. + * + * At last, we figure out the solution is: + * + * Count the number of the squre numbers!! + */ + +class Solution { +public: + int bulbSwitch(int n) { + int cnt = 0; + for (int i=1; i*i<=n; i++) { + cnt++; + } + return cnt; + } +}; + + + /* * Solution 1 - O(1) * ========= From 8469352740f8b23e0d1234af8d88d75ba0a81ebf Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Jan 2016 23:25:41 +0800 Subject: [PATCH 028/256] another implementation for "Coin Change" --- algorithms/cpp/coinChange/coinChange.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/coinChange/coinChange.cpp b/algorithms/cpp/coinChange/coinChange.cpp index e8ddc9c51..2b7d9b296 100644 --- a/algorithms/cpp/coinChange/coinChange.cpp +++ b/algorithms/cpp/coinChange/coinChange.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/coin-change/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2015-12-28 /*************************************************************************************** @@ -60,3 +60,24 @@ class Solution { return -1; } }; + + +//Another DP implmentation, same idea above +class Solution { +public: + int coinChange(vector& coins, int amount) { + const int MAX = amount +1; + vector dp(amount+1, MAX); + dp[0]=0; + + for(int i=1; i<=amount; i++) { + for (int j=0; j= coins[j]) { + dp[i] = min( dp[i], dp[i-coins[j]] + 1 ); + } + } + } + + return dp[amount]==MAX ? -1 : dp[amount]; + } +}; From 79a570c0f246b067f54bccc881420daf2ff4d863 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 27 Jan 2016 00:07:13 +0800 Subject: [PATCH 029/256] another solution for "Longest Increasing Subsequence" --- .../longestIncreasingSubsequence.cpp | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/longestIncreasingSubsequence/longestIncreasingSubsequence.cpp b/algorithms/cpp/longestIncreasingSubsequence/longestIncreasingSubsequence.cpp index 70a7fadab..30c65e9f4 100644 --- a/algorithms/cpp/longestIncreasingSubsequence/longestIncreasingSubsequence.cpp +++ b/algorithms/cpp/longestIncreasingSubsequence/longestIncreasingSubsequence.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/longest-increasing-subsequence/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2015-11-06 /*************************************************************************************** @@ -22,6 +22,30 @@ * ***************************************************************************************/ + + +// O(n^2) - dynamic programming +class Solution { +public: + int lengthOfLIS(vector& nums) { + + int len = nums.size(); + int maxLen = 0; + vector dp(len, 1); + + for (int i=0; i Date: Sat, 13 Feb 2016 19:31:53 -0500 Subject: [PATCH 030/256] update --- .DS_Store | Bin 0 -> 8196 bytes algorithms/.DS_Store | Bin 0 -> 10244 bytes algorithms/cpp/.DS_Store | Bin 0 -> 22532 bytes algorithms/cpp/majorityElement/.DS_Store | Bin 0 -> 6148 bytes .../cpp/majorityElement/majorityElement.II.cpp | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 algorithms/.DS_Store create mode 100644 algorithms/cpp/.DS_Store create mode 100644 algorithms/cpp/majorityElement/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a88d1f977020681eb1ce37775d2046438f4c31e7 GIT binary patch literal 8196 zcmeI1T}&KR6vxj2TIRAs?-ppcrP4JhQh^FpC?&OBmXEeUQc^yaFI{JMrZ91s!JXL! zB_wE~QR7FnF(y8k2x^VS2Oso7AB-_pV_!5jMvVI6n@=X{L*G1i?ku6e`ec-(bCbE} z-gEDnx$~dj%+1*a0E}m~R)7cqD0B$RLsV^3#JD)Nlp^0#LKZ0=AOi-tFaxvTY?&Q6 z0tEsE0tEsE0tEsEc7g)5XN#f~*!SgVPzMSG3fzP-iXNgLFG0)YZs6%ema8K_{wG}s&S_td;Imon`XjbBgAnTF%Gw5(xKamlXTr3x#f zQc=dk6%P!}*z-fK>Smp|nwj)^hNh?d_Mqy{6s0o zQwhV;?D@EzwKQjHNS-fYXzomsR}W_N9EA?5mOg4YM#?Y^_fbYgVM!iYTx@N>w<+4z zvD6e@Y;9@jXo|LLDo?(Iu*o^|vKx~aNGPVZ4&-AVF24(W9+ZCn0rBzZWkn&~V} z(z{G^$aqY55^3Aa&RWixt1r01GvU}7x7%}$85ApgNxoOeaDL7;Y|9zdGY(l2;ob6m zHHU9Ma`c{#`>s{&;bB(EsuMXOl&O!*3k}CrC#_qWVNFkvvX*OHH1rG$<9BS>QfGA; z6$u?={6l3*qje3~nwX<`BcVvBR#7H}zdNH-E#2(4P#xo{GVIXW*hhO=nl96o}}_zb>;ui_iHf~)vGeuSUORTbrtJR|%0 z8b71fw(lz;>A$ZH86lC)fIoipH%YMdp%hA)U%X^zR$bNmOmnj^#qW2Hrtq^t}6LeSMTlgM+fnVWw zxK5~*Vi@;h1ZxPjTD%h*@Gfk`W^Bjfcmg}|B!Sk4XYm~N<1mg8aASmAnvlDQ(`aA@ z9n4}57w~a>0-waE@M!|@WxRy1;Om>vJDZ12TD)8cz1&d7GHq*`#`DX7H-Q3mR_b}=> literal 0 HcmV?d00001 diff --git a/algorithms/.DS_Store b/algorithms/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a033a0ae6c3097c0d1bd47e0d12c031d4ff9372c GIT binary patch literal 10244 zcmeHMU2GIp6h5adFw=!{m;TW5ySj?S7HknpAwaj=AHYglyKT3Bu+HvG+mY$aIy1Wk zNt0@#QR7dP7!w~%1O%h;!3T}eL}LtSLYo%9jkF6PTQA%#1jfA~OuWb{uc=#5VO zM?7=Dn2lw>T=#OZ_u6E4jg%n%0z^-3Y zk6cp?9M6(X)is6J*M3{m%&|#ZS9>QW9L*h`R~|{Rl}^UC45QC-bXT{`k#T3rnmOod z(+AB7i$=`r+DvbjH#tL^?T}pLGkn-k(wfn0#x2*irbiUpR?JB)ew=A^n&uO> zX;|hYX}EP6JOm2lK}pXz{#^}RO=rbgU&i7}mzS4Ul(TTf;RFGYa1}S_#1(tYtLdti z_RD>WJ5?wTSe8*NE9oJEi&nG4GF?SCHG7`xcv3f2YbMV5;*2Lme@R_+r&6riN4ifj zwISWn)4HL%$7M>AoMN>nPBgb{Z;b3{oo$SqXl`n1ZH%<+YMz~CCnag^<{j;aMzXU{ zpE`Z!^|R;R`1HIFM**fvQ7`5f<^y6l`95)ZRbmwY`L+m%99rI4-PN69EazzbnxVLQ zUh7m`%~?#66bok*Ba;O_WonHQ`koS|hV} zrE!(s>yV{#8`WzG)rK}m(iqow*c#8DqJxy=u2=(sJ9*KP}9pPi&uQ+aRRx@e% zeQmKYy;aA}W+_P{+@oDpH8mRZqb?e25=+bYe~CJ1gniHtqqMh~6kX52vlL;^Q;eO4 zx8NQ45H7%H@C96iFX1vp-1qPU`~tth@9+mAmSYH4U8~Cd>LQEQ+OKR#`o}J@m9rX-Crc2SHMq56yuU; z=*MMA@`g0*uG-)A-_Y=~zxh{H*Z6FV7guw^0?y}>M<2ltk2eKgc+9+>jH_$w)`Zr{ z8*aAjgG4*+n8zcw?2>0q9OVRJlBjM9)l0;2R^nCVhR_zyU{)$xJ!YyhTOwMClbp@0 zOtkKniHkilTPj-HN3&P?t=b_+q;K4cSf+)jlAiU4*aT8~71^hAVKD=(P;P zxEgD5EzxTO-i7seH*NG=umyMGF5HcKh+N&Yv#O>yU^js*r?n3}o y_;tK@FsC;ET<-bBNYDM}g!J60?zxi`xB372$AIAcFYaXj$u(4P{=cQp|9=6g)!oJb literal 0 HcmV?d00001 diff --git a/algorithms/cpp/.DS_Store b/algorithms/cpp/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4dfe7e1a95e6ba39857547c1dba471dfde0d32b4 GIT binary patch literal 22532 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 eJpYIO6QHnj(5wIVKQnRan)ay|9=5k8gy6y literal 0 HcmV?d00001 diff --git a/algorithms/cpp/majorityElement/.DS_Store b/algorithms/cpp/majorityElement/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2c13c8a8364e9d7d1fa8f26063f53c6c26cb691a GIT binary patch literal 6148 zcmeHK%Sr=55Ukc50$u`wc$}jr!9Q3+BJ9~8(8L^+)eT|}x$Ot~PiximC@!veQbf9; zr+T`ldv*$T9sq2+RO@?{3JC^+fnXpQ z2nK$T0iM~C>5*f!!9Xw&47@X-{UK3>Rl&|NZyjuOeO7!Tl+f1YSeOb{1v^JZDCVg| zPqp&IFi)pHm2p+U&e79hd1lrrGrv7vEYD7V%EMumW3<6QFfe4`(7Q98|4aTdqmTSy zO7wz(VBnuIV3WnwV$MaCv-Q*Rbk-*7HC3W`_4EzEEuY7GR(EtDd literal 0 HcmV?d00001 diff --git a/algorithms/cpp/majorityElement/majorityElement.II.cpp b/algorithms/cpp/majorityElement/majorityElement.II.cpp index 827e97a57..08b675d69 100644 --- a/algorithms/cpp/majorityElement/majorityElement.II.cpp +++ b/algorithms/cpp/majorityElement/majorityElement.II.cpp @@ -36,7 +36,7 @@ class Solution { //the same algorithm as Majority Element I problem int majority1=0, majority2=0, cnt1=0, cnt2=0; for(auto item: nums) { - if (cnt1 == 0) { + if (cnt1 == 0 && majority2 != item ) { majority1 = item; cnt1 = 1; } else if (majority1 == item) { From a28233dd0be4ed11eb2f65815e997e2bb12486b7 Mon Sep 17 00:00:00 2001 From: wilsoncao <275239608@qq.com> Date: Sat, 13 Feb 2016 19:32:31 -0500 Subject: [PATCH 031/256] update --- .DS_Store | Bin 8196 -> 0 bytes algorithms/.DS_Store | Bin 10244 -> 0 bytes algorithms/cpp/.DS_Store | Bin 22532 -> 0 bytes algorithms/cpp/majorityElement/.DS_Store | Bin 6148 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store delete mode 100644 algorithms/.DS_Store delete mode 100644 algorithms/cpp/.DS_Store delete mode 100644 algorithms/cpp/majorityElement/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index a88d1f977020681eb1ce37775d2046438f4c31e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeI1T}&KR6vxj2TIRAs?-ppcrP4JhQh^FpC?&OBmXEeUQc^yaFI{JMrZ91s!JXL! zB_wE~QR7FnF(y8k2x^VS2Oso7AB-_pV_!5jMvVI6n@=X{L*G1i?ku6e`ec-(bCbE} z-gEDnx$~dj%+1*a0E}m~R)7cqD0B$RLsV^3#JD)Nlp^0#LKZ0=AOi-tFaxvTY?&Q6 z0tEsE0tEsE0tEsEc7g)5XN#f~*!SgVPzMSG3fzP-iXNgLFG0)YZs6%ema8K_{wG}s&S_td;Imon`XjbBgAnTF%Gw5(xKamlXTr3x#f zQc=dk6%P!}*z-fK>Smp|nwj)^hNh?d_Mqy{6s0o zQwhV;?D@EzwKQjHNS-fYXzomsR}W_N9EA?5mOg4YM#?Y^_fbYgVM!iYTx@N>w<+4z zvD6e@Y;9@jXo|LLDo?(Iu*o^|vKx~aNGPVZ4&-AVF24(W9+ZCn0rBzZWkn&~V} z(z{G^$aqY55^3Aa&RWixt1r01GvU}7x7%}$85ApgNxoOeaDL7;Y|9zdGY(l2;ob6m zHHU9Ma`c{#`>s{&;bB(EsuMXOl&O!*3k}CrC#_qWVNFkvvX*OHH1rG$<9BS>QfGA; z6$u?={6l3*qje3~nwX<`BcVvBR#7H}zdNH-E#2(4P#xo{GVIXW*hhO=nl96o}}_zb>;ui_iHf~)vGeuSUORTbrtJR|%0 z8b71fw(lz;>A$ZH86lC)fIoipH%YMdp%hA)U%X^zR$bNmOmnj^#qW2Hrtq^t}6LeSMTlgM+fnVWw zxK5~*Vi@;h1ZxPjTD%h*@Gfk`W^Bjfcmg}|B!Sk4XYm~N<1mg8aASmAnvlDQ(`aA@ z9n4}57w~a>0-waE@M!|@WxRy1;Om>vJDZ12TD)8cz1&d7GHq*`#`DX7H-Q3mR_b}=> diff --git a/algorithms/.DS_Store b/algorithms/.DS_Store deleted file mode 100644 index a033a0ae6c3097c0d1bd47e0d12c031d4ff9372c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHMU2GIp6h5adFw=!{m;TW5ySj?S7HknpAwaj=AHYglyKT3Bu+HvG+mY$aIy1Wk zNt0@#QR7dP7!w~%1O%h;!3T}eL}LtSLYo%9jkF6PTQA%#1jfA~OuWb{uc=#5VO zM?7=Dn2lw>T=#OZ_u6E4jg%n%0z^-3Y zk6cp?9M6(X)is6J*M3{m%&|#ZS9>QW9L*h`R~|{Rl}^UC45QC-bXT{`k#T3rnmOod z(+AB7i$=`r+DvbjH#tL^?T}pLGkn-k(wfn0#x2*irbiUpR?JB)ew=A^n&uO> zX;|hYX}EP6JOm2lK}pXz{#^}RO=rbgU&i7}mzS4Ul(TTf;RFGYa1}S_#1(tYtLdti z_RD>WJ5?wTSe8*NE9oJEi&nG4GF?SCHG7`xcv3f2YbMV5;*2Lme@R_+r&6riN4ifj zwISWn)4HL%$7M>AoMN>nPBgb{Z;b3{oo$SqXl`n1ZH%<+YMz~CCnag^<{j;aMzXU{ zpE`Z!^|R;R`1HIFM**fvQ7`5f<^y6l`95)ZRbmwY`L+m%99rI4-PN69EazzbnxVLQ zUh7m`%~?#66bok*Ba;O_WonHQ`koS|hV} zrE!(s>yV{#8`WzG)rK}m(iqow*c#8DqJxy=u2=(sJ9*KP}9pPi&uQ+aRRx@e% zeQmKYy;aA}W+_P{+@oDpH8mRZqb?e25=+bYe~CJ1gniHtqqMh~6kX52vlL;^Q;eO4 zx8NQ45H7%H@C96iFX1vp-1qPU`~tth@9+mAmSYH4U8~Cd>LQEQ+OKR#`o}J@m9rX-Crc2SHMq56yuU; z=*MMA@`g0*uG-)A-_Y=~zxh{H*Z6FV7guw^0?y}>M<2ltk2eKgc+9+>jH_$w)`Zr{ z8*aAjgG4*+n8zcw?2>0q9OVRJlBjM9)l0;2R^nCVhR_zyU{)$xJ!YyhTOwMClbp@0 zOtkKniHkilTPj-HN3&P?t=b_+q;K4cSf+)jlAiU4*aT8~71^hAVKD=(P;P zxEgD5EzxTO-i7seH*NG=umyMGF5HcKh+N&Yv#O>yU^js*r?n3}o y_;tK@FsC;ET<-bBNYDM}g!J60?zxi`xB372$AIAcFYaXj$u(4P{=cQp|9=6g)!oJb diff --git a/algorithms/cpp/.DS_Store b/algorithms/cpp/.DS_Store deleted file mode 100644 index 4dfe7e1a95e6ba39857547c1dba471dfde0d32b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22532 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 eJpYIO6QHnj(5wIVKQnRan)ay|9=5k8gy6y diff --git a/algorithms/cpp/majorityElement/.DS_Store b/algorithms/cpp/majorityElement/.DS_Store deleted file mode 100644 index 2c13c8a8364e9d7d1fa8f26063f53c6c26cb691a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Sr=55Ukc50$u`wc$}jr!9Q3+BJ9~8(8L^+)eT|}x$Ot~PiximC@!veQbf9; zr+T`ldv*$T9sq2+RO@?{3JC^+fnXpQ z2nK$T0iM~C>5*f!!9Xw&47@X-{UK3>Rl&|NZyjuOeO7!Tl+f1YSeOb{1v^JZDCVg| zPqp&IFi)pHm2p+U&e79hd1lrrGrv7vEYD7V%EMumW3<6QFfe4`(7Q98|4aTdqmTSy zO7wz(VBnuIV3WnwV$MaCv-Q*Rbk-*7HC3W`_4EzEEuY7GR(EtDd From 4727c83e154ef058b9ff8112bc3210801164e886 Mon Sep 17 00:00:00 2001 From: Siwei Xu Date: Fri, 26 Feb 2016 01:10:40 +0800 Subject: [PATCH 032/256] another solution for "Reverse Words in a String" --- .../reverseWordsInAString.cpp | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp b/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp index b3f4d6147..33e79f882 100644 --- a/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp +++ b/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp @@ -1,5 +1,5 @@ // Source : https://oj.leetcode.com/problems/reverse-words-in-a-string/ -// Author : Hao Chen +// Author : Hao Chen, Siwei Xu // Date : 2014-06-16 /********************************************************************************** @@ -71,7 +71,35 @@ void reverseWords(string &s) { } cout << "[" << s << "]" < -- Handwaving +void reverseWords2(string &s) { + if (s.length() == 0) return; + + string result = ""; + if (s[s.length()-1] == ' ') { + int last = s.find_last_not_of(' ') + 1; + s.erase(last, s.length() - last); + } + + int first = s.find_first_not_of(' ', 0); + while (first != string::npos) { + int wend = s.find(' ', first); // word end + if (wend == string::npos) wend = s.length(); + + string word = s.substr(first, wend - first); + reverse(word.begin(), word.end()); + result += word; + + first = s.find_first_not_of(' ', wend); // next word + if (first == string::npos) break; + + result += ' '; + } + reverse(result.begin(), result.end()); + s.swap(result); +} + main() { string s; From 5c5363e9ae15c765e90510b9cd88dcad84e61f69 Mon Sep 17 00:00:00 2001 From: Siwei Xu Date: Fri, 26 Feb 2016 01:11:36 +0800 Subject: [PATCH 033/256] fix typo caused build error --- algorithms/cpp/maximalRectangle/maximalRectangle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/maximalRectangle/maximalRectangle.cpp b/algorithms/cpp/maximalRectangle/maximalRectangle.cpp index 5e0a8fd81..4f732ed73 100644 --- a/algorithms/cpp/maximalRectangle/maximalRectangle.cpp +++ b/algorithms/cpp/maximalRectangle/maximalRectangle.cpp @@ -56,7 +56,7 @@ int maximalRectangle(vector > &matrix) { if (matrix.size()<=0 || matrix[0].size()<=0) return 0; int row = matrix.size(); int col = matrix[0].size(); - vector< vector > heights(row, vector col); + vector< vector > heights(row, vector(col)); int maxArea = 0; for(int i=0; i Date: Sun, 28 Feb 2016 00:22:11 +0800 Subject: [PATCH 034/256] C solution for "Reverse Words in a String", in O(1) space --- .../reverseWordsInAString.cpp | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp b/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp index 33e79f882..89edd1062 100644 --- a/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp +++ b/algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp @@ -24,9 +24,13 @@ **********************************************************************************/ #include +#include +#include +#include #include #include #include +#include // for std::reverse using namespace std; void reverseWords(string &s) { @@ -100,6 +104,53 @@ void reverseWords2(string &s) { s.swap(result); } + +// C solution in O(1) space +void reverse(char *b, char *e) { + for (--e; e - b > 0; b++, e--) { + char t = *b; + *b = *e; + *e = t; + } +} + +void reverseWords(char *s) { + char *p = s, *ws = NULL, *last = s; + + while (*p && *p == ' ') p++; // skip leading space + ws = p; + + for ( ; *p; p++) { + while (*p && *p != ' ') p++; // find word end + + reverse(ws, p); + strncpy(last, ws, p-ws); + last += (p-ws); + + while (*p && *p == ' ') p++; // for next word + ws = p; + + if (*p == '\0') break; + *last++ = ' '; + } + reverse(s, last); + *last = '\0'; +} + +void test() { +#define TEST(str) do { \ + char* s = strdup(str); \ + printf("\"%s\" => ", s); \ + reverseWords(s); \ + printf("\"%s\"\n\n", s); \ + free(s); \ + } while (0) + + TEST(" the blue sky is blue "); + TEST(" "); +} + + main() { string s; @@ -113,4 +164,5 @@ main() s="i love cpp"; reverseWords(s); + test(); } From be582a0f5fb5b9e14f098fb031c8a58471b2ab5a Mon Sep 17 00:00:00 2001 From: Vally Date: Sat, 27 Feb 2016 19:40:31 +0200 Subject: [PATCH 035/256] added increasingTripletSubsequence --- README.md | 1 + .../increasingTripletSubsequence.cpp | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp diff --git a/README.md b/README.md index 6d410f75a..47982b36d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | [C++](./algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp)|Medium| |328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/) | [C++](./algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp)|Easy| |327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| diff --git a/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp b/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp new file mode 100644 index 000000000..a53f3d7bd --- /dev/null +++ b/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp @@ -0,0 +1,43 @@ +// Source : https://leetcode.com/problems/increasing-triplet-subsequence/ +// Author : Calinescu Valentin +// Date : 2016-02-27 + +/*************************************************************************************** + * + * Given an unsorted array return whether an increasing subsequence of length 3 exists + * or not in the array. + * + * Formally the function should: + * Return true if there exists i, j, k + * such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false. + * Your algorithm should run in O(n) time complexity and O(1) space complexity. + * + * Examples: + * Given [1, 2, 3, 4, 5], + * return true. + * + * Given [5, 4, 3, 2, 1], + * return false. + * + ***************************************************************************************/ +class Solution { +public: + bool increasingTriplet(vector& nums) { + bool solution = false; + if(nums.size()) + { + int first = nums[0]; + int second = 0x7fffffff; //MAX_INT so we can always find something smaller than it + for(int i = 1; i < nums.size() && !solution; i++) + { + if(nums[i] > second) + solution = true; + else if(nums[i] > first && nums[i] < second) + second = nums[i]; + else if(nums[i] < first) + first = nums[i]; + } + } + return solution; + } +}; From e8e1847fb62402771f6a5a48eb4bdbd803fed30c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 29 Feb 2016 17:38:33 +0800 Subject: [PATCH 036/256] refine the comments --- algorithms/cpp/nextPermutation/nextPermutation.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/algorithms/cpp/nextPermutation/nextPermutation.cpp b/algorithms/cpp/nextPermutation/nextPermutation.cpp index 404c4b86c..8d4ab294e 100644 --- a/algorithms/cpp/nextPermutation/nextPermutation.cpp +++ b/algorithms/cpp/nextPermutation/nextPermutation.cpp @@ -33,11 +33,11 @@ * 2 1 3 4 * ... * - * The pattern as below: + * The pattern can be descripted as below: * - * 1) find the first place which num[i-1] < num[i] - * 2) find the first number from n-1 to i which >= num[i-1] - * 3) swap the 2) num with num[i-1] + * 1) from n-1 to 0, find the first place [i-1] which num[i-1] < num[i] + * 2) from n-1 to i, find the first number from n-1 to i which >= num[i-1] + * 3) swap the 2) num with the num[i-1] * 4) sort the sub-array [i, n) //actuall sort is fine as well * * For example: From 23801d8650fb79bd0d768e3e19f8b19f0d50219e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 29 Feb 2016 17:43:33 +0800 Subject: [PATCH 037/256] fix #96 --- algorithms/cpp/3Sum/3Sum.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/3Sum/3Sum.cpp b/algorithms/cpp/3Sum/3Sum.cpp index 0b38716e4..711550183 100644 --- a/algorithms/cpp/3Sum/3Sum.cpp +++ b/algorithms/cpp/3Sum/3Sum.cpp @@ -71,7 +71,7 @@ vector > threeSum(vector &num) { result.push_back(v); // Continue search for all triplet combinations summing to zero. //skip the duplication - while(low0 && num[high]==num[high-1]) high--; low++; high--; From da6bc7c890e8d36e3711f8a2d3bccbd2d06ef91a Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 1 Mar 2016 00:45:30 +0800 Subject: [PATCH 038/256] New Problem "Patching Array" --- README.md | 1 + .../cpp/patchingArray/PatchingArray.cpp | 115 ++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 algorithms/cpp/patchingArray/PatchingArray.cpp diff --git a/README.md b/README.md index 47982b36d..cc9b9f4be 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| +|330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| |329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | [C++](./algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp)|Medium| |328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/) | [C++](./algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp)|Easy| |327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| diff --git a/algorithms/cpp/patchingArray/PatchingArray.cpp b/algorithms/cpp/patchingArray/PatchingArray.cpp new file mode 100644 index 000000000..18b7ee51b --- /dev/null +++ b/algorithms/cpp/patchingArray/PatchingArray.cpp @@ -0,0 +1,115 @@ +// Source : https://leetcode.com/problems/patching-array/ +// Author : Hao Chen +// Date : 2016-03-01 + +/*************************************************************************************** + * + * Given a sorted positive integer array nums and an integer n, add/patch elements to + * the array such that any number in range [1, n] inclusive can be formed by the sum of + * some elements in the array. Return the minimum number of patches required. + * + * Example 1: + * nums = [1, 3], n = 6 + * Return 1. + * + * Combinations of nums are [1], [3], [1,3], which form possible sums of: 1, 3, 4. + * Now if we add/patch 2 to nums, the combinations are: [1], [2], [3], [1,3], [2,3], + * [1,2,3]. + * Possible sums are 1, 2, 3, 4, 5, 6, which now covers the range [1, 6]. + * So we only need 1 patch. + * + * Example 2: + * nums = [1, 5, 10], n = 20 + * Return 2. + * The two patches can be [2, 4]. + * + * Example 3: + * nums = [1, 2, 2], n = 5 + * Return 0. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + + +class Solution { +public: + int minPatches(vector& nums, int n) { + return minPatches_02(nums, n); + return minPatches_01(nums, n); + } + + + // Greedy Algorithm + // (Assume the array is sorted already) + // + // Let do some observation at first, + // + // 1) if we have [1,2] then we can cover 1, 2, 3 + // 2) if we have [1,2,3] then we can cover 1,2,3,4,5,6 + // So, it looks we can simply add all of nums together, then we can find out max number we can reach. + // + // 3) if we have [1,2,5], we can see + // 3.1) [1,2] can cover 1,2,3, but we cannot reach 4, + // 3.2) then we patch 4, then we have [1,2,4] which can cover 1,2,3(1+2),4,5(1+4),6(2+4), 7(1+2+4) + // 3.3) we can see [1,2,4] can reach to 7 - sum all of them + // 3.4) then [1,2,4,5], we can reach to 12 - 1,2,3,4,5,6,7,8(1+2+5),9(4+5),10(1+4+5), 11(2+4+5), 12(1+2+4+5) + // + // So, we can have figure out our solution + // + // 0) considering the `n` we need to cover. + // 1) maintain a variable we are trying to patch, suppose named `try_patch` + // 2) if `try_patch` >= nums[i] then, we just keep add the current array item, + // and set the `try_patch` to the next patch candidate number - `sum+1` + // 3) if `try_patch` < nums[i], which means we need to patch. + // + int minPatches_01(vector& nums, int n) { + long covered = 0; //avoid integer overflow + int patch_cnt = 0; + int i = 0; + while (i= nums[i]) { + covered += nums[i]; + i++; + } else { // if the `try_patch` cannot cover the current item, then we find the number we need to patch + patch_cnt++; + //cout << "patch " << try_patch << endl; + covered = covered + try_patch; + } + + if (covered >=n) break; + } + //for the case - [1], 7 + //the above while-loop just process all of the numbers in the array, + //but we might not reach the goal, so, we need keep patching. + while (covered < n) { + int try_patch = covered + 1; + patch_cnt++; + //cout << "patch " << try_patch << endl; + covered = covered + try_patch; + } + return patch_cnt; + } + + + //The following solution just re-organizes the solution above, and make it shorter + int minPatches_02(vector& nums, int n) { + long covered = 0; + int patch_cnt = 0; + int i = 0; + while ( covered < n){ + if (i Date: Sat, 12 Mar 2016 22:33:54 +0800 Subject: [PATCH 039/256] union-find solution for "Surrounded Regions", --- .../surroundedRegions/surroundedRegions.cpp | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/algorithms/cpp/surroundedRegions/surroundedRegions.cpp b/algorithms/cpp/surroundedRegions/surroundedRegions.cpp index b7ca43b17..6aec38571 100644 --- a/algorithms/cpp/surroundedRegions/surroundedRegions.cpp +++ b/algorithms/cpp/surroundedRegions/surroundedRegions.cpp @@ -182,7 +182,94 @@ void solve_non_recursively(vector< vector > &board) { } } + +// refers to 4th edition. +class UnionFind { + int count_; // number of components + int* rank_; // to limits tree hights + int* id_; // id[i] parent of i +public: + UnionFind(int n) { + count_ = n; + rank_ = new int[n]; + id_ = new int[n]; + for (int i = 0; i < n; i++) { + id_[i] = i; + rank_[i] = 0; + } + } + + ~UnionFind() { + delete [] rank_; + delete [] id_; + } + + int count() { return count_; } + + int find(int p) { + while (p != id_[p]) { + id_[p] = id_[id_[p]]; // path compression + p = id_[p]; + } + return p; + } + + bool connected(int p, int q) { + return find(p) == find(q); + } + + void connect(int p, int q) { + int i = find(p); + int j = find(q); + if (i == j) return; + if (rank_[i] < rank_[j]) id_[i] = j; + else if (rank_[i] > rank_[j]) id_[j] = i; + else { // == + id_[j] = i; + rank_[i]++; + } + count_--; + } +}; + +class Solution { +public: + void solve(vector >& board) { + int n = board.size(); + if (n == 0) return; + int m = board[0].size(); + + UnionFind uf(n*m+1); + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + if (i == 0 || i == n-1 || j == 0 || j == m-1) { // side case, connect to dummy node + uf.connect(i*m + j, n*m); + continue; + } + char c = board[i][j]; // inner case, connect to same neighbor + if (board[i+1][j] == c) uf.connect((i+1)*m + j, i*m + j); + if (board[i-1][j] == c) uf.connect((i-1)*m + j, i*m + j); + if (board[i][j+1] == c) uf.connect(i*m + (j+1), i*m + j); + if (board[i][j-1] == c) uf.connect(i*m + (j-1), i*m + j); + } + } + + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + if (board[i][j] == 'O' && !uf.connected(i*m + j, n*m)) { + board[i][j] = 'X'; + } + } + } + } +}; + + void solve(vector< vector > &board) { + if (rand() % 2) { + Solution().solve(board); + return; + } //Runtime Error for 250 x 250 matrix /* solve_recursively(board); */ solve_non_recursively(board); From 38f46e5e82910e75f92318c232f72af96e7c881b Mon Sep 17 00:00:00 2001 From: Vally Date: Fri, 29 Apr 2016 22:46:45 +0300 Subject: [PATCH 040/256] added houseRobberIII --- README.md | 1 + algorithms/cpp/houseRobber/houseRobberIII.cpp | 88 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 algorithms/cpp/houseRobber/houseRobberIII.cpp diff --git a/README.md b/README.md index cc9b9f4be..8eb0c6e5f 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| |329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | [C++](./algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp)|Medium| diff --git a/algorithms/cpp/houseRobber/houseRobberIII.cpp b/algorithms/cpp/houseRobber/houseRobberIII.cpp new file mode 100644 index 000000000..8bb4aeadf --- /dev/null +++ b/algorithms/cpp/houseRobber/houseRobberIII.cpp @@ -0,0 +1,88 @@ +// Source : https://leetcode.com/problems/house-robber-iii/ +// Author : Calinescu Valentin +// Date : 2016-04-29 + +/*************************************************************************************** + * + * The thief has found himself a new place for his thievery again. There is only one + * entrance to this area, called the "root." Besides the root, each house has one and + * only one parent house. After a tour, the smart thief realized that "all houses in + * this place forms a binary tree". It will automatically contact the police if two + * directly-linked houses were broken into on the same night. + * + * Determine the maximum amount of money the thief can rob tonight without alerting the + * police. + * + * Example 1: + * 3 + * / \ + * 2 3 + * \ \ + * 3 1 + * Maximum amount of money the thief can rob = 3 + 3 + 1 = 7. + * Example 2: + * 3 + * / \ + * 4 5 + * / \ \ + * 1 3 1 + * Maximum amount of money the thief can rob = 4 + 5 = 9. + * Credits: + * Special thanks to @dietpepsi for adding this problem and creating all test cases. + * + ***************************************************************************************/ +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode(int x) : val(x), left(NULL), right(NULL) {} + * }; + */ + /* + * Solution 1 - O(N log N) + * ========= + * + * We can use a recursive function that computes the solution for every node of the tree + * using the previous solutions calculated for the left and right subtrees. At every step + * we have 2 options: + * + * 1) Take the value of the current node + the solution of the left and right subtrees of + * each of the left and right children of the current node. + * 2) Take the solution of the left and right subtrees of the current node, skipping over + * its value. + * + * This way we can make sure that we do not pick 2 adjacent nodes. + * + * If we implemented this right away we would get TLE. Thus, we need to optimize the + * algorithm. One key observation would be that we only need to compute the solution for + * a certain node once. We can use memoization to calculate every value once and then + * retrieve it when we get subsequent calls. As the header of the recursive function + * doesn't allow additional parameters we can use a map to link every node(a pointer) to + * its solution(an int). For every call the map lookup of an element and its insertion + * take logarithmic time and there are a constant number of calls for each node. Thus, the + * algorithm takes O(N log N) time to finish. + * + */ +class Solution { +public: + map dict; + int rob(TreeNode* root) { + if(root == NULL) + return 0; + else if(dict.find(root) == dict.end()) + { + int lwith = rob(root->left); + int rwith = rob(root->right); + int lwithout = 0, rwithout = 0; + if(root->left != NULL) + lwithout = rob(root->left->left) + rob(root->left->right); + if(root->right != NULL) + rwithout = rob(root->right->left) + rob(root->right->right); + //cout << lwith << " " << rwith << " " << lwithout << " " << rwithout << '\n'; + dict[root] = max(root->val + lwithout + rwithout, lwith + rwith); + } + return dict[root]; + } +}; From d88cc15f7ab30c00d2dfc72d9a6ec0f82f30e8a9 Mon Sep 17 00:00:00 2001 From: Vally Date: Sat, 30 Apr 2016 17:34:02 +0300 Subject: [PATCH 041/256] added reverseVowelsOfAString --- README.md | 1 + .../reverseVowelsOfAString.cpp | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp diff --git a/README.md b/README.md index 8eb0c6e5f..16acd1391 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| diff --git a/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp b/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp new file mode 100644 index 000000000..f4f63922a --- /dev/null +++ b/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp @@ -0,0 +1,50 @@ +// Source : https://leetcode.com/problems/reverse-vowels-of-a-string/ +// Author : Calinescu Valentin +// Date : 2016-04-30 + +/*************************************************************************************** + * + * Write a function that takes a string as input and reverse only the vowels of a + * string. + * + * Example 1: + * Given s = "hello", return "holle". + * + * Example 2: + * Given s = "leetcode", return "leotcede". + * + ***************************************************************************************/ +class Solution { +public: + string reverseVowels(string s) { + list vowels; + set vows; + vows.insert('a'); + vows.insert('A'); + vows.insert('e'); + vows.insert('E'); + vows.insert('i'); + vows.insert('I'); + vows.insert('o'); + vows.insert('O'); + vows.insert('u'); + vows.insert('U'); + string result; + for(int i = 0; i < s.size(); i++) + { + if(vows.find(s[i]) != vows.end()) + vowels.push_back(s[i]); + } + for(int i = 0; i < s.size(); i++) + { + if(vows.find(s[i]) != vows.end()) + { + result.push_back(vowels.back()); + vowels.pop_back(); + } + else + result.push_back(s[i]); + } + return result; + } +}; From a127523d15dc047452e1b0a79d167802b6958b3b Mon Sep 17 00:00:00 2001 From: Vally Date: Mon, 2 May 2016 23:13:48 +0300 Subject: [PATCH 042/256] added topKFrequentElements --- README.md | 1 + .../topKFrequentElements.cpp | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp diff --git a/README.md b/README.md index 16acd1391..9362904c5 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| diff --git a/algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp b/algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp new file mode 100644 index 000000000..245c3ba0b --- /dev/null +++ b/algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp @@ -0,0 +1,65 @@ +// Source : https://leetcode.com/problems/top-k-frequent-elements/ +// Author : Calinescu Valentin +// Date : 2016-05-02 + +/*************************************************************************************** + * + * Given a non-empty array of integers, return the k most frequent elements. + * + * For example, + * Given [1,1,1,2,2,3] and k = 2, return [1,2]. + * + * Note: + * You may assume k is always valid, 1 ≤ k ≤ number of unique elements. + * Your algorithm's time complexity must be better than O(n log n), where n is the + * array's size. + * + ***************************************************************************************/ + +class Solution { +public: + struct element//structure consisting of every distinct number in the vector, + //along with its frequency + { + int number, frequency; + bool operator < (const element arg) const + { + return frequency < arg.frequency; + } + }; + priority_queue sol;//we use a heap so we have all of the elements sorted + //by their frequency + vector solution; + + vector topKFrequent(vector& nums, int k) { + sort(nums.begin(), nums.end()); + int i = 1; + for(; i < nums.size(); i++) + { + int freq = 1; + while(i < nums.size() && nums[i] == nums[i - 1]) + { + i++; + freq++; + } + element el; + el.number = nums[i - 1]; + el.frequency = freq; + sol.push(el); + } + if(i == nums.size())//if we have 1 distinct element as the last + { + element el; + el.number = nums[nums.size() - 1]; + el.frequency = 1; + sol.push(el); + } + while(k)//we extract the first k elements from the heap + { + solution.push_back(sol.top().number); + sol.pop(); + k--; + } + return solution; + } +}; From 43156ff0bf6a5241b030bb31ea2dc216903b8a3a Mon Sep 17 00:00:00 2001 From: Vally Date: Fri, 20 May 2016 14:46:16 +0300 Subject: [PATCH 043/256] added intersectionOfTwoArrays --- README.md | 1 + .../intersectionOfTwoArrays.cpp | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp diff --git a/README.md b/README.md index 9362904c5..3b6e68aa7 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| diff --git a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp new file mode 100644 index 000000000..da8fe9046 --- /dev/null +++ b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp @@ -0,0 +1,31 @@ +// Source : https://leetcode.com/problems/intersection-of-two-arrays/ +// Author : Calinescu Valentin +// Date : 2016-05-20 + +/*************************************************************************************** + * + * Given two arrays, write a function to compute their intersection. + * + * Example: + * Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. + * + * Note: + * Each element in the result must be unique. + * The result can be in any order. + * + ***************************************************************************************/ +class Solution { +public: + set inter1, inter2;//we use sets so as to avoid duplicates + vector solution; + vector intersection(vector& nums1, vector& nums2) { + for(int i = 0; i < nums1.size(); i++) + inter1.insert(nums1[i]);//get all of the unique elements in nums1 sorted + for(int i = 0; i < nums2.size(); i++) + if(inter1.find(nums2[i]) != inter1.end())//search nums1 in O(logN) + inter2.insert(nums2[i]);//populate the intersection set + for(set::iterator it = inter2.begin(); it != inter2.end(); ++it) + solution.push_back(*it);//copy the set into a vector + return solution; + } +}; From 7d3ec8447afde81fb065499422d37e180b256d85 Mon Sep 17 00:00:00 2001 From: Vally Date: Fri, 20 May 2016 14:48:38 +0300 Subject: [PATCH 044/256] fixed typo --- .../cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp index da8fe9046..0b20ecc77 100644 --- a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp +++ b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp @@ -22,7 +22,7 @@ class Solution { for(int i = 0; i < nums1.size(); i++) inter1.insert(nums1[i]);//get all of the unique elements in nums1 sorted for(int i = 0; i < nums2.size(); i++) - if(inter1.find(nums2[i]) != inter1.end())//search nums1 in O(logN) + if(inter1.find(nums2[i]) != inter1.end())//search inter1 in O(logN) inter2.insert(nums2[i]);//populate the intersection set for(set::iterator it = inter2.begin(); it != inter2.end(); ++it) solution.push_back(*it);//copy the set into a vector From 96f799f843841463d31f6fea6f82be7aed2b9771 Mon Sep 17 00:00:00 2001 From: Vally Date: Sun, 22 May 2016 16:47:42 +0300 Subject: [PATCH 045/256] added intersectionOfTwoArraysII --- README.md | 1 + .../intersectionOfTwoArraysII.cpp | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp diff --git a/README.md b/README.md index 3b6e68aa7..8084bd918 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| diff --git a/algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp b/algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp new file mode 100644 index 000000000..3b20ef791 --- /dev/null +++ b/algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp @@ -0,0 +1,61 @@ +// Source : https://leetcode.com/problems/intersection-of-two-arrays-ii/ +// Author : Calinescu Valentin +// Date : 2016-05-22 + +/*************************************************************************************** + * + * Given two arrays, write a function to compute their intersection. + * + * Example: + * Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2, 2]. + * + * Note: + * Each element in the result should appear as many times as it shows in both arrays. + * The result can be in any order. + * + * Follow up: + * What if the given array is already sorted? How would you optimize your algorithm? + * What if nums1's size is small compared to num2's size? Which algorithm is better? + * What if elements of nums2 are stored on disk, and the memory is limited such that you + * cannot load all elements into the memory at once? + * + ***************************************************************************************/ + + /* Solution + * -------- + * + * Follow up: + * + * 1)If the given array is already sorted we can skip the sorting. + * + * 2)If nums1 is significantly smaller than nums2 we can only sort nums1 and then binary + * search every element of nums2 in nums1 with a total complexity of (MlogN) or if nums2 + * is already sorted we can search every element of nums1 in nums2 in O(NlogM) + * + * 3)Just like 2), we can search for every element in nums2, thus having an online + * algorithm. + */ + +class Solution { // O(NlogN + MlogM) +public: + vector intersect(vector& nums1, vector& nums2) { + sort(nums1.begin(), nums1.end());//we sort both vectors in order to intersect + sort(nums2.begin(), nums2.end());//them later in O(N + M), where N = nums1.size() + vector solution; //M = nums2.size() + int index = 0; + bool finished = false; + for(int i = 0; i < nums1.size() && !finished; i++) + { + while(index < nums2.size() && nums1[i] > nums2[index])//we skip over the + index++;//smaller elements in nums2 + if(index == nums2.size())//we have reached the end of nums2 so we have no more + finished = true;//elements to add to the intersection + else if(nums1[i] == nums2[index])//we found a common element + { + solution.push_back(nums1[i]); + index++; + } + } + return solution; + } +}; From cf12236261b84d2f965562a227139fa412c4e7d1 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 29 May 2016 15:37:31 +0800 Subject: [PATCH 046/256] the solution of the problem "Reverse String" --- README.md | 1 + .../cpp/reverseString/ReverseString.cpp | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 algorithms/cpp/reverseString/ReverseString.cpp diff --git a/README.md b/README.md index 8084bd918..cf2cb7155 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ LeetCode |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| +|345|[Reverse String](https://leetcode.com/problems/reverse-string/) | [C++](./algorithms/cpp/reverseString/ReverseString.cpp)|Easy| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| diff --git a/algorithms/cpp/reverseString/ReverseString.cpp b/algorithms/cpp/reverseString/ReverseString.cpp new file mode 100644 index 000000000..c0f41088b --- /dev/null +++ b/algorithms/cpp/reverseString/ReverseString.cpp @@ -0,0 +1,24 @@ +// Source : https://leetcode.com/problems/reverse-string/ +// Author : Hao Chen +// Date : 2016-05-29 + +/*************************************************************************************** + * + * Write a function that takes a string as input and returns the string reversed. + * + * Example: + * Given s = "hello", return "olleh". + ***************************************************************************************/ + +class Solution { +public: + string reverseString(string s) { + int len = s.size(); + for (int i=0; i Date: Sun, 29 May 2016 15:58:40 +0800 Subject: [PATCH 047/256] make the script can detect the author name automatically --- scripts/comments.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index 69a6a10b6..6fe2e15f2 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -AUTHOR="Hao Chen" +AUTHOR="NOBODY" LEETCODE_URL=https://leetcode.com/problems/ LEETCODE_NEW_URL=https://leetcode.com/problems/ LEETCODE_OLD_URL=https://oj.leetcode.com/problems/ @@ -23,6 +23,18 @@ function usage() echo -e "" } +function get_author_name() +{ + TRUE_CMD=`which true` + git=`type -P git || ${TRUE_CMD}` + if [ ! -z "${git}" ]; then + AUTHOR=`git config --get user.name` + else + AUTHOR=`whoami` + fi +} + + function detect_os() { platform='unknown' @@ -138,6 +150,9 @@ if [ ! -s $source_file ]; then echo "" > $source_file fi +#detect the author name +get_author_name; + #adding the Copyright Comments if ! grep -Fq "${COMMENT_TAG} Author :" $source_file ; then sed -i.bak '1i\'$'\n'"${COMMENT_TAG} Source : ${leetcode_url}"$'\n' $source_file From 13eef8ddee74bd3727e74b911c67925433bea17d Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 29 May 2016 16:13:33 +0800 Subject: [PATCH 048/256] the solution of problem "Power of Four" --- README.md | 3 +- algorithms/cpp/powerOfFour/PowerOfFour.cpp | 37 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 algorithms/cpp/powerOfFour/PowerOfFour.cpp diff --git a/README.md b/README.md index cf2cb7155..b3535e609 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ LeetCode |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| -|345|[Reverse String](https://leetcode.com/problems/reverse-string/) | [C++](./algorithms/cpp/reverseString/ReverseString.cpp)|Easy| +|344|[Reverse String](https://leetcode.com/problems/reverse-string/) | [C++](./algorithms/cpp/reverseString/ReverseString.cpp)|Easy| +|342|[Power of Four](https://leetcode.com/problems/power-of-four/) | [C++](./algorithms/cpp/powerOfFour/PowerOfFour.cpp)|Easy| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| diff --git a/algorithms/cpp/powerOfFour/PowerOfFour.cpp b/algorithms/cpp/powerOfFour/PowerOfFour.cpp new file mode 100644 index 000000000..f66e6d9e2 --- /dev/null +++ b/algorithms/cpp/powerOfFour/PowerOfFour.cpp @@ -0,0 +1,37 @@ +// Source : https://leetcode.com/problems/power-of-four/ +// Author : Hao Chen +// Date : 2016-05-29 + +/*************************************************************************************** + * + * Given an integer (signed 32 bits), write a function to check whether it is a power + * of 4. + * + * Example: + * Given num = 16, return true. + * Given num = 5, return false. + * + * Follow up: Could you solve it without loops/recursion? + * + * Credits:Special thanks to @yukuairoy for adding this problem and creating all test + * cases. + ***************************************************************************************/ + + +class Solution { +public: + bool isPowerOfFour(int num) { + static int mask = 0b01010101010101010101010101010101; + + //edge case + if (num<=0) return false; + + // there are multiple bits are 1 + if ((num & num-1) != 0) return false; + + // check which one bit is zero, if the place is 1 or 3 or 5 or 7 or 9..., + // then it is the power of 4 + if ((num & mask) != 0) return true; + return false; + } +}; From 35ed8b3590b0400b21d42979b2d6f224ce8e2622 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 29 May 2016 16:27:19 +0800 Subject: [PATCH 049/256] the solution of problem "Integer Break" --- README.md | 1 + algorithms/cpp/integerBreak/IntegerBreak.cpp | 46 ++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 algorithms/cpp/integerBreak/IntegerBreak.cpp diff --git a/README.md b/README.md index b3535e609..bc09b594d 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ LeetCode |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| |344|[Reverse String](https://leetcode.com/problems/reverse-string/) | [C++](./algorithms/cpp/reverseString/ReverseString.cpp)|Easy| +|343|[Integer Break](https://leetcode.com/problems/integer-break/) | [C++](./algorithms/cpp/integerBreak/IntegerBreak.cpp)|Medium| |342|[Power of Four](https://leetcode.com/problems/power-of-four/) | [C++](./algorithms/cpp/powerOfFour/PowerOfFour.cpp)|Easy| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| diff --git a/algorithms/cpp/integerBreak/IntegerBreak.cpp b/algorithms/cpp/integerBreak/IntegerBreak.cpp new file mode 100644 index 000000000..21f78bb82 --- /dev/null +++ b/algorithms/cpp/integerBreak/IntegerBreak.cpp @@ -0,0 +1,46 @@ +// Source : https://leetcode.com/problems/integer-break/ +// Author : Hao Chen +// Date : 2016-05-29 + +/*************************************************************************************** + * + * Given a positive integer n, break it into the sum of at least two positive integers + * and maximize the product of those integers. Return the maximum product you can get. + * + * For example, given n = 2, return 1 (2 = 1 + 1); given n = 10, return 36 (10 = 3 + 3 + * + 4). + * + * Note: you may assume that n is not less than 2. + * + * There is a simple O(n) solution to this problem. + * You may check the breaking results of n ranging from 7 to 10 to discover the + * regularities. + * + * Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating + * all test cases. + ***************************************************************************************/ + +class Solution { +public: + // As the hint said, checking the n with ranging from 7 to 10 to discover the regularities. + // n = 7, 3*4 = 12 + // n = 8, 3*3*2 = 18 + // n = 9, 3*3*3 = 27 + // n = 10, 3*3*4 = 36 + // n = 11, 3*3*3*2 = 54 + // + // we can see we can break the number by 3 if it is greater than 4; + // + int integerBreak(int n) { + if ( n == 2 ) return 1; + if ( n == 3 ) return 2; + int result = 1; + while( n > 4 ) { + result *= 3; + n -= 3; + } + result *= n; + return result; + } +}; + From ecb178901cd760480b50e38961853f113e95db11 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 30 May 2016 00:42:46 +0800 Subject: [PATCH 050/256] the solution of the problem "Flatten Nested List Iterator" --- README.md | 1 + .../FlattenNestedListIterator.cpp | 74 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp diff --git a/README.md b/README.md index bc09b594d..cb84551d3 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ LeetCode |344|[Reverse String](https://leetcode.com/problems/reverse-string/) | [C++](./algorithms/cpp/reverseString/ReverseString.cpp)|Easy| |343|[Integer Break](https://leetcode.com/problems/integer-break/) | [C++](./algorithms/cpp/integerBreak/IntegerBreak.cpp)|Medium| |342|[Power of Four](https://leetcode.com/problems/power-of-four/) | [C++](./algorithms/cpp/powerOfFour/PowerOfFour.cpp)|Easy| +|341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/) | [C++](./algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp)|Medium| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| diff --git a/algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp b/algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp new file mode 100644 index 000000000..e62484864 --- /dev/null +++ b/algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp @@ -0,0 +1,74 @@ +// Source : https://leetcode.com/problems/flatten-nested-list-iterator/ +// Author : Hao Chen +// Date : 2016-05-30 + +/*************************************************************************************** + * + * Given a nested list of integers, implement an iterator to flatten it. + * + * Each element is either an integer, or a list -- whose elements may also be integers + * or other lists. + * + * Example 1: + * Given the list [[1,1],2,[1,1]], + * + * By calling next repeatedly until hasNext returns false, the order of elements + * returned by next should be: [1,1,2,1,1]. + * + * Example 2: + * Given the list [1,[4,[6]]], + * + * By calling next repeatedly until hasNext returns false, the order of elements + * returned by next should be: [1,4,6]. + ***************************************************************************************/ + +/** + * // This is the interface that allows for creating nested lists. + * // You should not implement it, or speculate about its implementation + * class NestedInteger { + * public: + * // Return true if this NestedInteger holds a single integer, rather than a nested list. + * bool isInteger() const; + * + * // Return the single integer that this NestedInteger holds, if it holds a single integer + * // The result is undefined if this NestedInteger holds a nested list + * int getInteger() const; + * + * // Return the nested list that this NestedInteger holds, if it holds a nested list + * // The result is undefined if this NestedInteger holds a single integer + * const vector &getList() const; + * }; + */ +class NestedIterator { +private: + vector v; + int index; + void flatten(vector &nestedList) { + for (auto item : nestedList){ + if (item.isInteger()){ + v.push_back( item.getInteger() ); + }else{ + flatten( item.getList() ); + } + } + } +public: + NestedIterator(vector &nestedList) { + flatten(nestedList); + index = 0; + } + + int next() { + return v[index++]; + } + + bool hasNext() { + return (index < v.size() ); + } +}; + +/** + * Your NestedIterator object will be instantiated and called as such: + * NestedIterator i(nestedList); + * while (i.hasNext()) cout << i.next(); + */ From eb040df04b9715b274da44e2b1e43ff8c64bb145 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 30 May 2016 01:36:23 +0800 Subject: [PATCH 051/256] the solution of the problem "Counting Bits" --- README.md | 1 + algorithms/cpp/countingBits/CountingBits.cpp | 67 ++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 algorithms/cpp/countingBits/CountingBits.cpp diff --git a/README.md b/README.md index cb84551d3..cfe31bb33 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ LeetCode |343|[Integer Break](https://leetcode.com/problems/integer-break/) | [C++](./algorithms/cpp/integerBreak/IntegerBreak.cpp)|Medium| |342|[Power of Four](https://leetcode.com/problems/power-of-four/) | [C++](./algorithms/cpp/powerOfFour/PowerOfFour.cpp)|Easy| |341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/) | [C++](./algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp)|Medium| +|338|[Counting Bits](https://leetcode.com/problems/counting-bits/) | [C++](./algorithms/cpp/countingBits/CountingBits.cpp)|Medium| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| diff --git a/algorithms/cpp/countingBits/CountingBits.cpp b/algorithms/cpp/countingBits/CountingBits.cpp new file mode 100644 index 000000000..0bfe843b1 --- /dev/null +++ b/algorithms/cpp/countingBits/CountingBits.cpp @@ -0,0 +1,67 @@ +// Source : https://leetcode.com/problems/counting-bits/ +// Author : Hao Chen +// Date : 2016-05-30 + +/*************************************************************************************** + * + * Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ + * num calculate the number of 1's in their binary representation and return them as an + * array. + * + * Example: + * For num = 5 you should return [0,1,1,2,1,2]. + * + * Follow up: + * + * It is very easy to come up with a solution with run time O(n*sizeof(integer)). But + * can you do it in linear time O(n) /possibly in a single pass? + * Space complexity should be O(n). + * Can you do it like a boss? Do it without using any builtin function like + * __builtin_popcount in c++ or in any other language. + * + * You should make use of what you have produced already. + * Divide the numbers in ranges like [2-3], [4-7], [8-15] and so on. And try to + * generate new range from previous. + * Or does the odd/even status of the number help you in calculating the number of 1s? + * + * Credits:Special thanks to @ syedee for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +class Solution { +public: + /* + * Initialization + * + * bits_cnt[0] => 0000 => 0 + * bits_cnt[1] => 0001 => 1 + * + * if the number has 2 bits (2, 3), then we can split the binary to two parts, + * 2 = 10 + 0 and 3= 10 + 1, then we can reuse the bits_cnt[0] and bits_cnt[1] + * + * bits_cnt[2] => 0010 => 0010 + 0 => 1 + bits_cnt[0]; + * bits_cnt[3] => 0011 => 0010 + 1 => 1 + bits_cnt[1]; + * + * if the number has 3 bits (4,5,6,7), then we can split the binary to two parts, + * 4 = 100 + 0, 5 = 100 + 01, 6= 100 + 10, 7 = 100 +11 + * then we can reuse the bits_cnt[0] and bits_cnt[1] + * + * bits_cnt[4] => 0110 => 0100 + 00 => 1 + bits_cnt[0]; + * bits_cnt[5] => 0101 => 0100 + 01 => 1 + bits_cnt[1]; + * bits_cnt[6] => 0110 => 0100 + 10 => 1 + bits_cnt[2]; + * bits_cnt[7] => 0111 => 0100 + 11 => 1 + bits_cnt[3]; + * + * so, we can have the solution: + * + * bits_cnt[x] = bits_cnt[x & (x-1) ] + 1; + * + */ + vector countBits(int num) { + vector bits_cnt(num+1, 0); + + for (int i=1; i<=num; i++) { + bits_cnt[i] = bits_cnt[i & (i-1)] + 1; + } + return bits_cnt; + } +}; From 94e9e4b090455ff07f6e57d8f73855654f9defb1 Mon Sep 17 00:00:00 2001 From: wuxun Date: Tue, 14 Jun 2016 20:31:43 +0800 Subject: [PATCH 052/256] fix a wrong number in comment --- algorithms/cpp/editDistance/editDistance.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/editDistance/editDistance.cpp b/algorithms/cpp/editDistance/editDistance.cpp index ec5612658..776e9661a 100644 --- a/algorithms/cpp/editDistance/editDistance.cpp +++ b/algorithms/cpp/editDistance/editDistance.cpp @@ -75,7 +75,7 @@ using namespace std; * "" 0 1 2 3 4 5 * a 1 0 1 2 3 4 * b 2 1 0 1 2 3 - * b 3 2 1 1 1 2 + * b 3 2 1 1 2 2 * */ int min(int x, int y, int z) { From b4e083642db5f9df15d2112cdd199759ed2d9621 Mon Sep 17 00:00:00 2001 From: arctanx Date: Wed, 6 Jul 2016 23:10:13 +0800 Subject: [PATCH 053/256] Update bullsAndCows.cpp --- algorithms/cpp/bullsAndCows/bullsAndCows.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/algorithms/cpp/bullsAndCows/bullsAndCows.cpp b/algorithms/cpp/bullsAndCows/bullsAndCows.cpp index f91550532..feeb1bb89 100644 --- a/algorithms/cpp/bullsAndCows/bullsAndCows.cpp +++ b/algorithms/cpp/bullsAndCows/bullsAndCows.cpp @@ -42,8 +42,8 @@ class Solution { } string getHint01(string secret, string guess) { - int appears_in_secret[10], appears_in_guess[10], bulls[10]; - int total_bulls, total_cows; + int appears_in_secret[10] = {0}, appears_in_guess[10] = {0}, bulls[10] = {0}; + int total_bulls = 0, total_cows = 0; for(int i = 0; i < secret.size(); i++) appears_in_secret[secret[i] - '0']++; for(int i = 0; i < guess.size(); i++) From 227b5749fcf968f51d0290371b3e823c9774b1fc Mon Sep 17 00:00:00 2001 From: Vali Date: Sun, 7 Aug 2016 16:35:33 +0300 Subject: [PATCH 054/256] added combinationSumIV --- README.md | 1 + .../cpp/combinationSumIV/combinationSumIV.cpp | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 algorithms/cpp/combinationSumIV/combinationSumIV.cpp diff --git a/README.md b/README.md index cfe31bb33..cfb9929c2 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| diff --git a/algorithms/cpp/combinationSumIV/combinationSumIV.cpp b/algorithms/cpp/combinationSumIV/combinationSumIV.cpp new file mode 100644 index 000000000..d3006375d --- /dev/null +++ b/algorithms/cpp/combinationSumIV/combinationSumIV.cpp @@ -0,0 +1,68 @@ +// Source : https://leetcode.com/problems/combination-sum-iv/ +// Author : Calinescu Valentin +// Date : 2016-08-07 + +/*************************************************************************************** + * + * Given an integer array with all positive numbers and no duplicates, find the number + * of possible combinations that add up to a positive integer target. + * + * Example: + * + * nums = [1, 2, 3] + * target = 4 + * + * The possible combination ways are: + * (1, 1, 1, 1) + * (1, 1, 2) + * (1, 2, 1) + * (1, 3) + * (2, 1, 1) + * (2, 2) + * (3, 1) + * + * Note that different sequences are counted as different combinations. + * + * Therefore the output is 7. + * Follow up: + * What if negative numbers are allowed in the given array? + * How does it change the problem? + * What limitation we need to add to the question to allow negative numbers? + * + ***************************************************************************************/ + + /* Solution + * -------- + * 1) Dynamic Programming - O(N * target) + * + * We notice that any sum S can be written as S_prev + nums[i], where S_prev is a sum of + * elements from nums and nums[i] is one element of the array. S_prev is always smaller + * than S so we can create the array sol, where sol[i] is the number of ways one can + * arrange the elements of the array to obtain sum i, and populate it from 1 to target, + * as the solution for i is made up of previously computed ones for numbers smaller than + * i. The final answer is sol[target], which is returned at the end. + * + * Follow up: + * + * If the array contains negative numbers as well as positive ones we can run into a cycle + * where some subset of the elements have sum 0 so they can always be added to an existing + * sum, leading to an infinite number of solutions. The limitation that we need is a rule + * to be followed by the input data, that which doesn't allow this type of subsets to exist. + */ +class Solution { +public: + int combinationSum4(vector& nums, int target) { + int sol[target + 1]; + sol[0] = 1;//starting point, only 1 way to obtain 0, that is to have 0 elements + for(int i = 1; i <= target; i++) + { + sol[i] = 0; + for(int j = 0; j < nums.size(); j++) + { + if(i >= nums[j])//if there is a previously calculated sum to add nums[j] to + sol[i] += sol[i - nums[j]]; + } + } + return sol[target]; + } +}; From 931ba6a9a7888fdf9e16ddefa16a6d76ecb4a1e0 Mon Sep 17 00:00:00 2001 From: Vali Date: Mon, 8 Aug 2016 11:12:28 +0300 Subject: [PATCH 055/256] added wiggleSubsequence --- README.md | 1 + .../wiggleSubsequence/wiggleSubsequence.cpp | 88 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp diff --git a/README.md b/README.md index cfb9929c2..3091c6a5c 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| +|376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| diff --git a/algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp b/algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp new file mode 100644 index 000000000..5631e5713 --- /dev/null +++ b/algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp @@ -0,0 +1,88 @@ +// Source : https://leetcode.com/problems/wiggle-subsequence/ +// Author : Calinescu Valentin +// Date : 2016-08-08 + +/*************************************************************************************** + * + * A sequence of numbers is called a wiggle sequence if the differences between + * successive numbers strictly alternate between positive and negative. The first + * difference (if one exists) may be either positive or negative. A sequence with fewer + * than two elements is trivially a wiggle sequence. + * + * For example, [1,7,4,9,2,5] is a wiggle sequence because the differences (6,-3,5,-7,3) + * are alternately positive and negative. In contrast, [1,4,7,2,5] and [1,7,4,5,5] are + * not wiggle sequences, the first because its first two differences are positive and + * the second because its last difference is zero. + * + * Given a sequence of integers, return the length of the longest subsequence that is a + * wiggle sequence. A subsequence is obtained by deleting some number of elements + * (eventually, also zero) from the original sequence, leaving the remaining elements in + * their original order. + * + * Examples: + * Input: [1,7,4,9,2,5] + * Output: 6 + * The entire sequence is a wiggle sequence. + * + * Input: [1,17,5,10,13,15,10,5,16,8] + * Output: 7 + * There are several subsequences that achieve this length. One is [1,17,10,13,10,16,8]. + * + * Input: [1,2,3,4,5,6,7,8,9] + * Output: 2 + * + * Follow up: + * Can you do it in O(n) time? + * + ***************************************************************************************/ + + /* Solution + * -------- + * 1) O(N) + * + * We notice that adding a new number to an existing subsequence means finding one that + * is smaller or bigger than the previous number, according to the difference between the + * previous number and the number before that as we always need to alternate between increasing + * and decreasing subsequences. If we encounter increasing or decreasing sequences of 2 or + * more consecutive numbers we can treat the entire subsequence as a number, because that way + * we can always be sure we don't miss any solution, as finding a number smaller than any + * number of an increasing subsequence is guaranteed to be smaller than the biggest number + * in the subsequence. Thus, we can only check the difference between consecutive numbers. + * + * Follow up: + * + * The time complexity is already O(N). + */ +class Solution { +public: + int wiggleMaxLength(vector& nums) { + int solution = 0;//if we have an empty vector the solution is 0 + if(nums.size()) + { + solution = 1; + int bigger = 0;//0 is the starting point to be followed by either an increasing or decreasing sequence + for(int i = 1; i < nums.size(); i++) + { + if(nums[i] == nums[i - 1]) + continue;//we can ignore duplicates as they can always be omitted + else if(nums[i] > nums[i - 1]) + { + if(bigger == 0 || bigger == 2) + { + bigger = 1;//1 means we now have an increasing sequence + solution++; + } + } + else //if(nums[i] < nums[i - 1]) + { + if(bigger == 0 || bigger == 1) + { + bigger = 2;//2 means we now have a decreasing sequence + solution++; + } + } + } + } + return solution; + } +}; From ec8013d95483e0659f11a62806d861cc3cc19b36 Mon Sep 17 00:00:00 2001 From: huangxiaofei Date: Thu, 11 Aug 2016 22:43:20 +0800 Subject: [PATCH 056/256] modified: cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp use one set instead of two set --- .../intersectionOfTwoArrays.cpp | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp index 0b20ecc77..88eaccba6 100644 --- a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp +++ b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp @@ -29,3 +29,32 @@ class Solution { return solution; } }; + +/* + * This Solution use one unordered_set + */ +class Solution2 { +public: + vector intersection(vector& nums1, vector& nums2) { + unordered_set hash_set(nums1.begin(), nums1.end()); + vector res ; + for (auto it& : nums2) { + if (hash_set.count(it)) { + res.push_back(it); + hash_set.erase(it); + } + } + return res; + } +}; + + + + + + + + + + + From 5e147626a0948f555bcfb578bb4ee1fa2b573761 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 23 Aug 2016 11:32:06 +0800 Subject: [PATCH 057/256] New Problem "Lexicographical Numbers" --- README.md | 1 + .../LexicographicalNumbers.cpp | 109 ++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp diff --git a/README.md b/README.md index 3091c6a5c..f70960641 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| diff --git a/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp b/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp new file mode 100644 index 000000000..f75a423d1 --- /dev/null +++ b/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp @@ -0,0 +1,109 @@ +// Source : https://leetcode.com/problems/lexicographical-numbers/ +// Author : Hao Chen +// Date : 2016-08-23 + +/*************************************************************************************** + * + * Given an integer n, return 1 - n in lexicographical order. + * + * For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9]. + * + * Please optimize your algorithm to use less time and space. The input size may be as + * large as 5,000,000. + ***************************************************************************************/ +class Solution { + +//Solution 1: convert the int to string for sort, Time complexity is high (Time Limited Error) +public: + vector lexicalOrder01(int n) { + vector result; + for (int i=1; i<=n; i++) { + result.push_back(i); + } + sort(result.begin(), result.end(), this->myComp); + return result; + } +private: + static bool myComp(int i,int j) { + static char si[32]={0}, sj[32]={0}; + sprintf(si, "%d\0", i); + sprintf(sj, "%d\0", j); + return (strcmp(si, sj)<0); + } + + +//Solution 2 : using recursive way to solution the problem, 540ms +public: + vector lexicalOrder02(int n) { + vector result; + for (int i=1; i<=n && i<=9; i++) { + result.push_back(i); + lexicalOrder_helper(i, n, result); + } + return result; + } + +private: + void lexicalOrder_helper(int num, int& n, vector& result) { + for (int i=0; i<=9; i++) { + int tmp = num * 10 + i; + if (tmp > n) { + break; + } + result.push_back(tmp); + lexicalOrder_helper(tmp, n, result); + } + } + +//Solution 3: no recursive way, but the code is not easy to read +public : + vector lexicalOrder03(int n) { + vector result; + int curr = 1; + while (result.size() lexicalOrder(int n) { + //srand(time(NULL)); + //if (rand()%2) + // return lexicalOrder02(n); // recursive way 560ms + //else + return lexicalOrder03(n); // non-recursive way, 460ms + } + +}; From 5fe30bc76f29f906c95affcafce6b0dcd5aeeeea Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 23 Aug 2016 12:09:57 +0800 Subject: [PATCH 058/256] New Problem "First Unique Character in a String" --- README.md | 1 + .../FirstUniqueCharacterInAString.cpp | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp diff --git a/README.md b/README.md index f70960641..3de2a519c 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| diff --git a/algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp b/algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp new file mode 100644 index 000000000..29081bb3d --- /dev/null +++ b/algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp @@ -0,0 +1,55 @@ +// Source : https://leetcode.com/problems/first-unique-character-in-a-string/ +// Author : Hao Chen +// Date : 2016-08-23 + +/*************************************************************************************** + * + * Given a string, find the first non-repeating character in it and return it's index. + * If it doesn't exist, return -1. + * + * Examples: + * + * s = "leetcode" + * return 0. + * + * s = "loveleetcode", + * return 2. + * + * Note: You may assume the string contain only lowercase letters. + ***************************************************************************************/ + +class Solution { +public: + int firstUniqChar(string s) { + //As the question mentioned, there only have lower case chars, + //so the MAX_CHAR can be defined as 26, but I want this algorithm be more general for all ASCII + #define MAX_CHAR 256 + #define NOT_FOUND -1 + #define DUPLICATION -2 + + // initlize all chars status to NOT_FOUND + int pos_map[MAX_CHAR]; + memset(pos_map, NOT_FOUND,sizeof(pos_map)); + + // if it is the first time to find, set the status to its postion + // if it is the second time to find, set the status to duplication + // if it has already duplicated, do nothing + for (int i=0; i= 0 ) { + pos_map[s[i]] = DUPLICATION; + }else if ( pos_map[s[i]] == NOT_FOUND ) { + pos_map[s[i]] = i; + } + } + + // find the lowest postion + int pos = INT_MAX; + for (auto item : pos_map) { + cout << item << ","; + if (item >= 0 && item < pos) { + pos = item; + } + } + return pos == INT_MAX ? -1 : pos; + } +}; From 25633c1a10df57f01b019de440375a8aa5df2744 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 23 Aug 2016 13:06:47 +0800 Subject: [PATCH 059/256] add indent --- algorithms/cpp/wordPattern/WordPattern.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/wordPattern/WordPattern.cpp b/algorithms/cpp/wordPattern/WordPattern.cpp index 8d67a0edb..0d319f110 100644 --- a/algorithms/cpp/wordPattern/WordPattern.cpp +++ b/algorithms/cpp/wordPattern/WordPattern.cpp @@ -34,7 +34,7 @@ private:: string tok; while(getline(ss, tok, delimiter)) { - internal.push_back(tok); + internal.push_back(tok); } return internal; From f9dc6340dfff3e9e17e0d7ff2a284dbb707197d7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 23 Aug 2016 14:09:10 +0800 Subject: [PATCH 060/256] New Problem "Longest Absolute File Path" --- README.md | 1 + .../LongestAbsoluteFilePath.cpp | 107 ++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp diff --git a/README.md b/README.md index 3de2a519c..e17e5400d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +[388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| diff --git a/algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp b/algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp new file mode 100644 index 000000000..bf7f6ce33 --- /dev/null +++ b/algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp @@ -0,0 +1,107 @@ +// Source : https://leetcode.com/problems/longest-absolute-file-path/ +// Author : Hao Chen +// Date : 2016-08-23 + +/*************************************************************************************** + * + * Suppose we abstract our file system by a string in the following manner: + * + * The string "dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext" represents: + * + * dir + * subdir1 + * subdir2 + * file.ext + * + * The directory dir contains an empty sub-directory subdir1 and a sub-directory + * subdir2 containing a file file.ext. + * + * The string + * "dir\n\tsubdir1\n\t\tfile1.ext\n\t\tsubsubdir1\n\tsubdir2\n\t\tsubsubdir2\n\t\t\tfile + * 2.ext" represents: + * + * dir + * subdir1 + * file1.ext + * subsubdir1 + * subdir2 + * subsubdir2 + * file2.ext + * + * The directory dir contains two sub-directories subdir1 and subdir2. subdir1 contains + * a file file1.ext and an empty second-level sub-directory subsubdir1. subdir2 + * contains a second-level sub-directory subsubdir2 containing a file file2.ext. + * + * We are interested in finding the longest (number of characters) absolute path to a + * file within our file system. For example, in the second example above, the longest + * absolute path is "dir/subdir2/subsubdir2/file2.ext", and its length is 32 (not + * including the double quotes). + * + * Given a string representing the file system in the above format, return the length + * of the longest absolute path to file in the abstracted file system. If there is no + * file in the system, return 0. + * + * Note: + * + * The name of a file contains at least a . and an extension. + * The name of a directory or sub-directory will not contain a .. + * + * Time complexity required: O(n) where n is the size of the input string. + * + * Notice that a/aa/aaa/file1.txt is not the longest file path, if there is another + * path aaaaaaaaaaaaaaaaaaaaa/sth.png. + ***************************************************************************************/ + +class Solution { +public: + // Solution + // -------- + // We can see the input formation has the order + // so, we can maintain an array which states the current level's path length + // + // For example: + // dir + // subdir1 <- length[ level1 = len("dir")+len("/"), + // level2 = len("dir")+len("/")+len("subdir1")+len("/") ] + // file.ext + // subdir2 + // file.ext + // subsubdir1 <- length[ level1 = len("dir")+len("/"), + // level2 = len("dir")+len("/")+len("subdir2")+len("/"), + // level3 = len("dir")+len("/")+len("subdir2")+len("/")+len("subsubdir1")+len("/") ] + // file.ext + // + int lengthLongestPath(string input) { + + stringstream ss(input); + string line; + int result = 0; + + vector length; + length.push_back(0); //initialize top dummy level's length is zero + + while (getline(ss, line, '\n')) { + //get current level, start from 1 + int level = 0; + while ( line[level++] == '\t'); // get the level + int len = line.size() - level + 1; + + //if is a file, then cacualte the total length. + if (line.find('.') != string::npos) { + if ( length[level-1] + len > result ) { + result = length[level-1] + len; + } + } else { + + if (length.size() <= level) { + length.push_back(0); + } + + // if it a folder, then update the current level's length + length[level] = length[level-1] + len + 1; // 1 for "/" path delimiter + } + + } + return result; + } +}; From bfeb664e07f0854561a4dc72bfd7ef7dac1950af Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 23 Aug 2016 14:11:46 +0800 Subject: [PATCH 061/256] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e17e5400d..121c7ca1d 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | -[388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| +|388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| From 729eec6f0973a78eb9cbd33262d847a89076bc2c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 24 Aug 2016 11:06:07 +0800 Subject: [PATCH 062/256] uncomment the code --- .../cpp/lexicographicalNumbers/LexicographicalNumbers.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp b/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp index f75a423d1..779e61077 100644 --- a/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp +++ b/algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp @@ -99,10 +99,10 @@ public : //start point public: vector lexicalOrder(int n) { - //srand(time(NULL)); - //if (rand()%2) - // return lexicalOrder02(n); // recursive way 560ms - //else + srand(time(NULL)); + if (rand()%2) + return lexicalOrder02(n); // recursive way 560ms + else return lexicalOrder03(n); // non-recursive way, 460ms } From d076c2c3daa9eaa8349cdb230b8faa2a0a340b14 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 24 Aug 2016 12:30:18 +0800 Subject: [PATCH 063/256] New Problem Solution - "Mini Parser" --- README.md | 1 + algorithms/cpp/miniParser/MiniParser.cpp | 116 +++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 algorithms/cpp/miniParser/MiniParser.cpp diff --git a/README.md b/README.md index 121c7ca1d..3913fb8f2 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ LeetCode |388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| +|385|[Mini Parser](https://leetcode.com/problems/mini-parser/) | [C++](./algorithms/cpp/miniParser/MiniParser.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| diff --git a/algorithms/cpp/miniParser/MiniParser.cpp b/algorithms/cpp/miniParser/MiniParser.cpp new file mode 100644 index 000000000..8c126e958 --- /dev/null +++ b/algorithms/cpp/miniParser/MiniParser.cpp @@ -0,0 +1,116 @@ +// Source : https://leetcode.com/problems/mini-parser/ +// Author : Hao Chen +// Date : 2016-08-24 + +/*************************************************************************************** + * + * Given a nested list of integers represented as a string, implement a parser to + * deserialize it. + * + * Each element is either an integer, or a list -- whose elements may also be integers + * or other lists. + * + * Note: + * You may assume that the string is well-formed: + * + * String is non-empty. + * String does not contain white spaces. + * String contains only digits 0-9, [, - ,, ]. + * + * Example 1: + * + * Given s = "324", + * + * You should return a NestedInteger object which contains a single integer 324. + * + * Example 2: + * + * Given s = "[123,[456,[789]]]", + * + * Return a NestedInteger object containing a nested list with 2 elements: + * + * 1. An integer containing value 123. + * 2. A nested list containing two elements: + * i. An integer containing value 456. + * ii. A nested list with one element: + * a. An integer containing value 789. + ***************************************************************************************/ + + +/** + * // This is the interface that allows for creating nested lists. + * // You should not implement it, or speculate about its implementation + * class NestedInteger { + * public: + * // Constructor initializes an empty nested list. + * NestedInteger(); + * + * // Constructor initializes a single integer. + * NestedInteger(int value); + * + * // Return true if this NestedInteger holds a single integer, rather than a nested list. + * bool isInteger() const; + * + * // Return the single integer that this NestedInteger holds, if it holds a single integer + * // The result is undefined if this NestedInteger holds a nested list + * int getInteger() const; + * + * // Set this NestedInteger to hold a single integer. + * void setInteger(int value); + * + * // Set this NestedInteger to hold a nested list and adds a nested integer to it. + * void add(const NestedInteger &ni); + * + * // Return the nested list that this NestedInteger holds, if it holds a nested list + * // The result is undefined if this NestedInteger holds a single integer + * const vector &getList() const; + * }; + */ +class Solution { +public: + NestedInteger deserialize(string s) { + if (s.size()==0) return NestedInteger(); + int pos = 0; + if (s[pos]!='[') return atoni(s, pos); + + return helper(s, ++pos); + } +private: + NestedInteger helper(string& s, int& pos) { + + NestedInteger ni; + + while ( s[pos] != ']' && pos < s.size() ) { + + if (s[pos]=='-' || isnum(s[pos])){ + ni.add(atoni(s, pos)); + }else if (s[pos] == '[') { + pos++; + ni.add(helper(s, pos)); + }else { + pos++; + } + } + pos++; + return ni; + } + NestedInteger atoni(string& s, int& pos) { + int sign = 1; + int num = 0; + if (s[pos]=='-') { + sign = -1; + pos++; + } + for (; pos < s.size(); pos++) { + if (isnum(s[pos])) { + num = num * 10 + s[pos] - '0'; + }else{ + break; + } + } + return NestedInteger(sign * num); + } + bool isnum(char& c) { + return (c >='0' && c <='9'); + } +}; From d666cbfcafd7f157acca45a904a3ed569602ada7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 24 Aug 2016 13:22:08 +0800 Subject: [PATCH 064/256] New Problem Solution - "Shuffle an Array" --- README.md | 1 + .../cpp/shuffleAnArray/ShuffleAnArray.cpp | 59 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp diff --git a/README.md b/README.md index 3913fb8f2..477d66c84 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ LeetCode |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| |385|[Mini Parser](https://leetcode.com/problems/mini-parser/) | [C++](./algorithms/cpp/miniParser/MiniParser.cpp)|Medium| +|384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/) | [C++](./algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| diff --git a/algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp b/algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp new file mode 100644 index 000000000..681a77519 --- /dev/null +++ b/algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp @@ -0,0 +1,59 @@ +// Source : https://leetcode.com/problems/shuffle-an-array/ +// Author : Hao Chen +// Date : 2016-08-24 + +/*************************************************************************************** + * + * Shuffle a set of numbers without duplicates. + * + * Example: + * + * // Init an array with set 1, 2, and 3. + * int[] nums = {1,2,3}; + * Solution solution = new Solution(nums); + * + * // Shuffle the array [1,2,3] and return its result. Any permutation of [1,2,3] must + * equally likely to be returned. + * solution.shuffle(); + * + * // Resets the array back to its original configuration [1,2,3]. + * solution.reset(); + * + * // Returns the random shuffling of array [1,2,3]. + * solution.shuffle(); + ***************************************************************************************/ + +class Solution { +public: + Solution(vector nums) : _nums(nums), _solution(nums) { + srand(time(NULL)); + } + + /** Resets the array to its original configuration and return it. */ + vector reset() { + return _solution = _nums; + } + + /** Returns a random shuffling of the array. */ + vector shuffle() { + //Fisher Yates + //https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle + + int i = _solution.size(); + + while ( --i > 0 ) { + int j = rand() % (i+1); + swap(_solution[i], _solution[j]); + } + return _solution; + } +private: + vector _nums, _solution; +}; + +/** + * Your Solution object will be instantiated and called as such: + * Solution obj = new Solution(nums); + * vector param_1 = obj.reset(); + * vector param_2 = obj.shuffle(); + */ From 6906cda1138081f68298521884006c22321b4988 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 24 Aug 2016 13:24:30 +0800 Subject: [PATCH 065/256] New Problem Solution - "Ransom Note" --- README.md | 1 + algorithms/cpp/ransomNote/RansomNote.cpp | 38 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 algorithms/cpp/ransomNote/RansomNote.cpp diff --git a/README.md b/README.md index 477d66c84..d9e0f38aa 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ LeetCode |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| |385|[Mini Parser](https://leetcode.com/problems/mini-parser/) | [C++](./algorithms/cpp/miniParser/MiniParser.cpp)|Medium| |384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/) | [C++](./algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp)|Medium| +|383|[Ransom Note](https://leetcode.com/problems/ransom-note/) | [C++](./algorithms/cpp/ransomNote/RansomNote.cpp)|Easy| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| diff --git a/algorithms/cpp/ransomNote/RansomNote.cpp b/algorithms/cpp/ransomNote/RansomNote.cpp new file mode 100644 index 000000000..c13922ea1 --- /dev/null +++ b/algorithms/cpp/ransomNote/RansomNote.cpp @@ -0,0 +1,38 @@ +// Source : https://leetcode.com/problems/ransom-note/ +// Author : Hao Chen +// Date : 2016-08-24 + +/*************************************************************************************** + * + * 
Given
 an 
arbitrary
 ransom
 note
 string 
and 
another 
string 
containing + * 
letters from
 all 
the 
magazines,
 write 
a 
function 
that 
will 
return 
true + * 
if 
the 
ransom 
 + * note 
can 
be 
constructed 
from 
the 
magazines ; 
otherwise, 
it 
will 
return + * 
false. 

 + * + * Each 
letter
 in
 the
 magazine 
string 
can
 only 
be
 used 
once
 in
 your + * 
ransom
 note. + * + * Note: + * You may assume that both strings contain only lowercase letters. + * + * canConstruct("a", "b") -> false + * canConstruct("aa", "ab") -> false + * canConstruct("aa", "aab") -> true + ***************************************************************************************/ + +class Solution { +public: + bool canConstruct(string ransomNote, string magazine) { + unordered_map m; + for(int i=0; i Date: Wed, 24 Aug 2016 14:10:53 +0800 Subject: [PATCH 066/256] New Problem Solution - "Linked List Random Node" --- README.md | 1 + .../LinkedListRandomNode.cpp | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 algorithms/cpp/linkedListRandomNode/LinkedListRandomNode.cpp diff --git a/README.md b/README.md index d9e0f38aa..41bce4906 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ LeetCode |385|[Mini Parser](https://leetcode.com/problems/mini-parser/) | [C++](./algorithms/cpp/miniParser/MiniParser.cpp)|Medium| |384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/) | [C++](./algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp)|Medium| |383|[Ransom Note](https://leetcode.com/problems/ransom-note/) | [C++](./algorithms/cpp/ransomNote/RansomNote.cpp)|Easy| +|382|[Linked List Random Node](https://leetcode.com/problems/linked-list-random-node/) | [C++](./algorithms/cpp/linkedListRandomNode/LinkedListRandomNode.cpp)|Medium| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| diff --git a/algorithms/cpp/linkedListRandomNode/LinkedListRandomNode.cpp b/algorithms/cpp/linkedListRandomNode/LinkedListRandomNode.cpp new file mode 100644 index 000000000..8cc97117c --- /dev/null +++ b/algorithms/cpp/linkedListRandomNode/LinkedListRandomNode.cpp @@ -0,0 +1,61 @@ +// Source : https://leetcode.com/problems/linked-list-random-node/ +// Author : Hao Chen +// Date : 2016-08-24 + +/*************************************************************************************** + * + * Given a singly linked list, return a random node's value from the linked list. Each + * node must have the same probability of being chosen. + * + * Follow up: + * What if the linked list is extremely large and its length is unknown to you? Could + * you solve this efficiently without using extra space? + * + * Example: + * + * // Init a singly linked list [1,2,3]. + * ListNode head = new ListNode(1); + * head.next = new ListNode(2); + * head.next.next = new ListNode(3); + * Solution solution = new Solution(head); + * + * // getRandom() should return either 1, 2, or 3 randomly. Each element should have + * equal probability of returning. + * solution.getRandom(); + ***************************************************************************************/ + +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * ListNode *next; + * ListNode(int x) : val(x), next(NULL) {} + * }; + */ +class Solution { +public: + /** @param head The linked list's head. + Note that the head is guaranteed to be not null, so it contains at least one node. */ + Solution(ListNode* head) { + this->head = head; + this->len = 0; + for(ListNode*p = head; p!=NULL; p=p->next, len++); + srand(time(NULL)); + } + + /** Returns a random node's value. */ + int getRandom() { + int pos = rand() % len; + ListNode *p = head; + for (; pos > 0; pos--, p=p->next); + return p->val; + } + ListNode* head; + int len; +}; + +/** + * Your Solution object will be instantiated and called as such: + * Solution obj = new Solution(head); + * int param_1 = obj.getRandom(); + */ From 2c9f3c241bb3c28ad303cab164d7f438ebd8253c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 25 Aug 2016 18:01:24 +0800 Subject: [PATCH 067/256] Two Problems Solutions - "Insert Delete GetRandom O(1)" --- README.md | 2 + .../InsertDeleteGetrandomO1.cpp | 98 +++++++++++++++++ ...sertDeleteGetrandomO1DuplicatesAllowed.cpp | 102 ++++++++++++++++++ 3 files changed, 202 insertions(+) create mode 100644 algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp create mode 100644 algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1DuplicatesAllowed.cpp diff --git a/README.md b/README.md index 41bce4906..4c74c0ea1 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ LeetCode |384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/) | [C++](./algorithms/cpp/shuffleAnArray/ShuffleAnArray.cpp)|Medium| |383|[Ransom Note](https://leetcode.com/problems/ransom-note/) | [C++](./algorithms/cpp/ransomNote/RansomNote.cpp)|Easy| |382|[Linked List Random Node](https://leetcode.com/problems/linked-list-random-node/) | [C++](./algorithms/cpp/linkedListRandomNode/LinkedListRandomNode.cpp)|Medium| +|381|[Insert Delete GetRandom O(1) - Duplicates allowed](https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed/) | [C++](./algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1DuplicatesAllowed.cpp)|Hard| +|380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/) | [C++](./algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp)|Hard| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| diff --git a/algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp b/algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp new file mode 100644 index 000000000..07a0bde1d --- /dev/null +++ b/algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp @@ -0,0 +1,98 @@ +// Source : https://leetcode.com/problems/insert-delete-getrandom-o1/ +// Author : Hao Chen +// Date : 2016-08-25 + +/*************************************************************************************** + * + * Design a data structure that supports all following operations in average O(1) time. + * + * insert(val): Inserts an item val to the set if not already present. + * remove(val): Removes an item val from the set if present. + * getRandom: Returns a random element from current set of elements. Each element must + * have the same probability of being returned. + * + * Example: + * + * // Init an empty set. + * RandomizedSet randomSet = new RandomizedSet(); + * + * // Inserts 1 to the set. Returns true as 1 was inserted successfully. + * randomSet.insert(1); + * + * // Returns false as 2 does not exist in the set. + * randomSet.remove(2); + * + * // Inserts 2 to the set, returns true. Set now contains [1,2]. + * randomSet.insert(2); + * + * // getRandom should return either 1 or 2 randomly. + * randomSet.getRandom(); + * + * // Removes 1 from the set, returns true. Set now contains [2]. + * randomSet.remove(1); + * + * // 2 was already in the set, so return false. + * randomSet.insert(2); + * + * // Since 1 is the only number in the set, getRandom always return 1. + * randomSet.getRandom(); + ***************************************************************************************/ + + +class RandomizedSet { +public: + /** Initialize your data structure here. */ + RandomizedSet() { + srand(time(NULL)); + } + + /** Inserts a value to the set. Returns true if the set did not already contain the specified element. */ + bool insert(int val) { + if ( find(val) ) return false; + data.push_back(val); + valpos[val] = data.size() - 1; + return true; + } + + /** Removes a value from the set. Returns true if the set contained the specified element. */ + bool remove(int val) { + if ( !find(val) ) return false; + + /* + * Tricky + * ------ + * 1) Copy the data from the last one to the place need be removed. + * 2) Remove the last one. + */ + int _idx = valpos[val]; + int _val = data.back(); + + data[_idx] = _val; + valpos[_val] = _idx; + + valpos.erase(val); + data.pop_back(); + return true; + } + + /** Get a random element from the set. */ + int getRandom() { + return data[ rand() % data.size() ]; + } + +private: + unordered_map valpos; //value position map + vector data; + bool find(int val) { + return (valpos.find(val) != valpos.end()); + } + +}; + +/** + * Your RandomizedSet object will be instantiated and called as such: + * RandomizedSet obj = new RandomizedSet(); + * bool param_1 = obj.insert(val); + * bool param_2 = obj.remove(val); + * int param_3 = obj.getRandom(); + */ diff --git a/algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1DuplicatesAllowed.cpp b/algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1DuplicatesAllowed.cpp new file mode 100644 index 000000000..3ae8de9b2 --- /dev/null +++ b/algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1DuplicatesAllowed.cpp @@ -0,0 +1,102 @@ +// Source : https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed/ +// Author : Hao Chen +// Date : 2016-08-25 + +/*************************************************************************************** + * + * Design a data structure that supports all following operations in average O(1) time. + * Note: Duplicate elements are allowed. + * + * insert(val): Inserts an item val to the collection. + * remove(val): Removes an item val from the collection if present. + * getRandom: Returns a random element from current collection of elements. The + * probability of each element being returned is linearly related to the number of same + * value the collection contains. + * + * Example: + * + * // Init an empty collection. + * RandomizedCollection collection = new RandomizedCollection(); + * + * // Inserts 1 to the collection. Returns true as the collection did not contain 1. + * collection.insert(1); + * + * // Inserts another 1 to the collection. Returns false as the collection contained 1. + * Collection now contains [1,1]. + * collection.insert(1); + * + * // Inserts 2 to the collection, returns true. Collection now contains [1,1,2]. + * collection.insert(2); + * + * // getRandom should return 1 with the probability 2/3, and returns 2 with the + * probability 1/3. + * collection.getRandom(); + * + * // Removes 1 from the collection, returns true. Collection now contains [1,2]. + * collection.remove(1); + * + * // getRandom should return 1 and 2 both equally likely. + * collection.getRandom(); + ***************************************************************************************/ + +class RandomizedCollection { +public: + /** Initialize your data structure here. */ + RandomizedCollection() { + srand(time(NULL)); + } + + /** Inserts a value to the collection. Returns true if the collection did not already contain the specified element. */ + bool insert(int val) { + data.push_back(val); + valpos[val].insert( data.size() - 1 ); + return (valpos[val].size() == 1); + } + + /** Removes a value from the collection. Returns true if the collection contained the specified element. */ + bool remove(int val) { + // not found + if (!find(val)) return false; + + + //same idea with non-duplication version, but need be careful with some edge case + int _idx = *(valpos[val].begin()); + int _val = data.back(); + + valpos[_val].insert(_idx); + data[_idx] = _val; + + valpos[val].erase(_idx); + if (valpos[val].size()==0){ + valpos.erase(val); + } + + data.pop_back(); + if ( _idx < data.size() ){ + valpos[_val].erase(data.size()); + valpos[_val].insert(_idx); + } + + return true; + } + + /** Get a random element from the collection. */ + int getRandom() { + return data[ rand() % data.size() ]; + } +private: + unordered_map> valpos; //value position map + vector data; + bool find(int val) { + return (valpos.find(val) != valpos.end()); + } + +}; + +/** + * Your RandomizedCollection object will be instantiated and called as such: + * RandomizedCollection obj = new RandomizedCollection(); + * bool param_1 = obj.insert(val); + * bool param_2 = obj.remove(val); + * int param_3 = obj.getRandom(); + */ From 4eb48060d3ef468f9463b7a7e99729223fd37e1a Mon Sep 17 00:00:00 2001 From: huangxiaofei Date: Wed, 31 Aug 2016 10:47:51 +0800 Subject: [PATCH 068/256] =?UTF-8?q?=09modified:=20=20=20algorithms/cpp/max?= =?UTF-8?q?imumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp=20=09?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=20max=20=E5=87=BD=E6=95=B0=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E9=80=92=E5=BD=92=20=E7=B2=BE=E7=AE=80=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp b/algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp index e33d6020d..c80336281 100644 --- a/algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp +++ b/algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp @@ -40,3 +40,11 @@ class Solution { } }; + +class Solution2 { +public: + int maxDepth(TreeNode *root) { + if (root==NULL) return 0; + return max(maxDepth(root->left), maxDepth(root->right)) + 1; + } +}; From 7f16adf18c6957452ac840b0833483ce78bcd0bf Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:11:56 +0800 Subject: [PATCH 069/256] add readme.sh script to help to generate the content in README.md for each problem --- scripts/README.md | 13 +++++++++++++ scripts/readme.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100755 scripts/readme.sh diff --git a/scripts/README.md b/scripts/README.md index 6972133fa..6349e5f00 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -44,3 +44,16 @@ The comments would be generated by above examples as below: ``` + +### readme.sh + +`readme.sh` - it's used to generate the table item in README.md + +For example: + +``` +$ ./readme.sh ../algorithms/cpp/nextPermutation/nextPermutation.cpp +|31|[Next Permutation](https://oj.leetcode.com/problems/next-permutation/) | [C++](./algorithms/cpp/nextPermutation/nextPermutation.cpp)|Medium| +``` + + diff --git a/scripts/readme.sh b/scripts/readme.sh new file mode 100755 index 000000000..356c9613c --- /dev/null +++ b/scripts/readme.sh @@ -0,0 +1,33 @@ +#!/bin/bash + + +function usage() +{ + + echo -e "Usage: ${0} [file]" + echo -e "" + echo -e "Example:" + echo -e "" + echo -e " ${0} ./LargestNumber.cpp" + echo -e "" +} + + + +if [ $# -lt 1 ] || [[ ! -f ${1} ]]; then + usage + exit 255 +fi + +DIR=`cd $(dirname ${1}) && pwd -P` +FILE=${DIR}/$(basename ${1}) + +URL=`grep Source ${FILE} | awk '{print $4}'` +title_str=`xidel ${URL} -q -e "css('div.question-title h3')"` +NUM=`echo ${title_str} | awk -F '.' '{print $1}'` +TITLE=`echo ${title_str} | awk -F '.' '{print $2}' | sed -e 's/^[[:space:]]*//'` +DIFFCULT=`xidel ${URL} -q -e "css('.question-info')" | grep Difficulty | awk '{print $2}'` + +FILE=`echo ${FILE} | sed "s/.*\/algorithms/\.\/algorithms/"` + +echo "|${NUM}|[${TITLE}](${URL}) | [C++](${FILE})|${DIFFCULT}|" From 1714519c336cdd5d8e7a316a92a4d1423f468122 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:15:02 +0800 Subject: [PATCH 070/256] New Problem Solution - "Find the Difference" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c74c0ea1..6e67769b3 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|389|[Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C++](./algorithms/cpp/findTheDifference/FindTheDifference.cpp)|Easy| |388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| |386|[Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/) | [C++](./algorithms/cpp/lexicographicalNumbers/LexicographicalNumbers.cpp)|Medium| From a4b191a6451e1d02afc476c078f4c093e3895dde Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:36:50 +0800 Subject: [PATCH 071/256] New Problem Solution "Elimination Game" --- README.md | 1 + .../cpp/eliminationGame/EliminationGame.cpp | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 algorithms/cpp/eliminationGame/EliminationGame.cpp diff --git a/README.md b/README.md index 6e67769b3..a4299d170 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|390|[Elimination Game](https://leetcode.com/contest/2/problems/elimination-game/) | [C++](./algorithms/cpp/eliminationGame/EliminationGame.cpp)|Medium| |389|[Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C++](./algorithms/cpp/findTheDifference/FindTheDifference.cpp)|Easy| |388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| diff --git a/algorithms/cpp/eliminationGame/EliminationGame.cpp b/algorithms/cpp/eliminationGame/EliminationGame.cpp new file mode 100644 index 000000000..3ec31cccb --- /dev/null +++ b/algorithms/cpp/eliminationGame/EliminationGame.cpp @@ -0,0 +1,41 @@ +// Source : https://leetcode.com/contest/2/problems/elimination-game/ +// Author : Hao Chen +// Date : 2016-09-07- + +/********************************************************************************** + * + * There is a list of sorted integers from 1 to n. Starting from left to right, remove the first number and every other + * number afterward until you reach the end of the list. + * + * Repeat the previous step again, but this time from right to left, remove the right most number and every other number + * from the remaining numbers. + * + * We keep repeating the steps again, alternating left to right and right to left, until a single number remains. + * + * Find the last number that remains starting with a list of length n. + * + * Example: + * + * Input: + * n = 9, + * 1 2 3 4 5 6 7 8 9 + * 2 4 6 8 + * 2 6 + * 6 + * + * Output: + * 6 +**********************************************************************************/ + +class Solution { +public: + int lastRemaining(int n) { + int start = 1, step = 1; + while (n > 1) { + start += step + (n-2)/2 * 2*step; + n /= 2; + step *= -2; + } + return start; + } +}; From 626efee459e33278a094efe945a25e2fac9ae2eb Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:39:42 +0800 Subject: [PATCH 072/256] New Problem Solution "Perfect Rectangle" --- README.md | 1 + .../cpp/perfectRectangle/PerfectRectangle.cpp | 80 +++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 algorithms/cpp/perfectRectangle/PerfectRectangle.cpp diff --git a/README.md b/README.md index a4299d170..a713f20fc 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/) | [C++](./algorithms/cpp/perfectRectangle/PerfectRectangle.cpp)|Hard| |390|[Elimination Game](https://leetcode.com/contest/2/problems/elimination-game/) | [C++](./algorithms/cpp/eliminationGame/EliminationGame.cpp)|Medium| |389|[Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C++](./algorithms/cpp/findTheDifference/FindTheDifference.cpp)|Easy| |388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| diff --git a/algorithms/cpp/perfectRectangle/PerfectRectangle.cpp b/algorithms/cpp/perfectRectangle/PerfectRectangle.cpp new file mode 100644 index 000000000..453020c6e --- /dev/null +++ b/algorithms/cpp/perfectRectangle/PerfectRectangle.cpp @@ -0,0 +1,80 @@ +// Source : https://leetcode.com/problems/perfect-rectangle/ +// Author : Hao Chen +// Date : 2016-09-08 + +/*************************************************************************************** + * + * Given N axis-aligned rectangles where N > 0, determine if they all together form an + * exact cover of a rectangular region. + * + * Each rectangle is represented as a bottom-left point and a top-right point. For + * example, a unit square is represented as [1,1,2,2]. (coordinate of bottom-left point + * is (1, 1) and top-right point is (2, 2)). + * + * Example 1: + * + * rectangles = [ + * [1,1,3,3], + * [3,1,4,2], + * [3,2,4,4], + * [1,3,2,4], + * [2,3,3,4] + * ] + * + * Return true. All 5 rectangles together form an exact cover of a rectangular region. + * + * Example 2: + * + * rectangles = [ + * [1,1,2,3], + * [1,3,2,4], + * [3,1,4,2], + * [3,2,4,4] + * ] + * + * Return false. Because there is a gap between the two rectangular regions. + * + * Example 3: + * + * rectangles = [ + * [1,1,3,3], + * [3,1,4,2], + * [1,3,2,4], + * [3,2,4,4] + * ] + * + * Return false. Because there is a gap in the top center. + * + * Example 4: + * + * rectangles = [ + * [1,1,3,3], + * [3,1,4,2], + * [1,3,2,4], + * [2,2,4,4] + * ] + * + * Return false. Because two of the rectangles overlap with each other. + ***************************************************************************************/ + + +class Solution { +public: + bool isRectangleCover(vector>& rectangles) { + unordered_map mp; + string corners[4]; + for(auto v: rectangles) + for(int i = 0; i<4; ++i){ + corners[i] = to_string(v[i/2*2]) + "," + to_string(v[(i%2)*2+1]); + if(mp[corners[i]] & int(pow(2,i))) return false; + else mp[corners[i]] |= int(pow(2,i)); + } + int corner = 0; + for(auto i=mp.begin(); i!=mp.end(); ++i){ + int val = i->second; + if(!(val & (val-1)) && (++corner >4)) return false; + if((val & (val-1)) && !(val == 3 || val==12 || val==10 || val==5 || val==15)) return false; + } + return true; + } +}; From ea1a2130970c01484a69ce9cae3c436075c6e0ac Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:42:00 +0800 Subject: [PATCH 073/256] New Problem "Is Subsequence" --- README.md | 1 + .../cpp/isSubsequence/IsSubsequence.cpp | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 algorithms/cpp/isSubsequence/IsSubsequence.cpp diff --git a/README.md b/README.md index a713f20fc..245b5ca9d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|392|[Is Subsequence](https://leetcode.com/problems/is-subsequence/) | [C++](./algorithms/cpp/isSubsequence/IsSubsequence.cpp)|Medium| |391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/) | [C++](./algorithms/cpp/perfectRectangle/PerfectRectangle.cpp)|Hard| |390|[Elimination Game](https://leetcode.com/contest/2/problems/elimination-game/) | [C++](./algorithms/cpp/eliminationGame/EliminationGame.cpp)|Medium| |389|[Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C++](./algorithms/cpp/findTheDifference/FindTheDifference.cpp)|Easy| diff --git a/algorithms/cpp/isSubsequence/IsSubsequence.cpp b/algorithms/cpp/isSubsequence/IsSubsequence.cpp new file mode 100644 index 000000000..e2cd88371 --- /dev/null +++ b/algorithms/cpp/isSubsequence/IsSubsequence.cpp @@ -0,0 +1,50 @@ +// Source : https://leetcode.com/problems/is-subsequence/ +// Author : Hao Chen +// Date : 2016-09-08 + +/*************************************************************************************** + * + * Given a string s and a string t, check if s is subsequence of t. + * + * You may assume that there is only lower case English letters in both s and t. t is + * potentially a very long (length ~= 500,000) string, and s is a short string ( + * + * A subsequence of a string is a new string which is formed from the original string + * by deleting some (can be none) of the characters without disturbing the relative + * positions of the remaining characters. (ie, "ace" is a subsequence of "abcde" while + * "aec" is not). + * + * Example 1: + * s = "abc", t = "ahbgdc" + * + * Return true. + * + * Example 2: + * s = "axc", t = "ahbgdc" + * + * Return false. + * + * Follow up: + * If there are lots of incoming S, say S1, S2, ... , Sk where k >= 1B, and you want to + * check one by one to see if T has its subsequence. In this scenario, how would you + * change your code? + ***************************************************************************************/ + +class Solution { +public: + bool isSubsequence(string s, string t) { + if (s.size() <= 0) return true; + + int ps=0, pt=0; + while (pt < t.size()) { + if (s[ps] == t[pt]) { + ps++; pt++; + if (ps >= s.size()) return true; + }else { + pt++; + } + } + + return false; + } +}; From cfe88095df073fee7f44cf2b9a02cf294861dc58 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:44:30 +0800 Subject: [PATCH 074/256] New Problem Solution "UTF-8 Validation" --- README.md | 1 + .../cpp/UTF8Validation/UTF8Validation.cpp | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 algorithms/cpp/UTF8Validation/UTF8Validation.cpp diff --git a/README.md b/README.md index 245b5ca9d..f35d70e5f 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/) | [C++](./algorithms/cpp/UTF8Validation/UTF8Validation.cpp)|Medium| |392|[Is Subsequence](https://leetcode.com/problems/is-subsequence/) | [C++](./algorithms/cpp/isSubsequence/IsSubsequence.cpp)|Medium| |391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/) | [C++](./algorithms/cpp/perfectRectangle/PerfectRectangle.cpp)|Hard| |390|[Elimination Game](https://leetcode.com/contest/2/problems/elimination-game/) | [C++](./algorithms/cpp/eliminationGame/EliminationGame.cpp)|Medium| diff --git a/algorithms/cpp/UTF8Validation/UTF8Validation.cpp b/algorithms/cpp/UTF8Validation/UTF8Validation.cpp new file mode 100644 index 000000000..619b8ab63 --- /dev/null +++ b/algorithms/cpp/UTF8Validation/UTF8Validation.cpp @@ -0,0 +1,86 @@ +// Source : https://leetcode.com/problems/utf-8-validation/ +// Author : Hao Chen +// Date : 2016-09-08 + +/*************************************************************************************** + * + * A character in UTF8 can be from 1 to 4 bytes long, subjected to the following rules: + * + * For 1-byte character, the first bit is a 0, followed by its unicode code. + * For n-bytes character, the first n-bits are all one's, the n+1 bit is 0, followed by + * n-1 bytes with most significant 2 bits being 10. + * + * This is how the UTF-8 encoding would work: + * + * Char. number range | UTF-8 octet sequence + * --------------------+--------------------------------------------- + * 0000 0000-0000 007F | 0xxxxxxx + * 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + * 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + * 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Given an array of integers representing the data, return whether it is a valid utf-8 + * encoding. + * + * Note: + * The input is an array of integers. Only the least significant 8 bits of each integer + * is used to store the data. This means each integer represents only 1 byte of data. + * + * Example 1: + * + * data = [197, 130, 1], which represents the octet sequence: 11000101 10000010 + * 00000001. + * + * Return true. + * It is a valid utf-8 encoding for a 2-bytes character followed by a 1-byte character. + * + * Example 2: + * + * data = [235, 140, 4], which represented the octet sequence: 11101011 10001100 + * 00000100. + * + * Return false. + * The first 3 bits are all one's and the 4th bit is 0 means it is a 3-bytes character. + * The next byte is a continuation byte which starts with 10 and that's correct. + * But the second continuation byte does not start with 10, so it is invalid. + ***************************************************************************************/ + + +class Solution { +public: + bool validUtf8(vector& data) { + int i = 0; + while ( i < data.size() ) { + if ( (data[i] & 0x80) == 0 ){ + i++; + continue; + } + + int len = 0; + if ( (data[i] & 0xE0) == 0xC0 ) { // checking 110xxxxx + len = 2; + }else if ( (data[i] & 0xF0) == 0xE0) { // checking 1110xxxx + len = 3; + }else if ( (data[i] & 0xF8) == 0xF0) { // checking 11110xxx + len = 4; + }else { + return false; + } + + + for (int j=i+1; j < i+len; j++) { //checking 10xxxxxx + if ( (data[j] & 0xC0) != 0x80 ) { + return false; + } + } + + i += len ; + + if (i > data.size()) { + return false; + } + + } + return true; + } +}; From 2f3a77de45a6addf7aae3fb6988e8422a7a3eb6c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 8 Sep 2016 01:48:16 +0800 Subject: [PATCH 075/256] New Problem Solution"Longest Substring with At Least K Repeating Characters" --- README.md | 2 + algorithms/cpp/decodeString/DecodeString.cpp | 105 +++++++++++++++++ ...bstringWithAtLeastKRepeatingCharacters.cpp | 109 ++++++++++++++++++ 3 files changed, 216 insertions(+) create mode 100644 algorithms/cpp/decodeString/DecodeString.cpp create mode 100644 algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp diff --git a/README.md b/README.md index f35d70e5f..2e477c439 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|395|[Longest Substring with At Least K Repeating Characters](https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/) | [C++](./algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp)|Medium| +|394|[Decode String](https://leetcode.com/problems/decode-string/) | [C++](./algorithms/cpp/decodeString/DecodeString.cpp)|Medium| |393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/) | [C++](./algorithms/cpp/UTF8Validation/UTF8Validation.cpp)|Medium| |392|[Is Subsequence](https://leetcode.com/problems/is-subsequence/) | [C++](./algorithms/cpp/isSubsequence/IsSubsequence.cpp)|Medium| |391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/) | [C++](./algorithms/cpp/perfectRectangle/PerfectRectangle.cpp)|Hard| diff --git a/algorithms/cpp/decodeString/DecodeString.cpp b/algorithms/cpp/decodeString/DecodeString.cpp new file mode 100644 index 000000000..677818981 --- /dev/null +++ b/algorithms/cpp/decodeString/DecodeString.cpp @@ -0,0 +1,105 @@ +// Source : https://leetcode.com/problems/decode-string/ +// Author : Hao Chen +// Date : 2016-09-08 + +/*************************************************************************************** + * + * Given an encoded string, return it's decoded string. + * + * The encoding rule is: k[encoded_string], where the encoded_string inside the square + * brackets is being repeated exactly k times. Note that k is guaranteed to be a + * positive integer. + * + * You may assume that the input string is always valid; No extra white spaces, square + * brackets are well-formed, etc. + * + * Furthermore, you may assume that the original data does not contain any digits and + * that digits are only for those repeat numbers, k. For example, there won't be input + * like 3a or 2[4]. + * + * Examples: + * + * s = "3[a]2[bc]", return "aaabcbc". + * s = "3[a2[c]]", return "accaccacc". + * s = "2[abc]3[cd]ef", return "abcabccdcdcdef". + ***************************************************************************************/ + +class Solution { +public: + string decodeString(string s) { + if (!isValid(s)) return ""; + + stack _stack; + stack _nstack; + + string result; + string tmp; + int n=0; + for (int i=0; i0; n--) { + tmp += _stack.top(); + } + _stack.pop(); + _nstack.pop(); + if ( ! _stack.empty() ) { + _stack.top() += tmp; + }else { + result += tmp; + } + } else { + if ( ! _stack.empty() ) { + _stack.top() += s[i]; + } else { + result += s[i]; + } + + } + } + + return result; + } + +private: + + //only check the following rules: + // 1) the number must be followed by '[' + // 2) the '[' and ']' must be matched. + bool isValid(string& s) { + stack _stack; + for (int i=0; i='0' && ch<='9'); + } +}; + diff --git a/algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp b/algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp new file mode 100644 index 000000000..59c8c4f32 --- /dev/null +++ b/algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp @@ -0,0 +1,109 @@ +// Source : https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/ +// Author : Hao Chen +// Date : 2016-09-08 + +/*************************************************************************************** + * + * Find the length of the longest substring T of a given string (consists of lowercase + * letters only) such that every character in T appears no less than k times. + * + * Example 1: + * + * Input: + * s = "aaabb", k = 3 + * + * Output: + * 3 + * + * The longest substring is "aaa", as 'a' is repeated 3 times. + * + * Example 2: + * + * Input: + * s = "ababbc", k = 2 + * + * Output: + * 5 + * + * The longest substring is "ababb", as 'a' is repeated 2 times and 'b' is repeated 3 + * times. + ***************************************************************************************/ + +const int NO_OF_CHARS = 256; + +/* if every character appears at least k times, the whole string is ok. + * Otherwise split by a least frequent character. + * + * Because it will always be too infrequent and thus can't be part of any ok substring + * and make the most out of the splits. + */ + + +class Solution { +public: + int longestSubstring(string s, int k) { + + //deal with edge cases + if (s.size() == 0 || s.size() < k) return 0; + if (k==1) return s.size(); + + //declare a map for every char's counter + int count[NO_OF_CHARS]; + memset(count , 0, sizeof(count)); + + //counting every char + for (char ch : s) { + count[ch]++; + } + + int i=0; + for ( i=0; i= NO_OF_CHARS ) return s.size(); + + // find the most infrequent char + char least = 0; + for (int c = 0; c < NO_OF_CHARS; c++) { + if (count[c] == 0) continue; + if (least == 0) { + least = c; + } else if ( count[c] < count[least]) { + least = c; + } + } + + //split the string and run them recursively + vector subs; + split(s, least, subs); + + int res = 0; + for (string str: subs) { + res = max(res, longestSubstring(str, k)); + } + return res; + return 0; + } + +private: + + inline int max(int x, int y) { return x>y? x:y; } + + inline void split(const string &s, char delim, vector &elems) { + stringstream ss; + ss.str(s); + string item; + while (getline(ss, item, delim)) { + cout << item << endl; + elems.push_back(item); + } + } + + + inline vector split(const string &s, char delim) { + vector elems; + split(s, delim, elems); + return elems; + } +}; From 2d433dd8ddf22e4235cbdea3517f03be7dfd382e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 2 Nov 2016 23:35:39 +0800 Subject: [PATCH 076/256] correct the URL of "Elimination Game" --- README.md | 2 +- algorithms/cpp/eliminationGame/EliminationGame.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2e477c439..cca69ca28 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ LeetCode |393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/) | [C++](./algorithms/cpp/UTF8Validation/UTF8Validation.cpp)|Medium| |392|[Is Subsequence](https://leetcode.com/problems/is-subsequence/) | [C++](./algorithms/cpp/isSubsequence/IsSubsequence.cpp)|Medium| |391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/) | [C++](./algorithms/cpp/perfectRectangle/PerfectRectangle.cpp)|Hard| -|390|[Elimination Game](https://leetcode.com/contest/2/problems/elimination-game/) | [C++](./algorithms/cpp/eliminationGame/EliminationGame.cpp)|Medium| +|390|[Elimination Game](https://leetcode.com/problems/elimination-game/) | [C++](./algorithms/cpp/eliminationGame/EliminationGame.cpp)|Medium| |389|[Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C++](./algorithms/cpp/findTheDifference/FindTheDifference.cpp)|Easy| |388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/) | [C++](./algorithms/cpp/longestAbsoluteFilePath/LongestAbsoluteFilePath.cpp)|Medium| |387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/) | [C++](./algorithms/cpp/firstUniqueCharacterInAString/FirstUniqueCharacterInAString.cpp)|Easy| diff --git a/algorithms/cpp/eliminationGame/EliminationGame.cpp b/algorithms/cpp/eliminationGame/EliminationGame.cpp index 3ec31cccb..386c985fd 100644 --- a/algorithms/cpp/eliminationGame/EliminationGame.cpp +++ b/algorithms/cpp/eliminationGame/EliminationGame.cpp @@ -1,4 +1,4 @@ -// Source : https://leetcode.com/contest/2/problems/elimination-game/ +// Source : https://leetcode.com/problems/elimination-game // Author : Hao Chen // Date : 2016-09-07- From 421189eaa41682111e5295b0ff877b07c8eeac5f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 3 Nov 2016 00:21:41 +0800 Subject: [PATCH 077/256] New Problem Solution "Rotate Function" --- README.md | 1 + .../cpp/rotateFunction/RotateFunction.cpp | 75 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 algorithms/cpp/rotateFunction/RotateFunction.cpp diff --git a/README.md b/README.md index cca69ca28..17b4791e9 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|396|[Rotate Function](https://leetcode.com/problems/rotate-function/) | [C++](./algorithms/cpp/rotateFunction/RotateFunction.cpp)|Easy| |395|[Longest Substring with At Least K Repeating Characters](https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/) | [C++](./algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp)|Medium| |394|[Decode String](https://leetcode.com/problems/decode-string/) | [C++](./algorithms/cpp/decodeString/DecodeString.cpp)|Medium| |393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/) | [C++](./algorithms/cpp/UTF8Validation/UTF8Validation.cpp)|Medium| diff --git a/algorithms/cpp/rotateFunction/RotateFunction.cpp b/algorithms/cpp/rotateFunction/RotateFunction.cpp new file mode 100644 index 000000000..c8897dd27 --- /dev/null +++ b/algorithms/cpp/rotateFunction/RotateFunction.cpp @@ -0,0 +1,75 @@ +// Source : https://leetcode.com/problems/rotate-function/ +// Author : Hao Chen +// Date : 2016-11-03 + +/*************************************************************************************** + * + * Given an array of integers A and let n to be its length. + * + * Assume Bk to be an array obtained by rotating the array A k positions clock-wise, we + * define a "rotation function" F on A as follow: + * + * F(k) = 0 * Bk[0] + 1 * Bk[1] + ... + (n-1) * Bk[n-1]. + * + * Calculate the maximum value of F(0), F(1), ..., F(n-1). + * + * Note: + * n is guaranteed to be less than 105. + * + * Example: + * + * A = [4, 3, 2, 6] + * + * F(0) = (0 * 4) + (1 * 3) + (2 * 2) + (3 * 6) = 0 + 3 + 4 + 18 = 25 + * F(1) = (0 * 6) + (1 * 4) + (2 * 3) + (3 * 2) = 0 + 4 + 6 + 6 = 16 + * F(2) = (0 * 2) + (1 * 6) + (2 * 4) + (3 * 3) = 0 + 6 + 8 + 9 = 23 + * F(3) = (0 * 3) + (1 * 2) + (2 * 6) + (3 * 4) = 0 + 2 + 12 + 12 = 26 + * + * So the maximum value of F(0), F(1), F(2), F(3) is F(3) = 26. + ***************************************************************************************/ + + +// +// Asumming we have 4 numbers: a, b, c, d, then +// F(0) = 0a + 1b + 2c + 3d +// F(1) = 3a + 0b + 1c + 2d +// F(2) = 2a + 3b + 0c + 1d +// F(3) = 1a + 2b + 3c + 0d +// +// We can see how F(n) transfrom to F(n+1) +// F(0) - F(1) = -3a + b + c + d +// F(1) - F(2) = a + -3b + c + d +// F(2) - F(3) = a + b + -3c + d +// F(3) - F(0) = a + b + c + -3d +// +// So, we can tansfrom to the following experssion: +// +// F(1) = F(0) - (a+b+c+d) + 4a +// F(2) = F[1] - (a+b+c+d) + 4b +// F(3) = F[2] - (a+b+c+d) + 4c +// +// Then, we can see this fomular: +// +// F(n) = F(n-1) - sum(array) + len(array) * array[n-1] +// +class Solution { +public: + int maxRotateFunction(vector& A) { + int sum = 0; + int F = 0; + for (int i=0; i < A.size(); i++) { + sum += A[i]; + F += (i * A[i]); + } + int maxF = F; + int len = A.size(); + //cout << "F(0) = " << maxF < 4 -> 2 -> 1 + * + * Example 2: + * + * Input: + * 7 + * + * Output: + * 4 + * + * Explanation: + * 7 -> 8 -> 4 -> 2 -> 1 + * or + * 7 -> 6 -> 3 -> 2 -> 1 + ***************************************************************************************/ + +class Solution { +public: + + + int integerReplacement_recursion(int n) { + if ( n <= 1) return 0; // recursive exited point + if ( n == INT_MAX ) return 32; // special case to avoid integer overflow. + if ( n % 2 == 0 ) return integerReplacement(n/2) + 1; + return min( integerReplacement(n+1), integerReplacement(n-1) ) + 1; + } + + int integerReplacement_recursionWithCache(int n) { + static unordered_map cache; + //if hitted the cache, just return the result + if (cache.find(n) != cache.end()) return cache[n]; + + int result; + if ( n <= 1) return 0; // recursive exited point + if ( n == INT_MAX ) return 32; // special case to avoid integer overflow. + if ( n % 2 == 0 ) result = integerReplacement(n/2) + 1; + else result = min( integerReplacement(n+1), integerReplacement(n-1) ) + 1; + + //add into cache + cache[n] = result; + return result; + } + + int integerReplacement(int n) { + return integerReplacement_recursionWithCache(n); + } +}; From 51a06242815f98fd443869ac9b909d1d1797d1ba Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 4 Nov 2016 08:36:43 +0800 Subject: [PATCH 079/256] New Problem Solution "Random Pick Index" --- README.md | 1 + .../cpp/randomPickIndex/RandomPickIndex.cpp | 54 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 algorithms/cpp/randomPickIndex/RandomPickIndex.cpp diff --git a/README.md b/README.md index 35eb1acb7..dd68c3dc4 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/) | [C++](./algorithms/cpp/randomPickIndex/RandomPickIndex.cpp)|Medium| |397|[Integer Replacement](https://leetcode.com/problems/integer-replacement/) | [C++](./algorithms/cpp/integerReplacement/IntegerReplacement.cpp)|Medium| |396|[Rotate Function](https://leetcode.com/problems/rotate-function/) | [C++](./algorithms/cpp/rotateFunction/RotateFunction.cpp)|Easy| |395|[Longest Substring with At Least K Repeating Characters](https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/) | [C++](./algorithms/cpp/longestSubstringWithAtLeastKRepeatingCharacters/LongestSubstringWithAtLeastKRepeatingCharacters.cpp)|Medium| diff --git a/algorithms/cpp/randomPickIndex/RandomPickIndex.cpp b/algorithms/cpp/randomPickIndex/RandomPickIndex.cpp new file mode 100644 index 000000000..f06f43ab3 --- /dev/null +++ b/algorithms/cpp/randomPickIndex/RandomPickIndex.cpp @@ -0,0 +1,54 @@ +// Source : https://leetcode.com/problems/random-pick-index/ +// Author : Hao Chen +// Date : 2016-11-04 + +/*************************************************************************************** + * + * Given an array of integers with possible duplicates, randomly output the index of a + * given target number. You can assume that the given target number must exist in the + * array. + * + * Note: + * The array size can be very large. Solution that uses too much extra space will not + * pass the judge. + * + * Example: + * + * int[] nums = new int[] {1,2,3,3,3}; + * Solution solution = new Solution(nums); + * + * // pick(3) should return either index 2, 3, or 4 randomly. Each index should have + * equal probability of returning. + * solution.pick(3); + * + * // pick(1) should return 0. Since in the array only nums[0] is equal to 1. + * solution.pick(1); + ***************************************************************************************/ + +class Solution { +private: + vector nums; +public: + Solution(vector nums) { + srand(time(0)); + this->nums = nums; + } + + int pick(int target) { + // we just randomly pick a number from the array, + // if the number is target just return the index. + // otherwise, keep picking the number randomly. + while(true) { + int idx = rand() % nums.size(); + if ( target == nums[idx] ) { + return idx; + } + } + } +}; + +/** + * Your Solution object will be instantiated and called as such: + * Solution obj = new Solution(nums); + * int param_1 = obj.pick(target); + */ From f9e16a7fa7e362dfc4b0721a59625a4cc2dbe5ca Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 5 Nov 2016 00:51:36 +0800 Subject: [PATCH 080/256] New Problem Solution "Evaluate Division" --- README.md | 1 + .../cpp/evaluateDivision/EvaluateDivision.cpp | 93 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 algorithms/cpp/evaluateDivision/EvaluateDivision.cpp diff --git a/README.md b/README.md index dd68c3dc4..78eecabf2 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/) | [C++](./algorithms/cpp/evaluateDivision/EvaluateDivision.cpp)|Medium| |398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/) | [C++](./algorithms/cpp/randomPickIndex/RandomPickIndex.cpp)|Medium| |397|[Integer Replacement](https://leetcode.com/problems/integer-replacement/) | [C++](./algorithms/cpp/integerReplacement/IntegerReplacement.cpp)|Medium| |396|[Rotate Function](https://leetcode.com/problems/rotate-function/) | [C++](./algorithms/cpp/rotateFunction/RotateFunction.cpp)|Easy| diff --git a/algorithms/cpp/evaluateDivision/EvaluateDivision.cpp b/algorithms/cpp/evaluateDivision/EvaluateDivision.cpp new file mode 100644 index 000000000..bd6d06ba8 --- /dev/null +++ b/algorithms/cpp/evaluateDivision/EvaluateDivision.cpp @@ -0,0 +1,93 @@ +// Source : https://leetcode.com/problems/evaluate-division/ +// Author : Hao Chen +// Date : 2016-11-05 + +/*************************************************************************************** + * + * Equations are given in the format A / B = k, where A and B are variables + * represented as strings, and k is a real number (floating point number). Given some + * queries, return the answers. If the answer does not exist, return -1.0. + * + * Example: + * Given a / b = 2.0, b / c = 3.0. queries are: a / c = ?, b / a = ?, a / e = ?, a + * / a = ?, x / x = ? . return [6.0, 0.5, -1.0, 1.0, -1.0 ]. + * + * The input is: vector> equations, vector& values, + * vector> queries , where equations.size() == values.size(), and + * the values are positive. This represents the equations. Return vector. + * + * According to the example above: + * equations = [ ["a", "b"], ["b", "c"] ], + * values = [2.0, 3.0], + * queries = [ ["a", "c"], ["b", "a"], ["a", "e"], ["a", "a"], ["x", "x"] ]. + * + * The input is always valid. You may assume that evaluating the queries will result in + * no division by zero and there is no contradiction. + ***************************************************************************************/ + +class Solution { +private: + bool dfs( unordered_map>& m, + unordered_map& visited, + string& start, string& end, double& res ) { + + if ( m.find(start) == m.end() || m.find(end) == m.end() ) return false; + if ( start == end ) return true; + + for (auto it = m[start].begin(); it != m[start].end(); ++it) { + + auto key = it->first; + auto value = it->second; + + // already visited, skip it. + if (visited.find(key) != visited.end() ) { + continue; + } + + visited[key] = true; + double old = res; + res *= value; + + if (dfs(m, visited, key, end, res)) { + return true; + } + //didn't find the result, reset the current result, and go to next one + res = old; + visited.erase(key); + } + + return false; + } +public: + vector calcEquation(vector> equations, + vector& values, + vector> queries) { + + unordered_map> m; + for(int i=0; i result; + for(auto q : queries) { + string start = q.first; + string end = q.second; + + unordered_map visited; + visited[start] = true; + double res = 1.0; + + if(dfs(m, visited, start, end, res)) { + result.push_back(res); + } else { + result.push_back(-1.0); + } + } + + return result; + } +}; From fa4d3f6424d403a3e798d475ff326ffdec90a615 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 5 Nov 2016 14:57:57 +0800 Subject: [PATCH 081/256] New Problem Solution "Nth Digit" --- README.md | 1 + algorithms/cpp/nthDigit/NthDigit.cpp | 99 ++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 algorithms/cpp/nthDigit/NthDigit.cpp diff --git a/README.md b/README.md index 78eecabf2..eb3488d53 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|400|[Nth Digit](https://leetcode.com/problems/nth-digit/) | [C++](./algorithms/cpp/nthDigit/NthDigit.cpp)|Easy| |399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/) | [C++](./algorithms/cpp/evaluateDivision/EvaluateDivision.cpp)|Medium| |398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/) | [C++](./algorithms/cpp/randomPickIndex/RandomPickIndex.cpp)|Medium| |397|[Integer Replacement](https://leetcode.com/problems/integer-replacement/) | [C++](./algorithms/cpp/integerReplacement/IntegerReplacement.cpp)|Medium| diff --git a/algorithms/cpp/nthDigit/NthDigit.cpp b/algorithms/cpp/nthDigit/NthDigit.cpp new file mode 100644 index 000000000..1351f2a84 --- /dev/null +++ b/algorithms/cpp/nthDigit/NthDigit.cpp @@ -0,0 +1,99 @@ +// Source : https://leetcode.com/problems/nth-digit/ +// Author : Hao Chen +// Date : 2016-11-05 + +/*************************************************************************************** + * + * Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + * 11, ... + * + * Note: + * n is positive and will fit within the range of a 32-bit signed integer (n 31). + * + * Example 1: + * + * Input: + * 3 + * + * Output: + * 3 + * + * Example 2: + * + * Input: + * 11 + * + * Output: + * 0 + * + * Explanation: + * The 11th digit of the sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... is a 0, which + * is part of the number 10. + ***************************************************************************************/ + + +#include +using namespace std; + +class Solution { +public: + int findNthDigit(int n) { + + // We can see the following pattern: + // + // 1, 2, .... 9 : there are 9 * 1 digits. + // 10, 11, ..., 99: there are 90 * 2 digits. + // 101, 102, 103, ..., 999: there are 900 * 3. + // ... + + + //we can count the digits with the above pattern + long digits_cnt = 0; + long digits_cnt_prev = 0; + int base = 0; + for ( ; digits_cnt < n; base++) { + digits_cnt_prev = digits_cnt; + digits_cnt = digits_cnt + 9 * pow(10 , base) * ( base + 1 ); + } + + + // Now, we got `digits_cnt_prev`, `digits_cnt` and `base` + // + // For examples: + // n = 20; digits_cnt_prev = 9, digits_cnt = 9+90*2 = 189, base = 2; + // n = 500; digits_cnt_prev = 9+90*2 = 189, digits_cnt = 9+90*2+900*3 = 2889, base = 3; + // n = 2000; digits_cnt_prev = 9+90*2 = 189, digits_cnt = 9+90*2+900*3 = 2889, base = 3; + // + // It means, we found the range where the number it is + // n = 20, the number located in the range 10 -- 99 + // n = 500, the number located in the range 100 - 999 + // + // and we can use `digits_cnt_prev` to know the previous rangs produce how many digits. + // n = 20, the previous ranges produce 9 digits, so there needs 20-9 = 11 digits in [10 - 99] + // n = 500, the previous ranges produce 189 digits, so there needs 500-189 = 311 digits in [100-999] + // + // the `base` told us in current ranges, each number can have how many digits. + // then we can locate the target number. + // n = 20, + // (n - digits_cnt_prev) / base = (20 - 9 ) / 2 = 5, so, [10 - 14] produces 10 digits (ZERO-based), + // now, we have 1 digits left, it is the first digit of the target number 15. + // + // n = 500, + // (n - digits_cnt_prev) / base = (500 - 189) / 3 = 103, so, [100 - 202] produces 309 digits(ZERO-based). + // now, we have (500 - 189 - 309) = 2 digits left, it is the second digit of the target number 203. + // + // We can write the code now... + // + int target = pow(10, base-1) + (n - digits_cnt_prev) / base - 1; + int left = n - digits_cnt_prev - (n - digits_cnt_prev) / base * base; + + //cout << "target = " << target << ", left = " << left << endl; + + //no digits left + if ( left == 0 ) return (target) % 10; + + //still have some digits left, it should be in next number. + target++; + return int( target / pow(10, base - left) ) % 10; + } +}; From 4285701161157918ec90e1842edf275d0c7470cb Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 5 Nov 2016 22:23:05 +0800 Subject: [PATCH 082/256] New Problem Solution "Binary Watch" --- README.md | 1 + algorithms/cpp/binaryWatch/BinaryWatch.cpp | 111 +++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 algorithms/cpp/binaryWatch/BinaryWatch.cpp diff --git a/README.md b/README.md index eb3488d53..38d910633 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| |400|[Nth Digit](https://leetcode.com/problems/nth-digit/) | [C++](./algorithms/cpp/nthDigit/NthDigit.cpp)|Easy| |399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/) | [C++](./algorithms/cpp/evaluateDivision/EvaluateDivision.cpp)|Medium| |398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/) | [C++](./algorithms/cpp/randomPickIndex/RandomPickIndex.cpp)|Medium| diff --git a/algorithms/cpp/binaryWatch/BinaryWatch.cpp b/algorithms/cpp/binaryWatch/BinaryWatch.cpp new file mode 100644 index 000000000..14fce05c3 --- /dev/null +++ b/algorithms/cpp/binaryWatch/BinaryWatch.cpp @@ -0,0 +1,111 @@ +// Source : https://leetcode.com/problems/binary-watch/ +// Author : Hao Chen +// Date : 2016-11-05 + +/*************************************************************************************** + * + * A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 + * LEDs on the bottom represent the minutes (0-59). + * Each LED represents a zero or one, with the least significant bit on the right. + * + * For example, the above binary watch reads "3:25". + * + * Given a non-negative integer n which represents the number of LEDs that are + * currently on, return all possible times the watch could represent. + * + * Example: + * Input: n = 1Return: ["1:00", "2:00", "4:00", "8:00", "0:01", "0:02", "0:04", "0:08", + * "0:16", "0:32"] + * + * Note: + * + * The order of output does not matter. + * The hour must not contain a leading zero, for example "01:00" is not valid, it + * should be "1:00". + * The minute must be consist of two digits and may contain a leading zero, for example + * "10:2" is not valid, it should be "10:02". + ***************************************************************************************/ + +class Solution { +private: + void combination(int len, int n, int max, bool zero, + int start, int k, int solution, + vector>& result) { + if (solution > max){ + return; + } + if (k == 0) { + char tmp[5] = ""; + if (zero) { + sprintf(tmp, "%02d", solution); + }else{ + sprintf(tmp, "%d", solution); + } + result[n].push_back(tmp); + return; + } + for (int i=start; i<=len-k; i++) { + solution += pow(2, i); + combination(len, n, max, zero, i+1, k-1, solution, result); + solution -= pow(2, i); + } + } + + void generate_combination(int nLED, int max, bool zero, vector>& result) { + for (int i=0; i>& vv) { + for(auto v : vv) { + cout << "[ "; + for (auto i : v) { + cout << i << " "; + } + cout << "]" << endl; + } + } + +private: + vector> hour; + vector> mins; + +public: + + Solution():hour(4, vector()), mins(6, vector()){ + generate_combination(4, 11, false, hour); + //print(hour); + //[ 0 ] + //[ 1 2 4 8 ] + //[ 3 5 9 6 10 ] + //[ 7 11 ] + + + generate_combination(6, 59, true, mins); + //print(mins); + //[ 00 ] + //[ 01 02 04 08 16 32 ] + //[ 03 05 09 17 33 06 10 18 34 12 20 36 24 40 48 ] + //[ 07 11 19 35 13 21 37 25 41 49 14 22 38 26 42 50 28 44 52 56 ] + //[ 15 23 39 27 43 51 29 45 53 57 30 46 54 58 ] + //[ 31 47 55 59 ] + } + + vector readBinaryWatch(int num) { + + vector result; + for (int i = 0; i <= 3 && i <= num; i++) { + if (num - i > 5) { + continue; + } + for (auto h : hour[i]) { + for (auto m : mins[num - i]) { + result.push_back( h + ":" + m ); + } + } + + } + return result; + } +}; From fff0041eae96ddec8619f7a4f3c2a27c0e73005c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 5 Nov 2016 22:31:23 +0800 Subject: [PATCH 083/256] make the variables name more sense --- algorithms/cpp/binaryWatch/BinaryWatch.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/algorithms/cpp/binaryWatch/BinaryWatch.cpp b/algorithms/cpp/binaryWatch/BinaryWatch.cpp index 14fce05c3..26c59425c 100644 --- a/algorithms/cpp/binaryWatch/BinaryWatch.cpp +++ b/algorithms/cpp/binaryWatch/BinaryWatch.cpp @@ -28,7 +28,7 @@ class Solution { private: - void combination(int len, int n, int max, bool zero, + void combination(int nLED, int nLight, int max, bool zero, int start, int k, int solution, vector>& result) { if (solution > max){ @@ -41,12 +41,12 @@ class Solution { }else{ sprintf(tmp, "%d", solution); } - result[n].push_back(tmp); + result[nLight].push_back(tmp); return; } - for (int i=start; i<=len-k; i++) { + for (int i=start; i<=nLED-k; i++) { solution += pow(2, i); - combination(len, n, max, zero, i+1, k-1, solution, result); + combination(nLED, nLight, max, zero, i+1, k-1, solution, result); solution -= pow(2, i); } } From a991e748671c06ff395873133eda01fd2affe945 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 11 Nov 2016 23:54:58 +0800 Subject: [PATCH 084/256] New Problem Solution - "Remove K Digits" --- README.md | 1 + .../cpp/removeKDigits/RemoveKDigits.cpp | 107 ++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 algorithms/cpp/removeKDigits/RemoveKDigits.cpp diff --git a/README.md b/README.md index 38d910633..60796f490 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| |400|[Nth Digit](https://leetcode.com/problems/nth-digit/) | [C++](./algorithms/cpp/nthDigit/NthDigit.cpp)|Easy| |399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/) | [C++](./algorithms/cpp/evaluateDivision/EvaluateDivision.cpp)|Medium| diff --git a/algorithms/cpp/removeKDigits/RemoveKDigits.cpp b/algorithms/cpp/removeKDigits/RemoveKDigits.cpp new file mode 100644 index 000000000..9b33cf5c4 --- /dev/null +++ b/algorithms/cpp/removeKDigits/RemoveKDigits.cpp @@ -0,0 +1,107 @@ +// Source : https://leetcode.com/problems/remove-k-digits/ +// Author : Hao Chen +// Date : 2016-11-11 + +/*************************************************************************************** + * + * Given a non-negative integer num represented as a string, remove k digits from the + * number so that the new number is the smallest possible. + * + * Note: + * + * The length of num is less than 10002 and will be ≥ k. + * The given num does not contain any leading zero. + * + * Example 1: + * + * Input: num = "1432219", k = 3 + * Output: "1219" + * Explanation: Remove the three digits 4, 3, and 2 to form the new number 1219 which + * is the smallest. + * + * Example 2: + * + * Input: num = "10200", k = 1 + * Output: "200" + * Explanation: Remove the leading 1 and the number is 200. Note that the output must + * not contain leading zeroes. + * + * Example 3: + * + * Input: num = "10", k = 2 + * Output: "0" + * Explanation: Remove all the digits from the number and it is left with nothing which + * is 0. + ***************************************************************************************/ + +class Solution { +public: + string removeKdigits_pick(string& num, int k) { + + int len = num.size(); + string result; + + int idx = 0; + for (int i=0; i < len - k; i++) { + int min_idx = idx; + for (int j=min_idx; j<=i+k; j++) { + if (num[min_idx] > num[j]) min_idx = j; + } + + //don't put zero at the beginning + if ( !(result.empty() && num[min_idx]=='0') ){ + result.push_back(num[min_idx]); + } + + //select the number started from next one, to make the order correctness. + idx = min_idx + 1; + } + + if (result.empty()) result = "0"; + return result; + } + + string removeKdigits_remove(string& num, int k) { + if ( num.size() <= k ) return "0"; + int left_len = num.size() - k; + int idx = 0; + for (int i=0; i num[j+1] ) { + num.erase(j, 1); + idx = j; + break; + } + } + } + + //remove all of ZEROs at the beginning. + for (int i=0; i<= num.size(); i++) { + if (num[i] != '0' || i == num.size()) { + num.erase(0, i); + break; + } + } + + // if the digits in the array are sorted, + // then, we need remove the digits at the ends. + if (num.size() > left_len ) { + num.erase(num.begin() + left_len, num.end()); + } + + if (num.empty()) num = "0"; + return num; + } + + string removeKdigits(string num, int k) { + srand(time(0)); + if (rand() % 2 ) { + return removeKdigits_pick(num, k); + } else { + return removeKdigits_remove(num, k); + } + } +}; From 24839cef7046bd94e519ad8f6a080f35cdecc433 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 00:17:28 +0800 Subject: [PATCH 085/256] New Problem Solution "Sum of Left Leaves" --- README.md | 1 + .../sumOfLeftLeaves/SumOfLeftLeaves.cpp | 71 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp diff --git a/README.md b/README.md index 60796f490..2e63a75ac 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| |402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| |400|[Nth Digit](https://leetcode.com/problems/nth-digit/) | [C++](./algorithms/cpp/nthDigit/NthDigit.cpp)|Easy| diff --git a/algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp b/algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp new file mode 100644 index 000000000..3db0ad26c --- /dev/null +++ b/algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp @@ -0,0 +1,71 @@ +// Source : https://leetcode.com/problems/sum-of-left-leaves/ +// Author : Hao Chen +// Date : 2016-11-12 + +/*************************************************************************************** + * + * Find the sum of all left leaves in a given binary tree. + * + * Example: + * + * 3 + * / \ + * 9 20 + * / \ + * 15 7 + * + * There are two left leaves in the binary tree, with values 9 and 15 respectively. + * Return 24. + ***************************************************************************************/ + +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode(int x) : val(x), left(NULL), right(NULL) {} + * }; + */ +class Solution { +public: + + + void sumOfLeftLeaves_recursion_v1(TreeNode* root, int& result) { + if (root == NULL ) { + return; + } + + if (root->left && root->left->left == NULL && root->left->right == NULL) { + result += root->left->val; + } + sumOfLeftLeaves_recursion_v1(root->left, result); + sumOfLeftLeaves_recursion_v1(root->right, result); + + } + + int sumOfLeftLeaves_recursion_v2(TreeNode* root) { + if (root == NULL ) { + return 0; + } + int result = 0; + if (root->left && root->left->left == NULL && root->left->right == NULL) { + result = root->left->val; + } + result += sumOfLeftLeaves_recursion_v2(root->left) + sumOfLeftLeaves_recursion_v2(root->right); + return result; + } + + + int sumOfLeftLeaves(TreeNode* root) { + srand(time(NULL)); + if (rand()%2) { + int result = 0; + sumOfLeftLeaves_recursion_v1(root, result); + return result; + } else { + return sumOfLeftLeaves_recursion_v2(root); + } + + } +}; From 51e3e7ff5d8e51e37e460a5d8656cb1e071637bb Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 00:31:03 +0800 Subject: [PATCH 086/256] fix: change the direcotry --- README.md | 2 +- .../cpp/{removeKDigits => }/sumOfLeftLeaves/SumOfLeftLeaves.cpp | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename algorithms/cpp/{removeKDigits => }/sumOfLeftLeaves/SumOfLeftLeaves.cpp (100%) diff --git a/README.md b/README.md index 2e63a75ac..36e9af9fa 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | -|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| +|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| |402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| |400|[Nth Digit](https://leetcode.com/problems/nth-digit/) | [C++](./algorithms/cpp/nthDigit/NthDigit.cpp)|Easy| diff --git a/algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp b/algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp similarity index 100% rename from algorithms/cpp/removeKDigits/sumOfLeftLeaves/SumOfLeftLeaves.cpp rename to algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp From 79617041ea029a773d2816af13ca740589e863a9 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 00:38:26 +0800 Subject: [PATCH 087/256] New Problem Solution "Convert a Number to Hexadecimal" --- README.md | 1 + .../ConvertANumberToHexadecimal.cpp | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp diff --git a/README.md b/README.md index 36e9af9fa..a236a7b2a 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| |402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| diff --git a/algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp b/algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp new file mode 100644 index 000000000..654e50e40 --- /dev/null +++ b/algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp @@ -0,0 +1,56 @@ +// Source : https://leetcode.com/problems/convert-a-number-to-hexadecimal/ +// Author : Hao Chen +// Date : 2016-11-12 + +/*************************************************************************************** + * + * Given an integer, write an algorithm to convert it to hexadecimal. For negative + * integer, two’s complement method is used. + * + * Note: + * + * All letters in hexadecimal (a-f) must be in lowercase. + * The hexadecimal string must not contain extra leading 0s. If the number is zero, it + * is represented by a single zero character '0'; otherwise, the first character in the + * hexadecimal string will not be the zero character. + * The given number is guaranteed to fit within the range of a 32-bit signed integer. + * You must not use any method provided by the library which converts/formats the + * number to hex directly. + * + * Example 1: + * + * Input: + * 26 + * + * Output: + * "1a" + * + * Example 2: + * + * Input: + * -1 + * + * Output: + * "ffffffff" + ***************************************************************************************/ + +class Solution { +public: + + string toHex(int num) { + + if (num == 0) return "0"; + + unsigned int x = num; + + string result; + for(;x > 0; x/=16) { + int n = x % 16; + char c; + if (n < 10) c = n + '0'; + else c = 'a' + n - 10 ; + result = c + result; + } + return result; + } +}; From 0e3f0e28901953c8fa5989ed9ae27f60a8a5d236 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 17:20:19 +0800 Subject: [PATCH 088/256] New Problem Solution "Frog Jump" --- README.md | 1 + algorithms/cpp/frogJump/FrogJump.cpp | 125 +++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 algorithms/cpp/frogJump/FrogJump.cpp diff --git a/README.md b/README.md index a236a7b2a..cfcfa97e0 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ LeetCode |---| ----- | -------- | ---------- | |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| +|403|[Frog Jump](https://leetcode.com/problems/frog-jump/) | [C++](./algorithms/cpp/frogJump/FrogJump.cpp)|Hard| |402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| |400|[Nth Digit](https://leetcode.com/problems/nth-digit/) | [C++](./algorithms/cpp/nthDigit/NthDigit.cpp)|Easy| diff --git a/algorithms/cpp/frogJump/FrogJump.cpp b/algorithms/cpp/frogJump/FrogJump.cpp new file mode 100644 index 000000000..8bd302b89 --- /dev/null +++ b/algorithms/cpp/frogJump/FrogJump.cpp @@ -0,0 +1,125 @@ +// Source : https://leetcode.com/problems/frog-jump/ +// Author : Hao Chen +// Date : 2016-11-12 + +/*************************************************************************************** + * + * A frog is crossing a river. The river is divided into x units and at each unit there + * may or may not exist a stone. The frog can jump on a stone, but it must not jump + * into the water. + * + * Given a list of stones' positions (in units) in sorted ascending order, determine if + * the frog is able to cross the river by landing on the last stone. Initially, the + * frog is on the first stone and assume the first jump must be 1 unit. + * + * If the frog's last jump was k units, then its next jump must be either k - 1, k, or + * k + 1 units. Note that the frog can only jump in the forward direction. + * + * Note: + * + * The number of stones is ≥ 2 and is + * Each stone's position will be a non-negative integer 31. + * The first stone's position is always 0. + * + * Example 1: + * + * [0,1,3,5,6,8,12,17] + * + * There are a total of 8 stones. + * The first stone at the 0th unit, second stone at the 1st unit, + * third stone at the 3rd unit, and so on... + * The last stone at the 17th unit. + * + * Return true. The frog can jump to the last stone by jumping + * 1 unit to the 2nd stone, then 2 units to the 3rd stone, then + * 2 units to the 4th stone, then 3 units to the 6th stone, + * 4 units to the 7th stone, and 5 units to the 8th stone. + * + * Example 2: + * + * [0,1,2,3,4,8,9,11] + * + * Return false. There is no way to jump to the last stone as + * the gap between the 5th and 6th stone is too large. + ***************************************************************************************/ + +class Solution { +public: + bool canCross_recursion(vector& stones, int curr, int last_jump) { + for(int i=curr+1; i last_jump + 1) return false; + + if (i == stones.size() - 1 || canCross_recursion(stones, i, next_jump)) return true; + } + return false; + } + + bool canCross_recursion_with_cache(vector& stones, int curr, int last_jump, + unordered_map>& cache) + { + //check the cache is hitted ? + if (cache.find(curr) != cache.end() && cache[curr].find(last_jump)!=cache[curr].end()) { + return cache[curr][last_jump]; + } + + for(int i=curr+1; i last_jump + 1) break; + if (i == stones.size() - 1 || canCross_recursion_with_cache(stones, i, next_jump, cache)) { + cache[curr][last_jump] = true; + return true; + } + } + cache[curr][last_jump] = false; + return false; + } + + bool canCross_non_recursion(vector& stones) { + + // the `jumps` map store the all possible `last jumps` + unordered_map> jumps = {{0, {0}}}; + + for(int i=0; i& stones) { + + //Burst Force solution -- accepted ~500ms + return canCross_non_recursion(stones); + + //DFS with cache solution - accepted ~160ms + unordered_map> cache; + return canCross_recursion_with_cache(stones, 0, 0, cache); + + // Time Limit Error + return canCross_recursion(stones, 0, 0); + + } +}; From 7fb99ce3bf2d3b8800e5f930539c9cf681d46d58 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 18:20:11 +0800 Subject: [PATCH 089/256] New Problem Solution "Queue Reconstruction by Height" --- README.md | 1 + .../QueueReconstructionByHeight.cpp | 73 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp diff --git a/README.md b/README.md index cfcfa97e0..07d9c7dc4 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| |403|[Frog Jump](https://leetcode.com/problems/frog-jump/) | [C++](./algorithms/cpp/frogJump/FrogJump.cpp)|Hard| diff --git a/algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp b/algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp new file mode 100644 index 000000000..e648683a1 --- /dev/null +++ b/algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp @@ -0,0 +1,73 @@ +// Source : https://leetcode.com/problems/queue-reconstruction-by-height/ +// Author : Hao Chen +// Date : 2016-11-12 + +/*************************************************************************************** + * + * Suppose you have a random list of people standing in a queue. Each person is + * described by a pair of integers (h, k), where h is the height of the person and k is + * the number of people in front of this person who have a height greater than or equal + * to h. Write an algorithm to reconstruct the queue. + * + * Note: + * The number of people is less than 1,100. + * + * Example + * + * Input: + * [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] + * + * Output: + * [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]] + ***************************************************************************************/ + +class Solution { + +public: + vector> reconstructQueue(vector>& people) { + //sort function + auto comp = [](const pair& p1, const pair& p2) + { return p1.first == p2.first ? p1.second < p2.second : p1.first > p2.first; }; + //sort the people with their height with descending order + // and if the height is same then sort by K with ascending order + sort(people.begin(), people.end(), comp); + + // For example: + // Original Queue: [7,0], [4,4], [7,1], [5,0], [6,1], [5,2] + // Sorted Queue: [7,0], [7,1], [6,1], [5,0], [5,2], [4,4] + + + // Why do we need to sort like this? + // + // ** The position of shorter people is ZERO impacted with higher people. ** + // + // and, the shortest people has no impacts to all of people. we can simpley insert it to the Kth position + // + // So, we sorted the people from highest to the shortest, then when we insert the people to another array, + // + // we always can guarantee the people is going to be inserted has nothing to do with the people has been inserted. + // + // Let's continue the about example above + // + // [7,0] => [] then [7,0] + // [7,1] => [7,0] then [7,0], [7,1] + // [6,1] => [7,0], [7,1] then [7,0], [6,1], [7,1] + // [5,0] => [7,0], [6,1], [7,1] then [5,0], [7,0], [6,1], [7,1] + // [5,2] => [5,0], [7,0], [6,1], [7,1] then [5,0], [7,0], [5,2], [6,1], [7,1] + // [4,4] => [5,0], [7,0], [5,2], [6,1], [7,1] then [5,0], [7,0], [5,2], [6,1], [4,4], [7,1] + // + // We alway can see, the people is going to be inserted has NO IMPACT with the current people. + // + // [6,1] => [7,0], [7,1] + // + // Whatever the people[6,1] placed, it has nothing to do with the people [7,0] [7,1], + // So, we can just insert the people to the place he like - the `Kth` place. + // + // + vector> res; + for (auto& p : people) { + res.insert(res.begin() + p.second, p); + } + return res; + } +}; From 9f00ad162bfb977def5a4f2643af060e5d6964c8 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 18:50:43 +0800 Subject: [PATCH 090/256] New Problem Solution "Add Strings" --- README.md | 1 + algorithms/cpp/addStrings/AddStrings.cpp | 48 ++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 algorithms/cpp/addStrings/AddStrings.cpp diff --git a/README.md b/README.md index 07d9c7dc4..13a46274a 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| diff --git a/algorithms/cpp/addStrings/AddStrings.cpp b/algorithms/cpp/addStrings/AddStrings.cpp new file mode 100644 index 000000000..32b6734bb --- /dev/null +++ b/algorithms/cpp/addStrings/AddStrings.cpp @@ -0,0 +1,48 @@ +// Source : https://leetcode.com/problems/add-strings/ +// Author : Hao Chen +// Date : 2016-11-12 + +/*************************************************************************************** + * + * Given two non-negative numbers num1 and num2 represented as string, return the sum + * of num1 and num2. + * + * Note: + * + * The length of both num1 and num2 is + * Both num1 and num2 contains only digits 0-9. + * Both num1 and num2 does not contain any leading zero. + * You must not use any built-in BigInteger library or convert the inputs to integer + * directly. + ***************************************************************************************/ + +class Solution { +public: + string addStrings(string num1, string num2) { + string& longstr = ( num1.size() >= num2.size() ? num1 : num2 ); + string& shortstr = ( num1.size() < num2.size() ? num1 : num2 ); + + int longlen = longstr.size(); + int shortlen = shortstr.size(); + + char carry = 0; + int i, j; + + string result; + for (i = longlen-1, j=shortlen-1; i>=0; i--, j--) { + int add = 0; + if (j>=0) { + add = longstr[i] + shortstr[j] - 2 * '0' + carry; + }else{ + add = longstr[i] - '0' + carry; + } + carry = add/10; + result = char('0' + add % 10) + result; + } + + if (carry) { + result = '1' + result; + } + return result; + } +}; From c54086b33b24643d5d1a59ef2e86d3a0b6e71b80 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 12 Nov 2016 18:57:20 +0800 Subject: [PATCH 091/256] adjust the file's directory --- README.md | 2 +- .../intersectionOfTwoArraysII.cpp | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename algorithms/cpp/{intersectionOfTwoArraysII => intersectionOfTwoArrays}/intersectionOfTwoArraysII.cpp (100%) diff --git a/README.md b/README.md index 13a46274a..fbe369a29 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ LeetCode |380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/) | [C++](./algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp)|Hard| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| -|350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp)|Easy| +|350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| |345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/) | [C++](./algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp)|Easy| diff --git a/algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp similarity index 100% rename from algorithms/cpp/intersectionOfTwoArraysII/intersectionOfTwoArraysII.cpp rename to algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp From e7e12523cf231ae1b40dc8c92a23a1cb7788b239 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 13 Nov 2016 11:59:17 +0800 Subject: [PATCH 092/256] New Problem "Arithmetic Slices" --- README.md | 2 + .../cpp/arithmeticSlices/ArithmeticSlices.cpp | 72 +++++++++++++++++++ .../thirdMaximumNumber/ThirdMaximumNumber.cpp | 51 +++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp create mode 100644 algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp diff --git a/README.md b/README.md index fbe369a29..0611bfdcb 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| +|414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| +|413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| diff --git a/algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp b/algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp new file mode 100644 index 000000000..dc7c9fa05 --- /dev/null +++ b/algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp @@ -0,0 +1,72 @@ +// Source : https://leetcode.com/problems/arithmetic-slices/ +// Author : Hao Chen +// Date : 2016-11-13 + +/*************************************************************************************** + * + * A sequence of number is called arithmetic if it consists of at least three elements + * and if the difference between any two consecutive elements is the same. + * + * For example, these are arithmetic sequence: + * 1, 3, 5, 7, 9 + * 7, 7, 7, 7 + * 3, -1, -5, -9 + * + * The following sequence is not arithmetic. 1, 1, 2, 5, 7 + * + * A zero-indexed array A consisting of N numbers is given. A slice of that array is + * any pair of integers (P, Q) such that 0 + * + * A slice (P, Q) of array A is called arithmetic if the sequence: + * A[P], A[p + 1], ..., A[Q - 1], A[Q] is arithmetic. In particular, this means + * that P + 1 + * + * The function should return the number of arithmetic slices in the array A. + * + * Example: + * + * A = [1, 2, 3, 4] + * + * return: 3, for 3 arithmetic slices in A: [1, 2, 3], [2, 3, 4] and [1, 2, 3, 4] + * itself. + ***************************************************************************************/ + +class Solution { +public: + // + // It's easy to find out how many 3-length slices in an arithmetic array with N length. + // + // len = 3, then 1 slices, sum(1) + // len = 4, then 3 slices, sum(1,2) - TWO 3-length slices + ONE 4-length slice + // len = 5, then 6 slices, sum(1,2,3) - THREE 3-length slices + TWO 4-length slices + ONE 5-length slice + // len = 6, then 10 slices, sum(1,2,3,4) - ... + // len = 7, then 15 slices, sum(1,2,3,4,5) - .. + // + // So, with N length arithmetic array, there are Sum[1, N-3+1] 3-length slices + // + // And, we know the formula sum from 1 to n is: + // + // n * ( n + 1 ) + // sum [1, n] = --------------- + // 2 + // Then, we could have the solution - O(n) Time with O(1) Space + // + + int sum1toN(int n) { + return n * (n+1) / 2; + } + + int numberOfArithmeticSlices(vector& A) { + int result = 0; + int len = 0; // the current length of arithmetic + for (int i=2; i& nums, int n) { + set topN; + for(auto num : nums) { + topN.insert(num); + if (topN.size() > n) topN.erase(topN.begin()); + } + return (topN.size() >= n) ? *(topN.begin()) : *(topN.rbegin()); + } + int thirdMax(vector& nums) { + return nMax(nums, 3); + } +}; From 48978d84a83d324e7b94138bd9aa92b7df27fa3b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 13 Nov 2016 12:28:51 +0800 Subject: [PATCH 093/256] New Problem Solution "Fizz Buzz" --- README.md | 1 + algorithms/cpp/fizzBuzz/FizzBuzz.cpp | 91 ++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 algorithms/cpp/fizzBuzz/FizzBuzz.cpp diff --git a/README.md b/README.md index 0611bfdcb..0845d31b5 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ LeetCode |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| +|412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) | [C++](./algorithms/cpp/fizzBuzz/FizzBuzz.cpp)|Easy| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| diff --git a/algorithms/cpp/fizzBuzz/FizzBuzz.cpp b/algorithms/cpp/fizzBuzz/FizzBuzz.cpp new file mode 100644 index 000000000..f4ec548e7 --- /dev/null +++ b/algorithms/cpp/fizzBuzz/FizzBuzz.cpp @@ -0,0 +1,91 @@ +// Source : https://leetcode.com/problems/fizz-buzz/ +// Author : Hao Chen +// Date : 2016-11-13 + +/*************************************************************************************** + * + * Write a program that outputs the string representation of numbers from 1 to n. + * + * But for multiples of three it should output “Fizz” instead of the number and for the + * multiples of five output “Buzz”. For numbers which are multiples of both three and + * five output “FizzBuzz”. + * + * Example: + * + * n = 15, + * + * Return: + * [ + * "1", + * "2", + * "Fizz", + * "4", + * "Buzz", + * "Fizz", + * "7", + * "8", + * "Fizz", + * "Buzz", + * "11", + * "Fizz", + * "13", + * "14", + * "FizzBuzz" + * ] + ***************************************************************************************/ + +class Solution { +public: + vector fizzBuzz_old_school_way(int n) { + vector result; + for (int i=1; i<=n; i++) { + if ( i%3 == 0 && i%5 ==0 ) { + result.push_back("FizzBuzz"); + }else if (i%3 == 0) { + result.push_back("Fizz"); + }else if (i%5 == 0) { + result.push_back("Buzz"); + }else{ + result.push_back(std::to_string(i)); + } + } + return result; + } + + + class FizzBuzz { + public: + FizzBuzz() : x(0) {} + + string operator()() { + x++; + if ( x%3 == 0 && x%5 ==0 ) { + return ("FizzBuzz"); + }else if (x%3 == 0) { + return ("Fizz"); + }else if (x%5 == 0) { + return("Buzz"); + } + return std::to_string(x); + } + + private: + int x; + }; + + vector fizzBuzz_cpp_way(int n) { + vector result(n); + generate(result.begin(), result.end(), FizzBuzz()); + return result; + } + + vector fizzBuzz(int n) { + + //both method has same performance + + if (rand() % 2 == 0) { + return fizzBuzz_cpp_way(n); + } + return fizzBuzz_old_school_way(n); + } +}; From 4d68a1318afed990ac3ee83a770a29e86fb7703f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 13 Nov 2016 22:42:48 +0800 Subject: [PATCH 094/256] New Problem Solution "Longest Palindrome" --- README.md | 1 + .../longestPalindrome/LongestPalindrome.cpp | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 algorithms/cpp/longestPalindrome/LongestPalindrome.cpp diff --git a/README.md b/README.md index 0845d31b5..09bdeb498 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ LeetCode |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| |412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) | [C++](./algorithms/cpp/fizzBuzz/FizzBuzz.cpp)|Easy| +|409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/) | [C++](./algorithms/cpp/longestPalindrome/LongestPalindrome.cpp)|Easy| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| diff --git a/algorithms/cpp/longestPalindrome/LongestPalindrome.cpp b/algorithms/cpp/longestPalindrome/LongestPalindrome.cpp new file mode 100644 index 000000000..402486c02 --- /dev/null +++ b/algorithms/cpp/longestPalindrome/LongestPalindrome.cpp @@ -0,0 +1,50 @@ +// Source : https://leetcode.com/problems/longest-palindrome/ +// Author : Hao Chen +// Date : 2016-11-13 + +/*************************************************************************************** + * + * Given a string which consists of lowercase or uppercase letters, find the length of + * the longest palindromes that can be built with those letters. + * + * This is case sensitive, for example "Aa" is not considered a palindrome here. + * + * Note: + * Assume the length of given string will not exceed 1,010. + * + * Example: + * + * Input: + * "abccccdd" + * + * Output: + * 7 + * + * Explanation: + * One longest palindrome that can be built is "dccaccd", whose length is 7. + ***************************************************************************************/ + +class Solution { +public: + int longestPalindrome(string s) { + + int hashtable[128]; + memset(hashtable, 0, sizeof(hashtable)); + + for(char ch : s) { + hashtable[ch]++; + } + int result = 0; + bool hasOdd = false; + for (int n : hashtable) { + if ( n%2 == 0 ) { + result += n; + } else { + result += n -1; + hasOdd = true; + } + } + + return hasOdd ? result + 1 : result; + } +}; From 09410736efba5aed18a6fa98a44615979ce720f7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 13 Nov 2016 23:42:51 +0800 Subject: [PATCH 095/256] New Problem Soluiton "Split Array Largest Sum" --- README.md | 1 + .../SplitArrayLargestSum.cpp | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 algorithms/cpp/splitArrayLargestSum/SplitArrayLargestSum.cpp diff --git a/README.md b/README.md index 09bdeb498..271b14882 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ LeetCode |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| |412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) | [C++](./algorithms/cpp/fizzBuzz/FizzBuzz.cpp)|Easy| +|410|[Split Array Largest Sum](https://leetcode.com/problems/split-array-largest-sum/) | [C++](./algorithms/cpp/splitArrayLargestSum/SplitArrayLargestSum.cpp)|Hard| |409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/) | [C++](./algorithms/cpp/longestPalindrome/LongestPalindrome.cpp)|Easy| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| diff --git a/algorithms/cpp/splitArrayLargestSum/SplitArrayLargestSum.cpp b/algorithms/cpp/splitArrayLargestSum/SplitArrayLargestSum.cpp new file mode 100644 index 000000000..450dda91d --- /dev/null +++ b/algorithms/cpp/splitArrayLargestSum/SplitArrayLargestSum.cpp @@ -0,0 +1,69 @@ +// Source : https://leetcode.com/problems/split-array-largest-sum/ +// Author : Hao Chen +// Date : 2016-11-13 + +/*************************************************************************************** + * + * Given an array which consists of non-negative integers and an integer m, you can + * split the array into m non-empty continuous subarrays. Write an algorithm to + * minimize the largest sum among these m subarrays. + * + * Note: + * Given m satisfies the following constraint: 1 ≤ m ≤ length(nums) ≤ 14,000. + * + * Examples: + * + * Input: + * nums = [7,2,5,10,8] + * m = 2 + * + * Output: + * 18 + * + * Explanation: + * There are four ways to split nums into two subarrays. + * The best way is to split it into [7,2,5] and [10,8], + * where the largest sum among the two subarrays is only 18. + ***************************************************************************************/ + +class Solution { +public: + // Idea + // 1) The max of the result is the sum of the whole array. + // 2) The min of the result is the max num among the array. + // 3) Then, we use Binary Search to find the resullt between the `min` and the `max` + + int splitArray(vector& nums, int m) { + int min = 0, max = 0; + for (int n : nums) { + min = std::max(min, n); + max += n; + } + while (min < max) { + int mid = min + (max - min) / 2; + if (hasSmallerSum(nums, m, mid)) max = mid; + else min = mid + 1; + } + return min; + } + + + // Using a specific `sum` to check wheter we can get `smaller sum` + // The idea here as below: + // find all of possible `sub array` whose sum greater than `sum` + // 1) if the number of `sub array` > m, whcih means the actual result is greater than `sum` + // 2) if the number of `sub array` <= m, whcih means we can have `smaller sum` + // + bool hasSmallerSum(vector& nums, int m, int sum) { + int cnt = 1, curSum = 0; + for (int n : nums) { + curSum += n; + if (curSum > sum) { + curSum = n; + cnt++; + if (cnt > m) return false; + } + } + return true; + } +}; From f9a8a8b5390bb195f4044b12fd5919e32845acf8 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Tue, 29 Nov 2016 03:11:52 +0800 Subject: [PATCH 096/256] New Problem Solution "Sentence Screen Fitting" --- README.md | 1 + .../cpp/sentenceScreenFitting/OJ#418.cpp | 128 ++++++++++++++++++ algorithms/cpp/sentenceScreenFitting/OJ#418.h | 28 ++++ algorithms/cpp/sentenceScreenFitting/main.cpp | 45 ++++++ 4 files changed, 202 insertions(+) create mode 100644 algorithms/cpp/sentenceScreenFitting/OJ#418.cpp create mode 100644 algorithms/cpp/sentenceScreenFitting/OJ#418.h create mode 100644 algorithms/cpp/sentenceScreenFitting/main.cpp diff --git a/README.md b/README.md index 271b14882..b574d1c2b 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| diff --git a/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp b/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp new file mode 100644 index 000000000..ca2dc9c5c --- /dev/null +++ b/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp @@ -0,0 +1,128 @@ +// +// OJ#418.cpp +// LeeteCodeOJ#418 +// +// Created by Wang Yi on 25/10/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include "OJ#418.h" +#include +#include +#include +#define FOR(START, END) for((START)=0;(START)<(END);(START)+=1) { +#define END ;} +#define N 100 + +// first brute force solution +int SentenceScreenFitting(char stc[][M], int row, int col, size_t l) +{ + int i, j, t, s, k=0, ret=0; + int len[N] = {0}; + FOR(i, l) len[i] = (int)strlen(stc[i]) END + + FOR(i, row) + j = col; + t = k; + while (j - len[k] >= 0) { + j -= len[k] + 1; + if (k+1 > l-1){ + FOR(s, k-t) std::cout << stc[t+s] << ' ' END; + std::cout << stc[t+s]; + if (j - len[0] >= 0) + std::cout << ' '; + k = 0; + t = 0; + ret++; + } else{ + k++; + } + } + FOR(s, k-t-1) std::cout << stc[t+s] << ' ' END; + if (k-t > 0) + std::cout << stc[t+s]; + + std::cout << std::setfill ('-') << std::setw(j == col ? col:j+1) << "" << std::endl; + END + + return ret; +} + +/* +int Solution::wordsTyping(vector& sentence, int rows, int cols) +{ + int i, j, t, s, k=0, ret=0, l=(int)sentence.size(); + int len[N] = {0}; + FOR(i, l) len[i] = (int)sentence[i].size() END + + FOR(i, rows) + j = cols; + t = k; + while (j - len[k] >= 0) { + j -= len[k] + 1; + if (k+1 > l-1){ +// FOR(s, k-t) std::cout << sentence[t+s] << ' ' END; +// std::cout << sentence[t+s]; +// if (j - len[0] >= 0) +// std::cout << ' '; + k = 0; + t = 0; + ret++; + } else{ + k++; + } + } +// FOR(s, k-t-1) std::cout << sentence[t+s] << ' ' END; +// if (k-t > 0) +// std::cout << sentence[t+s]; +// +// std::cout << std::setfill ('-') << std::setw(j == cols ? cols:j+1) << "" << std::endl; + END + + return ret; +} +*/ + +// second boosting +int Solution::wordsTyping(vector& sentence, int rows, int cols) +{ + int i, j, k=0, ret=0, l=(int)sentence.size(); +// int t, s; + int jump = 0; + int len[N] = {0}; + FOR(i, l) len[i] = (int)sentence[i].size();jump += len[i] END + jump += l; + + FOR(i, rows) + j = cols; +// t = k; + + if (k == 0){ + ret += j / jump; + j = j % jump; + } + + while (j - len[k] >= 0) { + j -= len[k] + 1; + if (k+1 > l-1){ + // FOR(s, k-t) std::cout << sentence[t+s] << ' ' END; + // std::cout << sentence[t+s]; + // if (j - len[0] >= 0) + // std::cout << ' '; + k = 0; +// t = 0; + ret += j / jump + 1; + j = j % jump; + } else { + k++; + } + } + // FOR(s, k-t-1) std::cout << sentence[t+s] << ' ' END; + // if (k-t > 0) + // std::cout << sentence[t+s]; + // + // std::cout << std::setfill ('-') << std::setw(j == cols ? cols:j+1) << "" << std::endl; + END + + return ret; +} \ No newline at end of file diff --git a/algorithms/cpp/sentenceScreenFitting/OJ#418.h b/algorithms/cpp/sentenceScreenFitting/OJ#418.h new file mode 100644 index 000000000..e3a3523cb --- /dev/null +++ b/algorithms/cpp/sentenceScreenFitting/OJ#418.h @@ -0,0 +1,28 @@ +// +// OJ#418.h +// LeeteCodeOJ#418 +// +// Created by Wang Yi on 25/10/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#ifndef __LeeteCodeOJ_418__OJ_418__ +#define __LeeteCodeOJ_418__OJ_418__ + +#define M 10 + +#include +#include +#include + +using std::vector; +using std::string; + +int SentenceScreenFitting(char stc[][M], int row, int col, size_t l); + +class Solution { +public: + int wordsTyping(vector& sentence, int rows, int cols); +}; + +#endif /* defined(__LeeteCodeOJ_418__OJ_418__) */ diff --git a/algorithms/cpp/sentenceScreenFitting/main.cpp b/algorithms/cpp/sentenceScreenFitting/main.cpp new file mode 100644 index 000000000..8ee89954d --- /dev/null +++ b/algorithms/cpp/sentenceScreenFitting/main.cpp @@ -0,0 +1,45 @@ +// +// main.cpp +// LeeteCodeOJ#418 +// +// Created by Wang Yi on 25/10/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include +#include +#include +#include +#include +#include "OJ#418.h" +#define N 100 +#define M 10 + +using std::vector; + +int main(int argc, const char * argv[]) { + int rows, cols, ret; +// int i=0; +// char stc[N][M]; + vector sentence; + std::string word; + std::string line; + std::stringstream numbers, split; + + std::getline(std::cin, line); + numbers << line; + numbers >> rows >> cols; + std::getline(std::cin, line); + split << line; + + while (split >> word){ + sentence.push_back(word); +// strcpy(stc[i++], word.c_str()); + } + + Solution solution; + ret = solution.wordsTyping(sentence, rows, cols); +// ret = SentenceScreenFitting(stc, rows, cols, i); + std::cout << ret << std::endl; + return 0; +} From a3dd93d154492c513af5db91a6b9835fc8feee02 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Tue, 29 Nov 2016 03:20:03 +0800 Subject: [PATCH 097/256] add heart --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b574d1c2b..591a05788 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | -|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| +|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| From 8d833c1217a2d9240204a36980f851a260f0f089 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Tue, 29 Nov 2016 03:31:56 +0800 Subject: [PATCH 098/256] New method (non recursive) for CourseSchedule --- .../non-recursive/course_schedule.cpp | 149 ++++++++++++++++++ .../cpp/courseSchedule/non-recursive/main.cpp | 30 ++++ 2 files changed, 179 insertions(+) create mode 100644 algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp create mode 100644 algorithms/cpp/courseSchedule/non-recursive/main.cpp diff --git a/algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp b/algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp new file mode 100644 index 000000000..b7decde33 --- /dev/null +++ b/algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp @@ -0,0 +1,149 @@ +// +// course_schedule.cpp +// LeeteCodeOJ#207 +// +// Created by Wang Yi on 28/11/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include + +#include +#include +#include +#include + +using std::stack; +using std::queue; +using std::vector; +using std::unordered_set; +using std::pair; + +typedef pair Val; +typedef vector> Graph; + +#define FOR(s, e) \ +for (s = 0; s < e; s++) { +#define END ;} + + typedef struct _node { + int val; + // int depth; + struct _node * parent; + } node; + + class Solution { + public: + bool canFinish(int numCourses, vector>& prerequisites) { + vector outdepth(numCourses, 0); + unordered_set vex; + if ((int) prerequisites.size() == 0) + return true; + vector> graph = to_neighbor_repr(numCourses, prerequisites, outdepth); + + return dsf(numCourses, graph, outdepth); + } + + vector> to_neighbor_repr(int numOfvex, vector& edges, + vector& outdepth) { + // std::cout << "building ... " << std::endl; + vector> graph(numOfvex); + for (auto edge : edges) { + graph[edge.second].insert(edge.first); // second -> first + outdepth[edge.second]++; + // std::cout << edge.first << " <- " << edge.second << std::endl; + } + + return graph; + + } + + + bool dsf(int numOfvex, vector>& graph, vector& outdepth) + { + // preparation + stack s; + vector visited(numOfvex, false); + vector onpath(numOfvex, false); + vector starts; + + int i; + + unordered_set children; + + + FOR(i, numOfvex) + if (outdepth[i] !=0 ) { + starts.push_back(i); + } + END + + if ((int)starts.size() == 0) + return false; // no vertex with indepth of 0 found, a circle found + + for (auto j: starts) { + // std::cout << "start from " << j << std::endl; + // do dsf search, if not visited + // when a circle in a path found, return false. + // else return true + if (visited[j]) + continue; + + node head; + head.val = j; + head.parent = NULL; + // head.depth = 1; + s.push(head); + + // non-recursive search + while (!s.empty()) { + node* curr = &(s.top()); + + if (visited[curr->val]) { + // all children have been read + s.pop(); + onpath[curr->val] = false; + continue; // ignore ... + } + + onpath[curr->val] = visited[curr->val]= true; + children = graph[curr->val]; + + if ((int)children.size() == 0) { + s.pop(); + onpath[curr->val] = false; + // std::cout << "==== reach the end ===="<val << "'s children is: "; + for (auto child: children) { + // std::cout << child << " "; + //if (onpath.find(child) == onpath.end()) + if (onpath[child]) { + + // std::cout << std::endl << "a circle found:" << std::endl; + // std::cout << child << " <- "; + // while (curr->parent != NULL) { + // std::cout << curr->val << " <- "; + // curr = curr->parent; + // } + // std::cout << curr->val << std::endl; + + return false; // a circle found, might print debug here + } + + node nd; + nd.val = child; + // nd.depth = curr->depth+1; + nd.parent = curr; // for debug purpose ... + s.push(nd); + } + // std::cout << std::endl; + } + + } // end of for + return true; + } + + }; \ No newline at end of file diff --git a/algorithms/cpp/courseSchedule/non-recursive/main.cpp b/algorithms/cpp/courseSchedule/non-recursive/main.cpp new file mode 100644 index 000000000..f667c8796 --- /dev/null +++ b/algorithms/cpp/courseSchedule/non-recursive/main.cpp @@ -0,0 +1,30 @@ +// +// main.cpp +// LeeteCodeOJ#207 +// +// Created by Wang Yi on 28/11/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include +#include +#include + +#include "course_schedule.cpp" + +using std::make_pair; + +int main(int argc, const char * argv[]) { + // insert code here... + Solution sl; + int numCourses = 4; + vector prerequisites; + prerequisites.push_back(make_pair(0,1)); + prerequisites.push_back(make_pair(3,1)); + prerequisites.push_back(make_pair(1,3)); + prerequisites.push_back(make_pair(3,2)); + + + std::cout << sl.canFinish(numCourses, prerequisites); + return 0; +} From 879e9e6513013aa1e4d453b8ba2ad91cb86a4ae2 Mon Sep 17 00:00:00 2001 From: omengye Date: Mon, 26 Dec 2016 22:23:55 +0800 Subject: [PATCH 099/256] array index out of bounds, fix to low > threeSum(vector &num) { high--; } else{ //skip the duplication - while(low Date: Mon, 2 Jan 2017 10:20:53 +0800 Subject: [PATCH 100/256] New Problem Solution - "Super Ugly Number" --- README.md | 1 + .../cpp/superUglyNumber/SuperUglyNumber.cpp | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp diff --git a/README.md b/README.md index 271b14882..b7244b06a 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ LeetCode |321|[Create Maximum Number](https://leetcode.com/problems/create-maximum-number/) | [C++](./algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp)|Hard| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| +|313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/) | [C++](./algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp)|Medium| |312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/) | [C++](./algorithms/cpp/burstBalloons/BurstBalloons.cpp)|Hard| |310|[Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/) | [C++](./algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp)|Medium| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| diff --git a/algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp b/algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp new file mode 100644 index 000000000..66438fd46 --- /dev/null +++ b/algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp @@ -0,0 +1,69 @@ +// Source : https://leetcode.com/problems/super-ugly-number/ +// Author : Hao Chen +// Date : 2017-01-02 + +/*************************************************************************************** + * + * Write a program to find the nth super ugly number. + * + * Super ugly numbers are positive numbers whose all prime factors are in the given + * prime list + * primes of size k. For example, [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] + * is the sequence of the first 12 super ugly numbers given primes + * = [2, 7, 13, 19] of size 4. + * + * Note: + * (1) 1 is a super ugly number for any given primes. + * (2) The given numbers in primes are in ascending order. + * (3) 0 k ≤ 100, 0 n ≤ 106, 0 primes[i] + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +// As the solution we have for the ugly number II problem +// +// int nthUglyNumber(int n) { +// +// int i=0, j=0, k=0; +// vector ugly(1,1); +// +// while(ugly.size() < n){ +// int next = min(ugly[i]*2, ugly[j]*3, ugly[k]*5); +// if (next == ugly[i]*2) i++; +// if (next == ugly[j]*3) j++; +// if (next == ugly[k]*5) k++; +// ugly.push_back(next); +// } +// return ugly.back(); +// } +// +// The logic of solution is exacly same for both., except that instead of 3 numbers you have k numbers to consider. +// +// +// +class Solution { + +public: + int nthSuperUglyNumber(int n, vector& primes) { + vector ugly(1, 1); + int len = primes.size(); + vector pos(len, 0); + + while( ugly.size() < n ) { + int next = INT_MAX; + for(int i=0; i Date: Mon, 2 Jan 2017 10:22:14 +0800 Subject: [PATCH 101/256] fix: forgot commit the "Find the Difference" --- .../findTheDifference/FindTheDifference.cpp | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 algorithms/cpp/findTheDifference/FindTheDifference.cpp diff --git a/algorithms/cpp/findTheDifference/FindTheDifference.cpp b/algorithms/cpp/findTheDifference/FindTheDifference.cpp new file mode 100644 index 000000000..5e51e4f0e --- /dev/null +++ b/algorithms/cpp/findTheDifference/FindTheDifference.cpp @@ -0,0 +1,38 @@ +// Source : https://leetcode.com/problems/find-the-difference/ +// Author : Hao Chen +// Date : 2016-09-08 + +/*************************************************************************************** + * + * Given two strings s and t which consist of only lowercase letters. + * + * String t is generated by random shuffling string s and then add one more letter at a + * random position. + * + * Find the letter that was added in t. + * + * Example: + * + * Input: + * s = "abcd" + * t = "abcde" + * + * Output: + * e + * + * Explanation: + * 'e' is the letter that was added. + ***************************************************************************************/ + +class Solution { +public: + char findTheDifference(string s, string t) { + unordered_map m; + for(auto c : s) m[c]++; + for(auto c : t) { + m[c]--; + if (m[c] < 0) return c; + } + return '\0'; + } +}; From 9c3eac7992c8c10075f2b3d73897b3ef9a34ddf8 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 2 Jan 2017 15:39:10 +0800 Subject: [PATCH 102/256] New Problem Solution "Remove Duplicate Letters" --- README.md | 1 + .../RemoveDuplicateLetters.cpp | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 algorithms/cpp/removeDuplicateLetters/RemoveDuplicateLetters.cpp diff --git a/README.md b/README.md index b7244b06a..443973758 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ LeetCode |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |321|[Create Maximum Number](https://leetcode.com/problems/create-maximum-number/) | [C++](./algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp)|Hard| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| +|316|[Remove Duplicate Letters](https://leetcode.com/problems/remove-duplicate-letters/) | [C++](./algorithms/cpp/removeDuplicateLetters/RemoveDuplicateLetters.cpp)|Hard| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/) | [C++](./algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp)|Medium| |312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/) | [C++](./algorithms/cpp/burstBalloons/BurstBalloons.cpp)|Hard| diff --git a/algorithms/cpp/removeDuplicateLetters/RemoveDuplicateLetters.cpp b/algorithms/cpp/removeDuplicateLetters/RemoveDuplicateLetters.cpp new file mode 100644 index 000000000..e3ae9f3f4 --- /dev/null +++ b/algorithms/cpp/removeDuplicateLetters/RemoveDuplicateLetters.cpp @@ -0,0 +1,52 @@ +// Source : https://leetcode.com/problems/remove-duplicate-letters/ +// Author : Hao Chen +// Date : 2017-01-02 + +/*************************************************************************************** + * + * Given a string which contains only lowercase letters, remove duplicate letters so + * that every letter appear once and only once. You must make sure your result is the + * smallest in lexicographical order among all possible results. + * + * Example: + * + * Given "bcabc" + * Return "abc" + * + * Given "cbacdcbc" + * Return "acdb" + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + + +class Solution { +public: + string removeDuplicateLetters(string s) { + const int ASCII_LEN = 256; + int counter[ASCII_LEN] = {0}; + bool visited[ASCII_LEN] = {false}; + + for (char ch : s) { + counter[ch]++; + } + + string result; + for (char ch : s) { + counter[ch]--; + // if the current `ch` has already put into the result. + if (visited[ch]) continue; + + // if the current `ch` is smaller than the last one char in result. + // and we still have duplicated last-one char behind, so we can remove the current one. + while ( !result.empty() && ch < result.back() && counter[result.back()] ) { + visited[result.back()] = false; + result.pop_back(); + } + result.push_back(ch); + visited[ch] = true; + } + return result; + } +}; From f3c62b342d407159c60ba6c6e0a7416511caf6d8 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 2 Jan 2017 17:30:54 +0800 Subject: [PATCH 103/256] New Problem Solution - "Maximum Product of Word Lengths" --- README.md | 1 + .../MaximumProductOfWordLengths.cpp | 72 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 algorithms/cpp/maximumProductOfWordLengths/MaximumProductOfWordLengths.cpp diff --git a/README.md b/README.md index 443973758..990801653 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ LeetCode |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |321|[Create Maximum Number](https://leetcode.com/problems/create-maximum-number/) | [C++](./algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp)|Hard| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| +|318|[Maximum Product of Word Lengths](https://leetcode.com/problems/maximum-product-of-word-lengths/) | [C++](./algorithms/cpp/maximumProductOfWordLengths/MaximumProductOfWordLengths.cpp)|Medium| |316|[Remove Duplicate Letters](https://leetcode.com/problems/remove-duplicate-letters/) | [C++](./algorithms/cpp/removeDuplicateLetters/RemoveDuplicateLetters.cpp)|Hard| |315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | [C++](./algorithms/cpp/countOfSmallerNumbersAfterSelf/countOfSmallerNumbersAfterSelf.cpp)|Hard| |313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/) | [C++](./algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp)|Medium| diff --git a/algorithms/cpp/maximumProductOfWordLengths/MaximumProductOfWordLengths.cpp b/algorithms/cpp/maximumProductOfWordLengths/MaximumProductOfWordLengths.cpp new file mode 100644 index 000000000..8e9ecf4e0 --- /dev/null +++ b/algorithms/cpp/maximumProductOfWordLengths/MaximumProductOfWordLengths.cpp @@ -0,0 +1,72 @@ +// Source : https://leetcode.com/problems/maximum-product-of-word-lengths/ +// Author : Hao Chen +// Date : 2017-01-02 + +/*************************************************************************************** + * + * Given a string array words, find the maximum value of length(word[i]) * + * length(word[j]) where the two words do not share common letters. + * You may assume that each word will contain only lower case letters. + * If no such two words exist, return 0. + * + * Example 1: + * + * Given ["abcw", "baz", "foo", "bar", "xtfn", "abcdef"] + * Return 16 + * The two words can be "abcw", "xtfn". + * + * Example 2: + * + * Given ["a", "ab", "abc", "d", "cd", "bcd", "abcd"] + * Return 4 + * The two words can be "ab", "cd". + * + * Example 3: + * + * Given ["a", "aa", "aaa", "aaaa"] + * Return 0 + * No such pair of words. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +class Solution { +public: + // + // there are two algorithms: + // + // 1) compare two words is same or not + // - we can use bit-mask to solve that. + // - we need be careful about one word is subset of another one, such as: "abc" is subset of "abcabc" + // + // 2) find out the max product - that needs O(N^2) time complexity algorithm. + // + + int maxProduct(vector& words) { + //Key is the word's bitmask, and the value the max length of that bit mask + unordered_map maxLens; + //constructing the bitmask. + for(auto& w: words) { + int mask = 0; + for (auto& c: w) { + mask = mask | ( 1 << (c-'a') ); + } + if ( maxLens.find(mask) == maxLens.end() || maxLens[mask] < w.size() ) { + maxLens[mask] = w.size(); + } + } + + //find out the max product + int result = 0; + for (auto a : maxLens) { + for (auto b: maxLens) { + // if `a` and `b` is same, then just simply continue + if (a.first & b.first) continue; // there are common letters + result = max( result, a.second * b.second ); + } + } + + return result; + } +}; From 7fc247a63b8c31b2cbba3cc4509ad0b298749eb2 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 2 Jan 2017 22:24:20 +0800 Subject: [PATCH 104/256] New Problem Solution "Wiggle Sort II" --- README.md | 1 + algorithms/cpp/wiggleSort/WiggleSort.II.cpp | 93 +++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 algorithms/cpp/wiggleSort/WiggleSort.II.cpp diff --git a/README.md b/README.md index 990801653..07e3f2a5f 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ LeetCode |328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/) | [C++](./algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp)|Easy| |327|[Count of Range Sum](https://leetcode.com/problems/count-of-range-sum/) | [C++](./algorithms/cpp/countOfRangeSum/CountOfRangeSum.cpp)|Hard| |326|[Power of Three](https://leetcode.com/problems/power-of-three/) | [C++](./algorithms/cpp/powerOfThree/PowerOfThree.cpp)|Easy| +|324|[Wiggle Sort II](https://leetcode.com/problems/wiggle-sort-ii/) | [C++](./algorithms/cpp/wiggleSort/WiggleSort.II.cpp)|Medium| |322|[Coin Change](https://leetcode.com/problems/coin-change/) | [C++](./algorithms/cpp/coinChange/coinChange.cpp)|Medium| |321|[Create Maximum Number](https://leetcode.com/problems/create-maximum-number/) | [C++](./algorithms/cpp/createMaximumNumber/CreateMaximumNumber.cpp)|Hard| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/) | [C++](./algorithms/cpp/bulbSwitcher/bulbSwitcher.cpp)|Medium| diff --git a/algorithms/cpp/wiggleSort/WiggleSort.II.cpp b/algorithms/cpp/wiggleSort/WiggleSort.II.cpp new file mode 100644 index 000000000..a225c19b7 --- /dev/null +++ b/algorithms/cpp/wiggleSort/WiggleSort.II.cpp @@ -0,0 +1,93 @@ +// Source : https://leetcode.com/problems/wiggle-sort-ii/ +// Author : Hao Chen +// Date : 2017-01-02 + +/*************************************************************************************** + * + * Given an unsorted array nums, reorder it such that + * nums[0] nums[2] . + * + * Example: + * (1) Given nums = [1, 5, 1, 1, 6, 4], one possible answer is [1, 4, 1, 5, 1, 6]. + * (2) Given nums = [1, 3, 2, 2, 3, 1], one possible answer is [2, 3, 1, 3, 1, 2]. + * + * Note: + * You may assume all input has valid answer. + * + * Follow Up: + * Can you do it in O(n) time and/or in-place with O(1) extra space? + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +class Solution { + +public: + // + // Solution - O(N*logN) + // -------------------- + // 1) Sorting the array with descending order + // + // 2) Split the sorted array into two parts, + // and insert the 2nd half array into the 1st half array + // + // For example: [ 9 8 7 6 5 4 3 2 1 0 ] + // + // + // 1st Large half: . 9 . 8 . 7 . 6 . 5 + // 2nd Small half: 4 . 3 . 2 . 1 . 0 . + // --------------------------------------- + // Result: 4 9 3 8 2 7 1 6 0 5 + // + // Be careful if the length of array is odd number, + // Such as: [5 4 3 2 1], + // The 2nd half is [3 2 1] instead of [2 1] + // + + void wiggleSort01(vector& nums) { + sort(nums.begin(), nums.end(), [](int x, int y) { return x > y; }); + int half = (nums.size() / 2); + + for (int i=0; i& nums) { + int n = nums.size(); + + // Find a median. + auto midptr = nums.begin() + n / 2; + nth_element(nums.begin(), midptr, nums.end()); + int mid = *midptr; + + // Index-rewiring. + #define A(i) nums[(1+2*(i)) % (n|1)] + + // 3-way-partition-to-wiggly in O(n) time with O(1) space. + int i = 0, j = 0, k = n - 1; + while (j <= k) { + if (A(j) > mid) + swap(A(i++), A(j++)); + else if (A(j) < mid) + swap(A(j), A(k--)); + else + j++; + } + } + void wiggleSort(vector& nums) { + return wiggleSort02(nums); //~140ms + return wiggleSort01(nums); //~230ms + } +}; From 86f94976841d01428cfc224c110a2421f19d06ee Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 6 Jan 2017 09:57:06 +0800 Subject: [PATCH 105/256] New Problem Solution "Verify Preorder Serialization of a Binary Tree" --- README.md | 1 + ...rifyPreorderSerializationOfABinaryTree.cpp | 85 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp diff --git a/README.md b/README.md index 07e3f2a5f..bb0a3d8cf 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ LeetCode |338|[Counting Bits](https://leetcode.com/problems/counting-bits/) | [C++](./algorithms/cpp/countingBits/CountingBits.cpp)|Medium| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| +|331|[Verify Preorder Serialization of a Binary Tree](https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/) | [C++](./algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| |329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | [C++](./algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp)|Medium| |328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/) | [C++](./algorithms/cpp/oddEvenLinkedList/OddEvenLinkedList.cpp)|Easy| diff --git a/algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp b/algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp new file mode 100644 index 000000000..04e6c6c1d --- /dev/null +++ b/algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp @@ -0,0 +1,85 @@ +// Source : https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/ +// Author : Hao Chen +// Date : 2017-01-06 + +/*************************************************************************************** + * + * One way to serialize a binary tree is to use pre-order traversal. When we encounter + * a non-null node, we record the node's value. If it is a null node, we record using a + * sentinel value such as #. + * + * _9_ + * / \ + * 3 2 + * / \ / \ + * 4 1 # 6 + * / \ / \ / \ + * # # # # # # + * + * For example, the above binary tree can be serialized to the string + * "9,3,4,#,#,1,#,#,2,#,6,#,#", where # represents a null node. + * + * Given a string of comma separated values, verify whether it is a correct preorder + * traversal serialization of a binary tree. Find an algorithm without reconstructing + * the tree. + * + * Each comma separated value in the string must be either an integer or a character + * '#' representing null pointer. + * + * You may assume that the input format is always valid, for example it could never + * contain two consecutive commas such as "1,,3". + * + * Example 1: + * "9,3,4,#,#,1,#,#,2,#,6,#,#" + * Return true + * Example 2: + * "1,#" + * Return false + * Example 3: + * "9,#,#,1" + * Return false + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +class Solution { +public: + + // we know the following facts: + // 1) if we met a non-null node, then this node will generate two child node. + // 2) if we met a null node, then this node will generate zero child node. + // + // so the idea is, + // 1) we can have a counter to calculate how many node we are going to expect + // 2) once we have the expected node, then we can decrease the counter. + // 3) finally, we will check the counter is zero or not. + // + // the algorithm as below: + // 1) when we meet a non-null node, just simply do `counter++`. because: + // 1.1) we will expect 2 more node after, then we do `counter += 2`. + // 1.2) but the current node also meet the expection of parent node , so, it need remove 1 in counter. + // finally, the `counter = counbter + 2 -1` + // 2) when we meet a null node, just simply do `counter--`. + + bool isValidSerialization(string preorder) { + vector list; + split(preorder, ',', list); + //we initailize the counter as 1, + //because we expect at lease 1 node in the tree. + int node_expected = 1; + for (auto node : list) { + if (node_expected == 0) return false; + node == "#" ? node_expected-- : node_expected++; + } + return node_expected == 0; + } + + void split(const string &s, char delim, vector &elems) { + stringstream ss(s); + string item; + while (getline(ss, item, delim)) { + elems.push_back(item); + } + } +}; From 121b458ffc38177faca8813d70668a068ca9973e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 6 Jan 2017 11:00:43 +0800 Subject: [PATCH 106/256] New Problem Solution "Reconstruct Itinerary" --- README.md | 1 + .../ReconstructItinerary.cpp | 78 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp diff --git a/README.md b/README.md index bb0a3d8cf..31777f982 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ LeetCode |338|[Counting Bits](https://leetcode.com/problems/counting-bits/) | [C++](./algorithms/cpp/countingBits/CountingBits.cpp)|Medium| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| +|332|[Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/) | [C++](./algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp)|Medium| |331|[Verify Preorder Serialization of a Binary Tree](https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/) | [C++](./algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp)|Medium| |330|[Patching Array](https://leetcode.com/problems/patching-array/) | [C++](./algorithms/cpp/patchingArray/PatchingArray.cpp)|Medium| |329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | [C++](./algorithms/cpp/longestIncreasingPathInAMatrix/LongestIncreasingPathInAMatrix.cpp)|Medium| diff --git a/algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp b/algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp new file mode 100644 index 000000000..a80974833 --- /dev/null +++ b/algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp @@ -0,0 +1,78 @@ +// Source : https://leetcode.com/problems/reconstruct-itinerary/ +// Author : Hao Chen +// Date : 2017-01-06 + +/*************************************************************************************** + * + * Given a list of airline tickets represented by pairs of departure and arrival + * airports [from, to], reconstruct the itinerary in order. All of the tickets belong + * to a man who departs from JFK. Thus, the itinerary must begin with JFK. + * + * Note: + * + * If there are multiple valid itineraries, you should return the itinerary that has + * the smallest lexical order when read as a single string. For example, the itinerary + * ["JFK", "LGA"] has a smaller lexical order than ["JFK", "LGB"]. + * All airports are represented by three capital letters (IATA code). + * You may assume all tickets form at least one valid itinerary. + * + * Example 1: + * tickets = [["MUC", "LHR"], ["JFK", "MUC"], ["SFO", "SJC"], ["LHR", "SFO"]] + * Return ["JFK", "MUC", "LHR", "SFO", "SJC"]. + * + * Example 2: + * tickets = [["JFK","SFO"],["JFK","ATL"],["SFO","ATL"],["ATL","JFK"],["ATL","SFO"]] + * Return ["JFK","ATL","JFK","SFO","ATL","SFO"]. + * Another possible reconstruction is ["JFK","SFO","ATL","JFK","ATL","SFO"]. But it + * is larger in lexical order. + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +/* + This problem's description really confuse me. + + for examples: + 1) [["JFK", "PEK"], ["JFK", "SHA"], ["SHA", "JFK"]], which has two itineraries: + a) JFK -> PEK, + b) JFK -> SHA -> JFK -> PEK + The a) is smaller than b), because PEK < SHA, however the b) is correct answer. + So, it means we need use all of tickets. + + 2) [["JFK", "PEK"], ["JFK", "SHA"]], which also has two itineraries: + a) JFK -> PEK + b) JFK -> SHA + for my understanding, the JFK -> SHA is the correct one, + however, the correct answer is JFK -> SHA -> PEK. + I don't understand, why the correct answer is not JFK -> PEK -> SHA + That really does not make sense to me. + + All right, we need assume all of the tickets can be connected in one itinerary. + Then, it's easy to have a DFS algorithm. +*/ + + +class Solution { +public: + //DFS + void travel(string& start, unordered_map>& map, vector& result) { + while (map[start].size() > 0 ) { + string next = *(map[start].begin()); + map[start].erase(map[start].begin()); + travel(next, map, result); + } + result.insert(result.begin(), start); + } + + vector findItinerary(vector> tickets) { + unordered_map> map; + for(auto t : tickets) { + map[t.first].insert(t.second); + } + vector result; + string start = "JFK"; + travel(start, map, result); + return result; + } +}; From 271fb95e6fddb59d335508564b9f397b86a679cf Mon Sep 17 00:00:00 2001 From: Vali Date: Mon, 9 Jan 2017 14:02:59 +0200 Subject: [PATCH 107/256] added totalHammingDistance --- README.md | 1 + .../totalHammingDistance.cpp | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp diff --git a/README.md b/README.md index 31777f982..594d50bb1 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| diff --git a/algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp b/algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp new file mode 100644 index 000000000..27971e2b0 --- /dev/null +++ b/algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp @@ -0,0 +1,56 @@ +// Source : https://leetcode.com/problems/total-hamming-distance/ +// Author : Calinescu Valentin +// Date : 2017-01-09 + +/*************************************************************************************** + * + * The Hamming distance between two integers is the number of positions at which the + * corresponding bits are different. + * + * Now your job is to find the total Hamming distance between all pairs of the given + * numbers. + * + * Example: + * Input: 4, 14, 2 + * + * Output: 6 + * + * Explanation: In binary representation, the 4 is 0100, 14 is 1110, and 2 is 0010 (just + * showing the four bits relevant in this case). So the answer will be: + * HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6. + * + * Note: + * Elements of the given array are in the range of 0 to 10^9 + * Length of the array will not exceed 10^4. + ***************************************************************************************/ + +/* +* Solution 1 - O(N) +* +* The total Hamming Distance is equal to the sum of all individual Hamming Distances +* between every 2 numbers. However, given that this depends on the individual bits of +* each number, we can see that we only need to compute the number of 1s and 0s for each +* bit position. For example, we look at the least significant bit. Given that we need to +* calculate the Hamming Distance for each pair of 2 numbers, we see that the answer is +* equal to the number of 1s at this position * the number of 0s(which is the total number +* of numbers - the number of 1s), because for each 1 we need to have a 0 to form a pair. +* Thus, the solution is the sum of all these distances at every position. +*/ +class Solution { +public: + int totalHammingDistance(vector& nums) { + long long solution = 0; + int ones[31]; + for(int i = 0; i < 31; i++) + ones[i] = 0; + for(vector::iterator it = nums.begin(); it != nums.end(); ++it) + { + for(int i = 0; (1 << i) <= *it; i++) //i is the position of the bit + if((1 << i) & *it)//to see if the bit at i-position is a 1 + ones[i]++; + } + for(int i = 0; i < 31; i++) + solution += ones[i] * (nums.size() - ones[i]); + return solution; + } +}; From 1625e4aa51d225c87916c94fd0c3efdb46adab6b Mon Sep 17 00:00:00 2001 From: Damon Zhao Date: Wed, 18 Jan 2017 22:59:02 +0800 Subject: [PATCH 108/256] fix index out of range If input data is `[0]` for the first function and `[1]` for the second function, there are runtime error of index out of range. --- algorithms/cpp/moveZeroes/moveZeroes.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/algorithms/cpp/moveZeroes/moveZeroes.cpp b/algorithms/cpp/moveZeroes/moveZeroes.cpp index f6fcb9dab..1b86cb691 100644 --- a/algorithms/cpp/moveZeroes/moveZeroes.cpp +++ b/algorithms/cpp/moveZeroes/moveZeroes.cpp @@ -41,7 +41,7 @@ class Solution { int i = 0, poz = 0; for(i = 0; i < nums.size() && poz < nums.size(); i++) { - while(nums[poz] == 0) + while(poz < nums.size() && nums[poz] == 0) poz++; if(poz < nums.size()) nums[i] = nums[poz]; @@ -72,7 +72,7 @@ class Solution { // Find the first ZERO, where is the tail of the array. // (Notes: we can simply remove this!) - for (; nums[p1]!=0 && p1 Date: Tue, 21 Mar 2017 13:10:58 +0800 Subject: [PATCH 109/256] New solution for "Reverse Vowels of a String" --- .../reverseVowelsOfAString.cpp | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp b/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp index f4f63922a..c09c02b8c 100644 --- a/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp +++ b/algorithms/cpp/reverseVowelsOfAString/reverseVowelsOfAString.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/reverse-vowels-of-a-string/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2016-04-30 /*************************************************************************************** @@ -14,6 +14,8 @@ * Given s = "leetcode", return "leotcede". * ***************************************************************************************/ + +//Author: Calinescu Valentin class Solution { public: string reverseVowels(string s) { @@ -48,3 +50,42 @@ class Solution { return result; } }; + + +// Author: Hao Chen +// 1) preset a dictionary table to look up vowels +// 2) we have two pointer, the `left` one search vowels from the beginning to then end, the `right` one search from the end to the beginning. +// 3) swap the left one and the right one until left >= right. +class Solution { +private: + bool vowelsTable[256]; +public: + Solution(){ + memset(vowelsTable, 0, sizeof(vowelsTable)); + vowelsTable['a']=true; + vowelsTable['e']=true; + vowelsTable['i']=true; + vowelsTable['o']=true; + vowelsTable['u']=true; + + vowelsTable['A']=true; + vowelsTable['E']=true; + vowelsTable['I']=true; + vowelsTable['O']=true; + vowelsTable['U']=true; + } + bool isVowels(char ch) { + return vowelsTable[ch]; + } + string reverseVowels(string s) { + int left=0, right=s.size()-1; + while ( left < right ) { + while( !isVowels( s[left]) ) left++; + while( !isVowels( s[right] ) ) right--; + if (left >= right) break; + swap(s[left], s[right]); + left++; right--; + } + return s; + } +}; From ad9d2904ecdf2e09411b5129e5da7935a668ff0c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 22 Mar 2017 09:57:20 +0800 Subject: [PATCH 110/256] New Problem Solution "Palindrome Pairs" --- README.md | 1 + .../cpp/palindromePairs/PalindromePairs.cpp | 78 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 algorithms/cpp/palindromePairs/PalindromePairs.cpp diff --git a/README.md b/README.md index 594d50bb1..543f2f097 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ LeetCode |341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/) | [C++](./algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp)|Medium| |338|[Counting Bits](https://leetcode.com/problems/counting-bits/) | [C++](./algorithms/cpp/countingBits/CountingBits.cpp)|Medium| |337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| +|336|[Palindrome Pairs](https://leetcode.com/problems/palindrome-pairs/) | [C++](./algorithms/cpp/palindromePairs/PalindromePairs.cpp)|Hard| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |332|[Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/) | [C++](./algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp)|Medium| |331|[Verify Preorder Serialization of a Binary Tree](https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/) | [C++](./algorithms/cpp/verifyPreorderSerializationOfABinaryTree/VerifyPreorderSerializationOfABinaryTree.cpp)|Medium| diff --git a/algorithms/cpp/palindromePairs/PalindromePairs.cpp b/algorithms/cpp/palindromePairs/PalindromePairs.cpp new file mode 100644 index 000000000..c7c6fada2 --- /dev/null +++ b/algorithms/cpp/palindromePairs/PalindromePairs.cpp @@ -0,0 +1,78 @@ +// Source : https://leetcode.com/problems/palindrome-pairs/ +// Author : Hao Chen +// Date : 2017-03-22 + +/*************************************************************************************** + * + * Given a list of unique words, find all pairs of distinct indices (i, j) in the given + * list, so that the concatenation of the two words, i.e. words[i] + words[j] is a + * palindrome. + * + * Example 1: + * Given words = ["bat", "tab", "cat"] + * Return [[0, 1], [1, 0]] + * The palindromes are ["battab", "tabbat"] + * + * Example 2: + * Given words = ["abcd", "dcba", "lls", "s", "sssll"] + * Return [[0, 1], [1, 0], [3, 2], [2, 4]] + * The palindromes are ["dcbaabcd", "abcddcba", "slls", "llssssll"] + * + * Credits:Special thanks to @dietpepsi for adding this problem and creating all test + * cases. + * + ***************************************************************************************/ + +class Solution { +public: + bool isPalindrome(string& str) { + int left = 0, right = str.size() - 1; + while( left < right) { + if (str[left++] != str[right--]) return false; + } + return true; + } + vector> palindromePairs(vector& words) { + unordered_map dict; + for(int i=0; i> result; + + //egde case: deal with empty string + if ( dict.find("") != dict.end() ) { + for(int i=0; i Date: Thu, 13 Apr 2017 06:49:31 +0800 Subject: [PATCH 111/256] add drive ai questions P1 --- README.md | 1 + .../P1/Description.md | 43 ++++ .../P1/bin/DockerCircles | Bin 0 -> 278860 bytes .../P1/images/demo1.png | Bin 0 -> 148648 bytes .../P1/images/demo2.png | Bin 0 -> 513439 bytes .../P1/include/Tree.hpp | 214 ++++++++++++++++++ .../cpp/DockerCircles2017-DriveAI/P1/makefile | 71 ++++++ .../DockerCircles2017-DriveAI/P1/src/Tree.cpp | 153 +++++++++++++ .../DockerCircles2017-DriveAI/P1/src/Tree.o | Bin 0 -> 1277872 bytes .../DockerCircles2017-DriveAI/P1/src/main.cpp | 61 +++++ .../DockerCircles2017-DriveAI/P1/src/main.o | Bin 0 -> 274904 bytes .../P1/tests/Docker_Three_Layers.in | 2 + .../P1/tests/Docker_Three_Layers.out | 17 ++ 13 files changed, 562 insertions(+) create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md create mode 100755 algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/images/demo1.png create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/images/demo2.png create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.cpp create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out diff --git a/README.md b/README.md index 591a05788..b4fa78830 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|419|[DockerCircles](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/blob/master/DockerCircles2017-DriveAI/P1/Description.md) ♥ | [c++](./algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp) |Hard| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md b/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md new file mode 100644 index 000000000..9736b5e76 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md @@ -0,0 +1,43 @@ +Docker Build Dependencies +========================= + + (Lei Wang, yiak.wy@gmail.com RECALL the problem and made his own version, ALL RIGHTS RESERVED!) + +Engineers use docker to build environment. It is a little bit like using Virutal Machine \(Virtual Box from Oracle, or VMware\). +Fetch the docker image from repository, you can build software directly upon it. e.g: + +> if an engineer A insall python in a docker image or server, say Master, another engineer B can use python directly and install other dependencies like py-test. + +People can also publish images B from existing image A. For example: + +> we already have image Master, we can build another image Ubuntu \(ip: 0.0.10.1\) and install django inside it. Now, docker image Ubuntu 10.1 is now available for retrieving. You can hereby develop a new image upon it. + +## Taks Specification + +Engineers want to install a new software, which may depend on a series of Docker images. This may frequently happen anywhere in Docker World! Docker build system should execute an routine to update whole system's patches, which subject to the following easy understood conditions: + +1. each docker image should have dependency upon another docker image; we call it is the parent of the docker image. In this game, it is unique. +2. a patch cannot be added into the current image only after its parent finish updating. +3. if a series of docker images has a circle, we cannot build patches upon them; we need to discard them temporally. + +Given a sequence of docker dependences: + +```c++ +// , , ... +vector> Relation +``` + +Try to give a build order by solving the following function + +```c++ +shared_ptr> BuildDocker(vector>) +``` + +You can specify additional structures, classes or helper functions. The codes should be finished in C++14. + +Give your answer within at most 1 hour! + +Here is a solution from yiak \(yaik.wy@gmail.com\), for more information please refer to course "Graphics and Basic Tree Operations" + +![demo1](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/raw/master/DockerCircles2017-DriveAI/P1/images/demo1.png) +![demo2](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/raw/master/DockerCircles2017-DriveAI/P1/images/demo2.png) diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles b/algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles new file mode 100755 index 0000000000000000000000000000000000000000..fa6483301346d5c20d1f331a0657e16a66973e6d GIT binary patch literal 278860 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ℜ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

`+4pb0b?G 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%0DPHULK{_wnmD8bK3nC^-7knnUv-2Vg+y_ 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

HB&P9Qxw=b%9)WIK}b_F+gfeD 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

#IC!iJ^xk9G>(ks<`jl=)22 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� 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 z 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%0DU$am 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 literal 0 HcmV?d00001 diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp b/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp new file mode 100644 index 000000000..cab9e0697 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp @@ -0,0 +1,214 @@ +// +// Tree.hpp +// Docker_Dependencies +// +// Created by Wang Yi on 7/4/17. +// Copyright © 2017 Wang Yiyiak.co. All rights reserved. +// + +#ifndef Tree_hpp +#define Tree_hpp + +#include +#include +using std::vector; +#include +#include +#include +#include +using std::unordered_map; +using std::pair; +using std::stack; +using std::queue; +using std::set; + +#include +using std::string; + +#include +using std::shared_ptr; + +class TreeNode { +public: + TreeNode(string name):img(name), parent(nullptr), m_pos(0){}; + TreeNode(const TreeNode& nd) + { + if (this != &nd) + { + this->img = nd.img; + this->children = nd.children; + this->parent = nd.parent; + this->m_pos = nd.m_pos; + } + } + + TreeNode& operator = (const TreeNode& nd){ + if (this != &nd) + { + this->img = nd.img; + this->children = nd.children; + this->parent = nd.parent; + this->m_pos = nd.m_pos; + } + return *this; + } + + virtual ~TreeNode(){ + for (auto child : children){ + delete child; + } + }; + + void add(TreeNode* child){children.push_back(child);}; + void set_pos(int pos){this->m_pos = pos;}; + + vector wfs(); + // please refer to this question: http://stackoverflow.com/questions/1549930/c-equivalent-of-java-tostring for more details + string _str() const {return string(" Node: <") + this->img + string("> ");} + virtual std::ostream& dump(std::ostream& o) const { + return o << _str(); + } + + string img; + vector children; + TreeNode* parent; + int m_pos; + +}; + +std::ostream& operator<<(std::ostream& o, const TreeNode& t); + +vector& build_children(TreeNode* parent, vector imgs, unordered_map visited); +vector build_Tree_Merged(vector>& edges); +shared_ptr> DockerBuildDependency(vector>& Relation); + +#define TAIL "└──" +#define NORMAL_NODE "├──" +#define INDENT_PREFIX "| " +#define INDENT_PREFIX_FOR_LAST " " +#define ROOT_PREFIX "───" +#define INDENT_STEP 3 + +template class _tree_node_printer { +public: + _tree_node_printer(Tree* t=nullptr): m_tree(t){}; + _tree_node_printer(const _tree_node_printer& nd) + { + if (this != &nd) + { + m_tree = nd.m_tree; + prefix = nd.prefix; + isRoot = nd.isRoot; + isTail = nd.isTail; + } + } + + _tree_node_printer& operator = (const _tree_node_printer& nd) + { + if (this != &nd) + { + m_tree = nd.m_tree; + prefix = nd.prefix; + isRoot = nd.isRoot; + isTail = nd.isTail; + } + return *this; + } + + virtual ~_tree_node_printer() + { + for (auto child : children){ + delete child; + } + } + + string _str(); + vector<_tree_node_printer*> build_children() + { + if (m_tree->children.size() != 0 && children.size() == 0) + { + int i=0; + for (i=0; i < m_tree->children.size() - 1; i++) + { + Tree* child = m_tree->children[i]; + _tree_node_printer* nd = new _tree_node_printer(child); + nd->prefix = string(NORMAL_NODE); + children.push_back(nd); + } + + if (m_tree->children.size() - 1 >= 0) + { + Tree* child = m_tree->children[m_tree->children.size() - 1]; + _tree_node_printer* nd = new _tree_node_printer(child); + nd->prefix = string(TAIL); + nd->isTail = true; + children.push_back(nd); + } + + } + + return children; + } + + virtual std::ostream& dump(std::ostream& o) { + return o << _str(); + } + +private: + Tree* m_tree; + + // fmt info + string prefix = ""; + string indent = ""; + bool isRoot = false; + bool isTail = false; + + vector<_tree_node_printer*> children; +}; + +typedef _tree_node_printer TreeNodePrinter; + +template +string +_tree_node_printer::_str() { + vector temp; + string ret; + stack<_tree_node_printer*> s; + + this->prefix = string("\n") + string(ROOT_PREFIX); + this->isRoot = true; + this->isTail = true; + + s.push(this); + vector<_tree_node_printer*> children; + _tree_node_printer* curr=nullptr; + + + while(!s.empty()) + { + curr = s.top(); s.pop(); + string indent = curr->indent; + + // visit func + temp.push_back(indent + curr->prefix + curr->m_tree->_str() + string("\n")); + + auto children = curr->build_children(); + std::reverse(children.begin(), children.end()); + for(auto child : children) + { + string curr_indent = curr->isTail == true ? string(INDENT_PREFIX_FOR_LAST) : string(INDENT_PREFIX); + child->indent = indent + curr_indent; + s.push(child); + } + + } + + // we can use boost::algorithm::join(vec, delim) here + for (string el : temp) + { + ret += el; + } + return ret; +} + +#endif /* Tree_hpp */ diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile b/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile new file mode 100644 index 000000000..272540d06 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile @@ -0,0 +1,71 @@ +PWD=. +project_name=DockerCircles +TARGET=$(project_name) + +exclude_dirs= include bin lib +CXX=clang++ +CC=gcc +RM=rm -rf + +exec=./bin +include=./include +lib=./lib + +LIBS=-lm -L/usr/local/Cellar/glog/0.3.4_1/lib \ + -L/usr/local/Cellar/boost157/1.57.0/lib \ + -L/usr/local/lib\ + -lglog + +CFLAGS= -Wall -c +CPPFLAGS= -g -Wall -Wno-unused -Wno-write-strings \ + -I/usr/local/Cellar/boost157/1.57.0/include/ \ + -I/usr/local/Cellar/glog/0.3.4_1/include/ \ + -I/usr/local/include/ + +SRCS=$(wildcard *.cpp) \ + $(wildcard $(SRCS_DIR)/*.cpp) +CSRCS=$(wildcard $(SRCS_DIR)/*.c) + +SRCS_DIR=./src +# OBJ=$(SRCS: .cpp=.o) +OBJ=$(patsubst %.cpp, %.o, $(SRCS)) +COBJ=$(patsubst %.c, %.o, $(CSRCS)) + +# LINK WITH link flags +$(TARGET): $(OBJ) $(COBJ) + $(CXX) -v $(CPPFLAGS) -I$(include) -std=c++11 -stdlib=libc++ $^ $(LIBS) -o $@ + mv $@ $(exec)/ + +# COMPILE with compile flagsa +%.o : %.c + $(CC) -v -std=gnu99 -I$(include) $(CFLAGS) -c $< -o $@ + @echo $(GREEN) [INFO] $(COLOR_OFF) "find C sources: " $(CSRCS) +%.o : %.cpp + $(CXX) -v -std=c++11 -stdlib=libc++ -I$(include) $(CPPFLAGS) -c $< -o $@ + @echo $(GREEN) [INFO] $(COLOR_OFF) "find CPP sources: " $(SRCS) + +.PHONY: clean +clean: + @echo $(GREEN) [INFO] $(COLOR_OFF) "find objs: " $(OBJ) $(COBJ) + $(RM) $(OBJ) $(exec)/$(TARGET) + +all: $(TARGET) + @echo $(GREEN) [INFO] $(COLOR_OFF) "find sources: " $(SRCS) + @echo $(GREEN) [INFO] $(COLOR_OFF) "target has been complied!" + +run: $(TARGET) + $(exec)/$(TARGET) + +COLOR_OFF='\033[0m' +GREEN='\033[0;32m' + +headers=$(wildcard $(include)/*.h) \ + $(wildcard $(include)/*.hpp) + +init: + @ echo $(GREEN) [INFO] $(COLOR_OFF) "headers are : " "$(headers)" + @ echo $(GREEN) [INFO] $(COLOR_OFF) "srcs are" : "$(SRCS)" + @[ -d include ] || (mkdir include && -mv "$(HEADERS)" --target-directory=include/) + @[ -d bin ] || mkdir bin + @[ -d lib ] || mkdir lib + @[ -d src ] || (mkdir src && mv "$(SRCS)" --target-directory=src/) diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp new file mode 100644 index 000000000..4a11754a3 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp @@ -0,0 +1,153 @@ +// +// Tree.cpp +// Docker_Dependencies +// +// Created by Wang Yi on 7/4/17. +// Copyright © 2017 Wang Yiyiak.co. All rights reserved. +// + +#include "Tree.hpp" +std::ostream& operator<<(std::ostream& o, const TreeNode& t) +{ + return t.dump(o); +} + +vector +TreeNode::wfs() +{ + vector ret; + queue q; + q.push(this); + vector children; + int depth = 1; + TreeNode* curr = nullptr; + int curr_no = 1, next_no = 0; + + while (!q.empty()) + { + curr = q.front(); q.pop(); + + // visit + ret.push_back(curr); + curr_no --; + + auto children = curr->children; + next_no += (int)children.size(); + + if (curr_no == 0){ + depth++; + curr_no = next_no; + next_no = 0; + } + + for(auto child : children) + { + q.push(child); + } + + } + + return ret; + +} + +// typedef _treenode TreeNode; + +vector& build_children(TreeNode* parent, vector imgs, unordered_map visited) +{ + int i=0; + for(i=0; iset_pos(i); + nd->parent = parent; + parent->children.push_back(nd); + + } + return parent->children; +} + +vector build_Tree_Merged(vector>& edges) +{ + unordered_map> g_edges; + stack s; + unordered_map visited; + TreeNode* curr; + TreeNode* p; + vector forest; + vector ret; + TreeNode sentinel("Sentinel") ; + + for(auto edge : edges) + { + // base tree or directed graph egdes build + string name = edge.second; + if(g_edges.find(name) != g_edges.end()) + { + g_edges[name].push_back(edge.first); + } else { + vector children(1, edge.first); + g_edges[name] = children; + forest.push_back(new TreeNode(name)); + } + } + + // merge trees + for(auto tree: forest){ + s.push(tree); + + while(!s.empty()){ + curr = s.top(); s.pop(); + if (visited.find(curr->img) != visited.end()) + { + // a circle find + p = curr->parent; + if (p != nullptr) + p->children.erase(p->children.begin() + curr->m_pos); + else { curr->parent = &sentinel; curr->set_pos(sentinel.m_pos++); } + continue; + } + visited[curr->img] = curr; + vector imgs = g_edges[curr->img]; + auto children = build_children(curr, imgs, visited); + for (auto child : children){ s.push(child); } + + } // end while + + } // end for + + // be considered susptect for copy cost + for(auto tree : forest){ + if (tree->parent == nullptr){ + TreeNodePrinter tnp(tree); + std::cout << "------" << std::endl; + std::cout << tnp._str(); + ret.push_back(tree); + } + } + + return ret; +} + +shared_ptr> DockerBuildDependency(vector>& Relation) +{ + shared_ptr> ret(new vector()); + vector forest = build_Tree_Merged(Relation); + for (auto tree : forest) + { + vector nd_seq = tree->wfs(); + vector imgs_seq; + for(auto nd : nd_seq) + { + imgs_seq.push_back(nd->img); + } + ret->insert(ret->end(), imgs_seq.begin(), imgs_seq.end()); + } + return ret; +} diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o new file mode 100644 index 0000000000000000000000000000000000000000..05785b0a6a69753b55bdb6fc785a7f8caa8303e8 GIT binary patch literal 1277872 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%0AF$JOZ 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 +#include +#include +#include +using std::string; +#include +using std::pair; +using std::make_pair; +#include "Tree.hpp" + +#define FOR(s, e) \ +for(s=0; s < e; s++) { +#define END ;} + +int main(int argc, const char * argv[]) { + int N; + std::cout << "Input the Number of imgs dependencies: "; + std::cin >> N; + vector> Rel(N); + vector item(2); + std::stringstream split, kw; + string line; + string temp, part; + + std::getline(std::cin, line); + + int i=0, j; + while(i < N) { + std::getline(std::cin, line); + split << line; + while (split >> temp && i < N){ + kw.str(temp); + j = 0; + while (std::getline(kw, part, ',') && j < 2) + { + item[j++] = part; + } + Rel.at(i++) = pair(item[0],item[1]); + kw.clear(); + } + + } + + shared_ptr> ret = DockerBuildDependency(Rel); + + for (auto item : *ret) + { + std::cout << item << ' '; + } + std::cout << std::endl; + + return 0; +} \ No newline at end of file diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o new file mode 100644 index 0000000000000000000000000000000000000000..c86ae53332addd6a1dee1de85a9843b3d4d0cc66 GIT binary patch literal 274904 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

ti20Hm$ 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 literal 0 HcmV?d00001 diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in new file mode 100644 index 000000000..de75bc22d --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in @@ -0,0 +1,2 @@ +7 +Ubuntu10.1,Master Ubuntu10.2,Master Ubuntu10.3,Master vm1,Ubuntu10.9 vm2,Ubuntu10.2 division1,Ubuntu10.2 Ubuntu11.2,google-server diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out new file mode 100644 index 000000000..30245dff9 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out @@ -0,0 +1,17 @@ +Input the Number of imgs dependencies: ------ + +─── Node: + ├── Node: + ├── Node: + | ├── Node: + | └── Node: + └── Node: +------ + +─── Node: + └── Node: +------ + +─── Node: + └── Node: +Master Ubuntu10.1 Ubuntu10.2 Ubuntu10.3 vm2 division1 Ubuntu10.9 vm1 google-server Ubuntu11.2 From 1567d0ed797a193ede6ff29b5312097a0ab22899 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Thu, 13 Apr 2017 07:56:53 +0800 Subject: [PATCH 112/256] add new problem --- .gitconfig | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitconfig diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 000000000..e5adb6835 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,4 @@ +[alias] + lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all + lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all + lg = !"git lg1" From 007e5a19e4e5f60b76cc8d836dc0b8097073ffe3 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Tue, 29 Nov 2016 03:11:52 +0800 Subject: [PATCH 113/256] New Problem Solution "Sentence Screen Fitting" --- README.md | 1 + .../cpp/sentenceScreenFitting/OJ#418.cpp | 128 ++++++++++++++++++ algorithms/cpp/sentenceScreenFitting/OJ#418.h | 28 ++++ algorithms/cpp/sentenceScreenFitting/main.cpp | 45 ++++++ 4 files changed, 202 insertions(+) create mode 100644 algorithms/cpp/sentenceScreenFitting/OJ#418.cpp create mode 100644 algorithms/cpp/sentenceScreenFitting/OJ#418.h create mode 100644 algorithms/cpp/sentenceScreenFitting/main.cpp diff --git a/README.md b/README.md index 543f2f097..d3c63fb9d 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| +|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| diff --git a/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp b/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp new file mode 100644 index 000000000..ca2dc9c5c --- /dev/null +++ b/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp @@ -0,0 +1,128 @@ +// +// OJ#418.cpp +// LeeteCodeOJ#418 +// +// Created by Wang Yi on 25/10/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include "OJ#418.h" +#include +#include +#include +#define FOR(START, END) for((START)=0;(START)<(END);(START)+=1) { +#define END ;} +#define N 100 + +// first brute force solution +int SentenceScreenFitting(char stc[][M], int row, int col, size_t l) +{ + int i, j, t, s, k=0, ret=0; + int len[N] = {0}; + FOR(i, l) len[i] = (int)strlen(stc[i]) END + + FOR(i, row) + j = col; + t = k; + while (j - len[k] >= 0) { + j -= len[k] + 1; + if (k+1 > l-1){ + FOR(s, k-t) std::cout << stc[t+s] << ' ' END; + std::cout << stc[t+s]; + if (j - len[0] >= 0) + std::cout << ' '; + k = 0; + t = 0; + ret++; + } else{ + k++; + } + } + FOR(s, k-t-1) std::cout << stc[t+s] << ' ' END; + if (k-t > 0) + std::cout << stc[t+s]; + + std::cout << std::setfill ('-') << std::setw(j == col ? col:j+1) << "" << std::endl; + END + + return ret; +} + +/* +int Solution::wordsTyping(vector& sentence, int rows, int cols) +{ + int i, j, t, s, k=0, ret=0, l=(int)sentence.size(); + int len[N] = {0}; + FOR(i, l) len[i] = (int)sentence[i].size() END + + FOR(i, rows) + j = cols; + t = k; + while (j - len[k] >= 0) { + j -= len[k] + 1; + if (k+1 > l-1){ +// FOR(s, k-t) std::cout << sentence[t+s] << ' ' END; +// std::cout << sentence[t+s]; +// if (j - len[0] >= 0) +// std::cout << ' '; + k = 0; + t = 0; + ret++; + } else{ + k++; + } + } +// FOR(s, k-t-1) std::cout << sentence[t+s] << ' ' END; +// if (k-t > 0) +// std::cout << sentence[t+s]; +// +// std::cout << std::setfill ('-') << std::setw(j == cols ? cols:j+1) << "" << std::endl; + END + + return ret; +} +*/ + +// second boosting +int Solution::wordsTyping(vector& sentence, int rows, int cols) +{ + int i, j, k=0, ret=0, l=(int)sentence.size(); +// int t, s; + int jump = 0; + int len[N] = {0}; + FOR(i, l) len[i] = (int)sentence[i].size();jump += len[i] END + jump += l; + + FOR(i, rows) + j = cols; +// t = k; + + if (k == 0){ + ret += j / jump; + j = j % jump; + } + + while (j - len[k] >= 0) { + j -= len[k] + 1; + if (k+1 > l-1){ + // FOR(s, k-t) std::cout << sentence[t+s] << ' ' END; + // std::cout << sentence[t+s]; + // if (j - len[0] >= 0) + // std::cout << ' '; + k = 0; +// t = 0; + ret += j / jump + 1; + j = j % jump; + } else { + k++; + } + } + // FOR(s, k-t-1) std::cout << sentence[t+s] << ' ' END; + // if (k-t > 0) + // std::cout << sentence[t+s]; + // + // std::cout << std::setfill ('-') << std::setw(j == cols ? cols:j+1) << "" << std::endl; + END + + return ret; +} \ No newline at end of file diff --git a/algorithms/cpp/sentenceScreenFitting/OJ#418.h b/algorithms/cpp/sentenceScreenFitting/OJ#418.h new file mode 100644 index 000000000..e3a3523cb --- /dev/null +++ b/algorithms/cpp/sentenceScreenFitting/OJ#418.h @@ -0,0 +1,28 @@ +// +// OJ#418.h +// LeeteCodeOJ#418 +// +// Created by Wang Yi on 25/10/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#ifndef __LeeteCodeOJ_418__OJ_418__ +#define __LeeteCodeOJ_418__OJ_418__ + +#define M 10 + +#include +#include +#include + +using std::vector; +using std::string; + +int SentenceScreenFitting(char stc[][M], int row, int col, size_t l); + +class Solution { +public: + int wordsTyping(vector& sentence, int rows, int cols); +}; + +#endif /* defined(__LeeteCodeOJ_418__OJ_418__) */ diff --git a/algorithms/cpp/sentenceScreenFitting/main.cpp b/algorithms/cpp/sentenceScreenFitting/main.cpp new file mode 100644 index 000000000..8ee89954d --- /dev/null +++ b/algorithms/cpp/sentenceScreenFitting/main.cpp @@ -0,0 +1,45 @@ +// +// main.cpp +// LeeteCodeOJ#418 +// +// Created by Wang Yi on 25/10/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include +#include +#include +#include +#include +#include "OJ#418.h" +#define N 100 +#define M 10 + +using std::vector; + +int main(int argc, const char * argv[]) { + int rows, cols, ret; +// int i=0; +// char stc[N][M]; + vector sentence; + std::string word; + std::string line; + std::stringstream numbers, split; + + std::getline(std::cin, line); + numbers << line; + numbers >> rows >> cols; + std::getline(std::cin, line); + split << line; + + while (split >> word){ + sentence.push_back(word); +// strcpy(stc[i++], word.c_str()); + } + + Solution solution; + ret = solution.wordsTyping(sentence, rows, cols); +// ret = SentenceScreenFitting(stc, rows, cols, i); + std::cout << ret << std::endl; + return 0; +} From 0398a784df6c7d648a45667251fbd8289aa7c160 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Tue, 29 Nov 2016 03:20:03 +0800 Subject: [PATCH 114/256] add heart --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3c63fb9d..29eb0fc46 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| -|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| +|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| From 27c10d345cd7aa750c6017c1656c79c59029ed10 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Tue, 29 Nov 2016 03:31:56 +0800 Subject: [PATCH 115/256] New method (non recursive) for CourseSchedule --- .../non-recursive/course_schedule.cpp | 149 ++++++++++++++++++ .../cpp/courseSchedule/non-recursive/main.cpp | 30 ++++ 2 files changed, 179 insertions(+) create mode 100644 algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp create mode 100644 algorithms/cpp/courseSchedule/non-recursive/main.cpp diff --git a/algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp b/algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp new file mode 100644 index 000000000..b7decde33 --- /dev/null +++ b/algorithms/cpp/courseSchedule/non-recursive/course_schedule.cpp @@ -0,0 +1,149 @@ +// +// course_schedule.cpp +// LeeteCodeOJ#207 +// +// Created by Wang Yi on 28/11/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include + +#include +#include +#include +#include + +using std::stack; +using std::queue; +using std::vector; +using std::unordered_set; +using std::pair; + +typedef pair Val; +typedef vector> Graph; + +#define FOR(s, e) \ +for (s = 0; s < e; s++) { +#define END ;} + + typedef struct _node { + int val; + // int depth; + struct _node * parent; + } node; + + class Solution { + public: + bool canFinish(int numCourses, vector>& prerequisites) { + vector outdepth(numCourses, 0); + unordered_set vex; + if ((int) prerequisites.size() == 0) + return true; + vector> graph = to_neighbor_repr(numCourses, prerequisites, outdepth); + + return dsf(numCourses, graph, outdepth); + } + + vector> to_neighbor_repr(int numOfvex, vector& edges, + vector& outdepth) { + // std::cout << "building ... " << std::endl; + vector> graph(numOfvex); + for (auto edge : edges) { + graph[edge.second].insert(edge.first); // second -> first + outdepth[edge.second]++; + // std::cout << edge.first << " <- " << edge.second << std::endl; + } + + return graph; + + } + + + bool dsf(int numOfvex, vector>& graph, vector& outdepth) + { + // preparation + stack s; + vector visited(numOfvex, false); + vector onpath(numOfvex, false); + vector starts; + + int i; + + unordered_set children; + + + FOR(i, numOfvex) + if (outdepth[i] !=0 ) { + starts.push_back(i); + } + END + + if ((int)starts.size() == 0) + return false; // no vertex with indepth of 0 found, a circle found + + for (auto j: starts) { + // std::cout << "start from " << j << std::endl; + // do dsf search, if not visited + // when a circle in a path found, return false. + // else return true + if (visited[j]) + continue; + + node head; + head.val = j; + head.parent = NULL; + // head.depth = 1; + s.push(head); + + // non-recursive search + while (!s.empty()) { + node* curr = &(s.top()); + + if (visited[curr->val]) { + // all children have been read + s.pop(); + onpath[curr->val] = false; + continue; // ignore ... + } + + onpath[curr->val] = visited[curr->val]= true; + children = graph[curr->val]; + + if ((int)children.size() == 0) { + s.pop(); + onpath[curr->val] = false; + // std::cout << "==== reach the end ===="<val << "'s children is: "; + for (auto child: children) { + // std::cout << child << " "; + //if (onpath.find(child) == onpath.end()) + if (onpath[child]) { + + // std::cout << std::endl << "a circle found:" << std::endl; + // std::cout << child << " <- "; + // while (curr->parent != NULL) { + // std::cout << curr->val << " <- "; + // curr = curr->parent; + // } + // std::cout << curr->val << std::endl; + + return false; // a circle found, might print debug here + } + + node nd; + nd.val = child; + // nd.depth = curr->depth+1; + nd.parent = curr; // for debug purpose ... + s.push(nd); + } + // std::cout << std::endl; + } + + } // end of for + return true; + } + + }; \ No newline at end of file diff --git a/algorithms/cpp/courseSchedule/non-recursive/main.cpp b/algorithms/cpp/courseSchedule/non-recursive/main.cpp new file mode 100644 index 000000000..f667c8796 --- /dev/null +++ b/algorithms/cpp/courseSchedule/non-recursive/main.cpp @@ -0,0 +1,30 @@ +// +// main.cpp +// LeeteCodeOJ#207 +// +// Created by Wang Yi on 28/11/16. +// Copyright (c) 2016 Wang Yi. All rights reserved. +// + +#include +#include +#include + +#include "course_schedule.cpp" + +using std::make_pair; + +int main(int argc, const char * argv[]) { + // insert code here... + Solution sl; + int numCourses = 4; + vector prerequisites; + prerequisites.push_back(make_pair(0,1)); + prerequisites.push_back(make_pair(3,1)); + prerequisites.push_back(make_pair(1,3)); + prerequisites.push_back(make_pair(3,2)); + + + std::cout << sl.canFinish(numCourses, prerequisites); + return 0; +} From ace44a5c9e0d4dccb6f807bec56362b737ff6926 Mon Sep 17 00:00:00 2001 From: yiakwy Date: Thu, 13 Apr 2017 06:49:31 +0800 Subject: [PATCH 116/256] add drive ai questions P1 --- README.md | 1 + .../P1/Description.md | 43 ++++ .../P1/bin/DockerCircles | Bin 0 -> 278860 bytes .../P1/images/demo1.png | Bin 0 -> 148648 bytes .../P1/images/demo2.png | Bin 0 -> 513439 bytes .../P1/include/Tree.hpp | 214 ++++++++++++++++++ .../cpp/DockerCircles2017-DriveAI/P1/makefile | 71 ++++++ .../DockerCircles2017-DriveAI/P1/src/Tree.cpp | 153 +++++++++++++ .../DockerCircles2017-DriveAI/P1/src/Tree.o | Bin 0 -> 1277872 bytes .../DockerCircles2017-DriveAI/P1/src/main.cpp | 61 +++++ .../DockerCircles2017-DriveAI/P1/src/main.o | Bin 0 -> 274904 bytes .../P1/tests/Docker_Three_Layers.in | 2 + .../P1/tests/Docker_Three_Layers.out | 17 ++ 13 files changed, 562 insertions(+) create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md create mode 100755 algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/images/demo1.png create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/images/demo2.png create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.cpp create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in create mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out diff --git a/README.md b/README.md index 29eb0fc46..6d14c90ff 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| +|419|[DockerCircles](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/blob/master/DockerCircles2017-DriveAI/P1/Description.md) ♥ | [c++](./algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp) |Hard| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md b/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md new file mode 100644 index 000000000..9736b5e76 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md @@ -0,0 +1,43 @@ +Docker Build Dependencies +========================= + + (Lei Wang, yiak.wy@gmail.com RECALL the problem and made his own version, ALL RIGHTS RESERVED!) + +Engineers use docker to build environment. It is a little bit like using Virutal Machine \(Virtual Box from Oracle, or VMware\). +Fetch the docker image from repository, you can build software directly upon it. e.g: + +> if an engineer A insall python in a docker image or server, say Master, another engineer B can use python directly and install other dependencies like py-test. + +People can also publish images B from existing image A. For example: + +> we already have image Master, we can build another image Ubuntu \(ip: 0.0.10.1\) and install django inside it. Now, docker image Ubuntu 10.1 is now available for retrieving. You can hereby develop a new image upon it. + +## Taks Specification + +Engineers want to install a new software, which may depend on a series of Docker images. This may frequently happen anywhere in Docker World! Docker build system should execute an routine to update whole system's patches, which subject to the following easy understood conditions: + +1. each docker image should have dependency upon another docker image; we call it is the parent of the docker image. In this game, it is unique. +2. a patch cannot be added into the current image only after its parent finish updating. +3. if a series of docker images has a circle, we cannot build patches upon them; we need to discard them temporally. + +Given a sequence of docker dependences: + +```c++ +// , , ... +vector> Relation +``` + +Try to give a build order by solving the following function + +```c++ +shared_ptr> BuildDocker(vector>) +``` + +You can specify additional structures, classes or helper functions. The codes should be finished in C++14. + +Give your answer within at most 1 hour! + +Here is a solution from yiak \(yaik.wy@gmail.com\), for more information please refer to course "Graphics and Basic Tree Operations" + +![demo1](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/raw/master/DockerCircles2017-DriveAI/P1/images/demo1.png) +![demo2](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/raw/master/DockerCircles2017-DriveAI/P1/images/demo2.png) diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles b/algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles new file mode 100755 index 0000000000000000000000000000000000000000..fa6483301346d5c20d1f331a0657e16a66973e6d GIT binary patch literal 278860 zcmeFa4}4~4T_^gcLurb@n}R}Q)doe)@HYjNzyQr?L(j+zrbsmlTPLM04N}_(9Z6*e zGrn^$r^g54ZqFL-r5YD@%|%zE>stf(vYF}JNm>z7cDLqUQ3ASff<*$wHZ6bVe*Zk@ z&6~`$diS!fcR!uay!oEr@Ao{)KPRO`TV()h@zs;qkRv zI`vFE)oR~~UxMG^!z24IAAbGtYk!>Fo&UOalINrt&I(>|`0(q7M_;$oiTtnf?H&Ij zjkwj$$FDnz4j;bxy2+cj-R%xBnt5Co$DY9zOiGn~%KlZEe=>@D>)& zQ+QvGE-Je6&>h1=mg%3vJ3M~f4HMVB6`bAS{mzFR-dxNy(mPUqR{XBN=9f(pxj zq<4p5iT@rxeBJorH@)@hpS`Z4ch)W&As|be= zUw_kfsh%Cbo*2K$=!f*~@SeLPyc@25wD?WO@J3=iA>A1s)4Oj+c-LNi^VQpo-TAkE zkMnOj212^Zt8HJ~Puu;{!2_>(_3&i}sy<~smcvAh7-;@Gc(rN9D@w%w-db&HfKPBY z2p9y;qO(~o&#R3h0{ve+uQm>P=I_p{^&`_6S})yyrIKr*C9WEmqAoj}L6lefT{QzZV>N+go37!<*muf@^QN;abrA z_s{TSJjy4&@7kAkzv2)7!<&BnrVsS4{?4<&Q=NI@6X5v?sw3?>1X(}QOMeru-`Q&T z9;Tl%OYTL?ySCqr_y5E#Z@c-rpMCz1JRk9R^Bdt1|LAWBziofa-OArh*Ia$W3vQaY z`32YCaMSfl0zC5h`2#T!`e**P{XgzS2%z$hG{eI+&w0-CFNyAd0B)I{#jl-LOW<;E zq*)&S6#reBWdAK`+}D?6N4Jvf$YzrB_sS&y#hxS|2J2{0_fSiLNCFfw4 z_7ieZNa&!M0|2C#6qrL~hLlWrNCpeaSO(_1>_)X zauD_eAs2=BPMJ9gKx9aPIZb9r$%Ka)LLRB}P(}I_gD^+OAw+7HR9=Xgg?Un0Ywl}= zKTEQYCs{fRqP*eLwb}+FtUpOew;am4pxBa!V!?q4vSQJcAS;$k39@?;ofR^c)jX5s zA8~bToJ3tL)+9++0Wpun$(!UrUJ9CecOI#*NoF45Lb$4Zla9ld`KIm$zgzsYhmc1= zo9S9kzlv0_n?m`Nc;vg6)4z_)<#avrka}0ywAWz>vb4{X0F}p-pt01Cj2tjWkfnpB z1dYL3{k9X+;n(nnTT}jh@tOIqdP)s<wA(eI-ka?kO_uvFqrP`COOK`vQLzM`HZfer7vfBa6JhV za+Z!eGNSSkgmxOGJSnE3aT=xDoH9p{HK$Dp_B{=`G=&({k6(&tF0w4LlSyceMK2JQ z|Mpb75=Oqfz~_uy85&D?RXS^qAWP>=83NyvR&no35Nu8@gpD`+m-ub8=+ zxtUpWRWd`CmiD)9e{1$9W?qPyH^t1FoAxKj((W^QUro^5vOiIIAu20+D9a-}CCPfq z|MO0iX6_8glWz3oNKewe@!iO|BzIEs7L!_j5KgySu%2>N?lUWy5RFI0+BngNEMH;v zWFIe|3dO5x^X8?!ibe#yG_NIlPb4QE+LPVAr&x!-On)0KHl12MeJvuBt8q1!x-vcF zYD|9bcEj3$7E;UZLBaK+tIEQ+@HA@b5F--`N3B?5tWiFSe9`Cp zGQ1FlIY>s<957#iCL?B%h-oS}m4z|OMlBPS7oxI@kY7U*hklC%Sy)sYg5wazEiIB<5xGu-8(0C~xU-8Tg!QoGY)U!|&=~ zjObb8UUKXdRjjM-gk#pp^0wbPuU5Z!s224%bTXCx280e*zW?c6HE3%+)Yf+EYmNKt zK0mru{>g73269)w__Es0@F;)BZ=NkbcHamqe%2a5@35Rc7k?2|j8WAS>b3?&521@x zo-rz1Q&5iXz_R9`s21U1emQE_r3dzI9n4TE3JtLDO&)v*m0Qm*JyCCbnM&rehBv-0 zxkm4U3x^kKEXFK7N0;@MPxdBzdQgQlexq5-W$eIOqVi@BnB~h+Z;}vt7`0IJ3Yw#? zA8b2NYx?Bb{bU}y%am=Hni^%ffclr2Zk_3%Wdz8`JeZ;ItMK%$b__@CN|2>v^qRFM z3Cn7D%79!P1U4c0(dmQP@Dy6W^uc_1>R@&ODvR2C)=KCgH)KcA&X3HXmf*+dqiE+x z=0M}eXK4RUa@JHnWLKg&qZ#LD*7=oa&WF&9uUrDX0@`gjyK+_SIL8o=$9+%O4@F}C z)R)iff8a#bqJQ)pg?6Y!kFbvRh?aZhdQufs%LR3B`CN4S>?^F*Y-}Nj#RPw{ z?!4OR^lzY6btTzya!qjUDqI_`+(JAz5hpc=XTGj&Ir}DqjXa z4>%!F)#9uZ#l^Um?`DWkV0+73eW;Illj$t~3Kj;0M-HOEhKPnBD%(F;aT-f~Nb(4U zr~`H?ieohLENhL5X=p5?TZp=h0TVdO1^emqZn-rBfI>;!& z07w>^^Mpb%Shb!sM}S#`DTBgE^4B1SVOjzKs<~1S)g(*^Aw!d!wUc=VA!aTnWD9hX z3lP`}omi8CY|;M2v?c|YWJ0!Te+25H0x3<9t&u{XBPc{=#il6(G@^^j|M+2+SWpH~ zyK9_8damf+pwR{GE0KqmvTPPkRkLz+Xi`pC#v6BXn2CkUqC9qr{jLUqP3HA`e)GH< zd-vV_`?34hFJvjCLk}W=5E8+6y#5c)s~rr(<-rif$wBE0nj-|Xc|nWR!MqS;#h57p z3euDy3sa<^M2KlBH-&k;Wz&|4$_r5_Im>1(6NQPpm|?-PdCNrQg(ytq#5ABd?Q+R3 zMWGzcT(wKWq3oiAxe|OZQ%<0h+(ZYt2}B>!oZ3=WObUt#K^PaLV+5$Rre;M2LE}U( zYQ~&70!&&>843p&HXmZ}MM=P{P|y^WeS*CjVpx9udobu^>8SjR1!~Ja1X-x5Dj2fR zZAy@Z9#aA--l5kVK^FQ<39`^{%7FQ47{O~#r$3IrPy||}YW3rbFwY?6j*^@pN`v&8 zg#m?-8ca1dx{_zEB#kYo+0RrBx8r<=7y~boyCK_XE(e#~mED~@*i=wiK`CA;z}uW1 zhQN$sjzjrDOlAprDyp*ir1NG9(DqFkke0`-!ru_XY_teS;Fj9pIKr6@FaF~gFbELvvDT3uA`valwZ4KA3qnG!@Ri_I(bJ6_iK zd{={}#ZW^^>&N%IWJn;{-Rf0?0PVt*02yG)0E+}HG7q3K?hIhlaTK&oHd|!kg${sF zzvH444|gTkz>K3%kns!*F<4Ll5rUG8+_p~v8lb2`kQD=_1eh3_BGm7AVdHaMjc>AN z*i_)51hkV(0-{m*2m;I#O$o9vZpxq}uftQ7ar<9XTGd-<_ie~YRx|g zqKyH)mjfMjFb3tzQb)eT0Q&4mfXZu1fRVtI!1*$0jv%vLqHUgF;K&z2oYTOLOb@V$ zIbYm4r0dQzL9}G$(V&%XT1Kef(cSn=SK}dc<(H}~Th895LzDJde)!p4wJiN(CJb(1 z0OBJDs@qOXeWq(Vu)c2mD@d%|H>8sx#A_6y3atK7boq*6{i8iEy=P}l|0%mu!*47x zEwK+!T%gQ>6H8suGKY^F??Kw#V7fNAXvB%ZGHMedSl<7uv>`BZ)$|D+d~M?o(Z~>& zokP|}0$oATcN$%>}&vAZ?~$9#2Vj z0wO*^i=wFf&|YXOm1|gZ8cR@xVA08j*D7|N^d@Iu*S$Nr=L`F@yZ58zUIttHh4#}Sa<02kVMhyK>*9j=QbP*O+fDQ#zOI>{QSx#{o}s?Btiz+uvNfBmOVu=s93V&7DM z*%MZt0QUJQ=KA&id+x9Qi&d2IbMHHxd)|@)PIBnvhpVnF}efHv|Q0e z*7u8Qn%NSSHHXN|T7#B}%0(fUm|9Hw#^j_qYL_E+DJuVA%*(~t_mX2|Sa}r-$)zO82RNmN=2AXwAX+Q8^JvYwq#z6HrUaOfni6DT)0DvK|CTudf<*2&N*_S~cD? zO+Rq~JFZ%@IPyX-LODq8CCXgX1N*zFOAIN@>m7FzG)-f%g%Pv0q}$OEVEM(A03))4 z?Gw{fUWm%Vpk)J+wFu>NKA;YZfn$)n@tiM(o?wp&VL2TFAjL?s1z47#Aa7ED1dI!c zF+p=wvS2Dqh|&&#^3GqaOlx_I#an)S2D>CM6J#O7dL<=3*p#2nG5HvI1cfLJt!4^f z!ZBq)K$_xhF_cD&fGXOc;S4t0jyJ@82J#zb2$;o~5@7aYN>Hs$dWjP1K7-FApctATcGt{K=F7W}zp*{fGk>WMR~l0P4Fb11zb9-Ue^g3kzpeGY-{*bdNcNycMGI zmMH89FjJ5fi75kO^2CP`m0mFoFh!UWz>;msfFTYm!^baC6Ln@nU6qRlH?uq%Tp^+ni|vW1oz2HA?LE=hj!Ajj=4 zX#g&&E{P6emn28XL^ZtBP}RjHy*pj>yG7-NC|Hus6u@L?%77F!8J{G3@#@ATTTZ(Q zy8bXr=H#Ogz^G|TkQEE246))&`waptGMf^>9%9OXx4V93UDbOrg2_b?pv8(R1gNy8 z40u~HN=6nY?MHxCVM?&f?tt%!E{8hW7dkYDCup36c333l2+;eRGQ2QpoJKGBLYttd zE%(UsWk4l0CBWVVQrL0>a16}B7$Rqd0F~dAfhp=UgZ}V_6;VwA*3C@`vZtZ%pksFS z{j5?|XHNpWH8~CfjLW73?(Fp1~I%wk?nzHDgf z^Ib#Jw{#EP+M2P~7y+haXu36^B&2IfR|I6Yc6_XxDM0UMO2FyTu~RhAV`+9~$NDYT zTVIVO;oa-8Sli8xd^LeMKl0V=?L+X`x&LnePwoH7pGc0~*Zb}8s!e#wCbOp5N64BZ zhEc;Xh-xmFId7(@&=iFgH!&l1 zi8qRbC3{#gtPz&eRY2@z#DU&x!TPp9oX{i(3Ed=Md0AAbeOb&cF(Vba$qY>~vAjtt zkJKfoOau1XE3cu?&~F$p3>tz+XaROFh zM1@H+C&Y|Ym?9OLVq(jZWRYU*ha7`h@R!ru@E4nDFGaDCfkK)W{{!26G7ua&c>e-` zb2XD;N#sT8A5)r(L>MciLQ_oioY4zOOxiHqgv~E8u&_pV=pPNGVbic>sC`9Fx(UlE z{VBhe)2;2t+IIGKJ8`{s-UEo)D-QHv3;MPN;-D2!fXz09JW^rE%t0|D6%taRDJGhY zJ(#)#QS8}{Os^v|MkmYZC?G~g988ie7~d9%6Pn~8GLr=CixL&4&72Z5QelQvXo`sj zC|RUf)+^5EIe889h6Tf-Vac#!SR&IBlf1b| z$Rib2%v=&PQel-;Xo{IN*X+R*V_!N3CHUA2iodaKlYxe|CH_~p`D7qCa*%tquexoU z3_T(*N}mWs+a`%HdI_N^CU)t{O^@8fwms)K^xOG>VbCx{SWf9gS+ktZSC1hq*yD)Z zB!HNG;-G7^V02p`4!TAP&@~d!HHr$8W=@D1sW3$fU87~wl11v0)9G(8F0k>;NZgt= z%o*khkF+0sQNnZq5aTQkdO{19wguv#1Svq@NXR1<*3DcKGg6@>6`EqAo!Nsa7Wtra zt@d|x^`vWW!(15!ZC7Gq0HX|(F9OQZRIj1W&~F$ZEbpgv6`QE`dz*8m#y1r}*4ny{ z!C||9x~ZpTDG2L;@{)O~7wH;A#vy0M~|=yI2Q&jGhBo;kB|WkJNglojtjz=n5J@5u<%$mVVS5r zh~myhzZ@&X77H->P#jXnA)T_!z#TN{tiznKK#;W-#7yVS6qN^2Sf;XvMax8CMOaKm zVop!#w8a9LxK%Z}AOh@4|cy^i;gt zFHN@`hA4E3f6EdG-JTfLG?$4~h_fZnH6jJ$tf$wQt=W&vpxg(6)rMk~l?m;Nwdk3@ z*tQg<;!|rzU68ks7-T*4MvNhGu%YSW<>%fBuP;L_*EXwO2(W>dV(h14&>w>wIZZ)s z0ZIjeEc`M4ZhRXy8OAEw++qT;FBDL|hrz1xU@ET)D%&vfhGL{_-0zqmU<2xlo~u0_ z3k)-Qo0N+{7ScH;st|Zh0D(-289@sL$e39Lna)^dh)gWmrwSHpObizLWfkYJBq$c> z2VIh&#dvcu2QFdLmXoYCuV4*XYmpQ>FT!%V0#M{}pr=vq8%Yk@-T*%ajc4|4~kd9y!*|2_#<>)=AB@VJ!5LifdH4 zDbzhV37ow_CW^KuGxl{=I~FgS4!?yQx;5qB_Wp{O$&jclM24zL%sfLK;w+q1MXV+P zg&QmsapE`)`Gum|=MhH4^wuk%M;J9n0QJR`K<5!=5N7@OH&7haj=Rtrv?Gejr`%Rm z+&m?NRgz-QM<@7*K2RQllNF^r^Mb0#um;OMC04ALFtS)zz$>eYC2v?` za4fczd+DY!A{DjI6uJ;NsUN=raYrS$i$ETGYMDIJnv5BRsiN1+9xVPs-^;W6L44l82rQ(H6_kl;y(bVRZ3^& zEl`nkkVr>CSL_KX!?puQx!+M1r46k-=QAj#!R>0u96{DhObPZq84(*t(DlY4n7p>z zRi7PERDKwnzhd09P>uwW51%7)WpFDSHAeuGt0_Z}C%3r?3B1=ZZz>t+QpGgDyh{qh zg1~ze(X8!H%sg&fY|h%B01G7cH*bG)l9`EJly)g53^AqzFkj0~BS2n_4uc zLCX^p2D6^>6Yo(abIPC(Y4s7OetyuEuU}!N!1kHdnJs?Q&lJ#m{qdwW{XM&DE^9dSg|%Y+~j6o{QJMobiw2 z{_XIO=XDBy1Hx@(s8qUA0~0@hBQhI5!67XAy}HBiH4ONJSRY0Jqcm*dkb$6JO-E5r z;0>(l1Z*f);1OO3hHauv+e8ZiHkQdyTJ*|LYAQE{Mq*jNWuo#zl#UGP<(N+BJq9cb zC=S7K2!r-&;E|zSR_#P@NXG?XOs-8q=eBIpvI)yXLFX1zI=5X7Su8-aVI*+eRNyF8 z#_e>VK`UV*^N4Cn<}w% ziDHx{nOKaJW7)o`|Goe7vD;AfsyesmbHxD*(DqCTss#qGGc=a^5%Rj_0@#vG399p& z*P|}qn(}YQdCj+St5A?(4S{Uhn*eKfT7fZOGYy6YF$|3pc8cJSX{;I0@^Pxc$?IJ5oqeZ|9*UwOnvxwZ|5`y+}gkpv}5JGcR&>BSaafoY35XP}i zeJ~UQqHgzM_w5ez&c1^DR4&^l;NMpv+5XaKUZlCt<5CM++gMxbjdS6q7 zLwPsa$_g3iBg`kDk*tfEu91R~+A>j?aavYdCJNg~#e6&*uaXZ%$YKGeH>L!z)5}S< zk$uX0r=|(m=wr&j%^DIzNfkfBQWs{&IpYpE@?4@^w(&FnbyAIGl{i6KQH#bcD-gpYi3@S6_T zP@S~w(;nQouf5u}-z%oiOu}eI3ge2vcOc-fr2R>@cO^Nog?#Z14%o1R7ooFm4Whx< z-}NkYcxkP}19rnOF3dL`UHf?XZ*Pz#C%UoFBTF6_3SaL;)SQS&^@#H28~Iz24=AL2 zlM~-WxXmpU_({|b`H6RPWX)dt>2r7k3cctj#CthlMj*9se|P=(|K`Yxfn5ah8U)^Z zG+>SZD<7r|n07TzZY3F~U%J!-r8K0MhEYK=V&|f;N5-;o%f>7dl^3GW6<9U_*m#Zi z{wkH&DTEl8zi=G}*N)xC&m!~4b?Rtml^bbqOeX>9K?|0Ft?G$G7-27*B{+B3Vo#M9 zGx(d`d*(E32zn}C{FyieTOInc3_Tvlp?`4V0G(N(@T!j<#^I8?^tx_5d+2 zKhLnzLx~Us`NsYR1!Abqki?@Tw1yASadmzq42tsE5NPeBpk)b6VcIJv@xVyDGQ*U* z4ZR#@5_=WE#Hcu=iV9}*mKkIXpLUp276{O(i&F?RDY=3~eIW}IQ1gVDZcKgZygqjLBtevcbzOYY5hCQn|4)Bz5!Cpmwp;jEyON}8cDi7lP! z-8xv_lpwTvAusgN~rS($^`3C(X%0JgTHy z70%Gqx?Xvx`n{S`-qg!pe)0Cp`t`CV#pPwFPw=}|`9;MO|H;=eLamsPEe!;5BY0~G zdM0}H6#?{{40~L?`8w{w_Wrsx$qRvRh`|`UPUb%B&uy*ZmAmi#S(KM1Mdb(oWffzL z3*x8bGiOW*Y!BQtM*u~~lp)BI?SVB8vw2}?DjAqjYwRt01pQD$b%ep3Q0 zV9G-=C}<8yW+pBRvr92y3NhVOz2dZ0W`r@ z7C`kIm{=;s%F^-=;8ZnW`wt3ImEh@@Lp1crT^UP$clUJuHL3{m|7Wj)|JT5OtYNY8 z$F0^8+MUlYGZjJW(%u-*Ro;OB9?&KM9Jcyi2E==2qoZ<`!P}s&74q_rKCBSfXO+M0 zXQ>8fyvV@*ALsw&hGzZp?Faz5w8`3f>=d`@yqq~eMf-5+Y#U! zI|BRx1=t$ki*CIdmjFD!b3Y)q0-pQ)|63nB|Bn?DoPYYKcK-h_)!B{Opxo!h9U07` z-3*6E9!A~4sS(0XYu!#uof_Z{Yu#h#|B-QMevh61X9eojWbm=`|1>spn?ZFLz7|(h zJ%QeIE^V0-pb2_vKRPfmO|7vr}W9R=L<^2Dz;}Wy~Y3Ki69XtEVDBrK$ z>S2hj`myu>7w$O!-`BpsJ-f0@aL_-|cX+NW%lvtmZRx8!=f0nPAMT&qeP2N5{qA2I zePp@5_Y?1nf7@kx&!gTK-|2qOtNwoXywBhx|G@V*ZhW-xw)3Z*H^ZC$I1#o29a%4L zy9vq6@v)*DH`-+<%MXx_A1gY?{m9tUkLAUqxYrFijV)OR%A^a&(2lO39{x0L+u^Nv zhj61ESon-Vc4)qQeL_uTcpePA72AhAj06=dT+HP!K3hd-U@LkWkrriUNIedY)o z8z+B$u>R4b4`xT-hcDS&mJb7t%v^>OZ~2uoXFfSS{GPab{pc!}xQ17gy!gddKsme-oIaO?1U>L1-KFE)wz4^Nf7ZNfLJAx+0lF@;y%>H8&)-G?t$A)c+l z&h>Ls*qvzRkQTa|0;~<165uGjs8oPmyQTzKH#9|P-^Yko^^=WFl4Ku$0ka!Z8}Wu` zkV`Yj)mh*ya89|F>jKJNIN3PZ>AZb=p*+Xi3k}%YL?-q(5_AD2zG{)7lIabozF%Sf^{aO#+)n1t=j?0_-Cb6$GdX zrUY0OGez*L`tgMDrm(-|AX|QO5>NW_)Pz{t(o(+YGIj*j_Ld>~!45rnEfP}#+;U_} zfUPT_meUvGFLSBU;?tgb<2fL5v9S#f3-t7}{J6X6#%$dNPsbZ8tQgq2jC7+aj?yJs zpJCiEVVE>b8Kw!C#4*3{50AYvJ#uM~F?#TN#d`qHRlKzg9G9dy-jtMk&Kd7^?$7)Ea|CR<69iE>1t3{i z5VIu;+s?&Im&7z+54kA;PTq(L0^C_+N&u6aDMH6c(Bke_B(D$9zKWX!cs<+?hg%qQ z<%Taj!Gf!)KFbUq>ENllf;t9J`jrA4%r_-Kg*GMdRm(L8DZrKhQv%dx#t5UHBi1ij z(@^EhfS9QO2WRYEfOQ*F0vuyDMd-+hxL-Ey#yi?MK>|53ZXW_{a5p8ukZsD~Q4*f2 zb=Vldh#d*g222TXaNZPQ$GFK?V;m5;m@sZCJ}1i$y^?J<-NHs9*FaoH#zu|(72J%5 z&G`zn5MXjm3a2l{G=8P`~4q)$RT1rn0># z0rlfJxehJ2d4Zg!C5-y8qC%@hwZk$H^z5BulHC!N-A%OiSCvZ zHkF^5+;L74mx0Jrm=hG-qlnfzA-@J(QEN(odyh>CcnfoLnv8RP9CcQbbOyk@f%YK| zrWX`o3L$9f-8g$LDl8CikGuevpcYH!FPd)(_rw${;-{_P578S2vF%w32+!iRJ@$tcfYr< zfSsD_95{17*GO>WFk*3Gx(z!@KkAXF@R}165ynuDFN=9 zHYM;tF=vh-esuxIV93Pl7$cl`cEncXvT3NUPhS+!nWsl=Z`5&QRJi;R4hzk25x2| zW?^^)P0mi!G5Z&wTAC7|TAC7I&JJoheI5QX=8YDg+M@{xjV5%pJ(`fM(S#2>G&%16 zMhd6sJe>c=S1Dg6N#*($8!~u?6fTkxGmX@&nRAAD!vf(Er*#TI)4Ew_@(iHtdp&wY zgx)R+oJ^+}Lx7;5qI^2} zsp<@305!VB-fes7HYGrdG9_?l&})tWN{uN2G)~3{AEj`_h9qkms(eYrOa;{yHSud@ z@f!~YDA5j@(2*0(aR)vIXy*h8M?GN>~cg{P`Bhyje-kpQVNC4l~H ziqP2^Fcc)&;9|nPsfy3Z^0Nb~^do#z>_4B|x<_B|zl{wVZwof881IsofcnP-j3_+noW~ z>J0d>qcc#l(Wq>xs`*lmEqcb3SXY1Wgyu=4zFU;R2cmk+5nwWBO27kAX@ab*H@+JO z#kMa<+EmC*ipux$^p0{Lw^}IM(>{e^@JXnCa|Gy>O&Nkb`6SekUv8+b1NYg7rq4d4 zV|0SMIt0xTha@IGdnC$C+!|_1fXXWm#iXD)Az8dn#?0JI=)CqPzqo3+0g`xAv@ z&X&!KSqS1qFu20sE*C8m1!cn?mMjwmd%2mbc4>HoT4tv^?tp(tM*4+2E=>{YPr2V4Wn4UcoDcQ z%wE_z*CdM2KH|t@?aHhw$JXc!xAhAOHHoaKxn2lh7EnkL(ESwCWZ?U_<_mn?3uLom z>hc#({N*w%2#R^jL}B7DCQMV+r*c_hQ8Y0cw_*VO`AX zGf$$>{aLnYnJAc|#N?{Znx4Fo6zZm_O-2GYWeFT5n3}W&GWDU{RFuEkgk0~HEc9rP zZlvPb+z6~%5~K9w%5e6T0?)lb6;1hofzcrv5C-+@Qdy)~_^ru)e6z5A$32aQaZt78 zI=V`EJog*Ue-mv<=!5-I9|n%wIa6)t#B`c6GzEjt{ifrlCJ2u>4^RMJ-m!i)NClu5 zM{g0{0G?gn^41W=Sl$s7l$6iIc7)2?}2;x_^(n!sk zIcJzRED#$V&_ZHeKPYHCH z5-+attu@uT?<2RdIG*9OVx&(sfP(c+!a+Uunu6Zuc}ats3ap$4H_o{_i>vq zK=&nPF)5}gd>CC!f3zCvlVvjkQ@VInFGr7Mu>dw-#UVHjz8xuElB9XDKR1njz@7w{ zOp=0ySWHv6r&`STx#{@j>v+wPsf=pSqFv3|s{k`yMj}LTl+ftya@{UPL1{O0OAt0K zGqvL@*3$4LMxUU4ZHBYeAY2U10#ZI;JwCbVUaB0|Gh}I)+Xr zKi*@AQQOP`LD4T+OH`hUf{J7h0;o@>1l3owi^SeXBr624JeVSMe51Wp@^+6bT?e$c z2$H}S!RbVM5f9A(XRzmQ7Koqhg==u4JB?8)b{=Nnd#*Q4|J2}2(oJX zV_>idQGora*!GBDOgVQ!YA5Rg;<14EECSoxA3JS6xT4geHLm=zPa@L&^c01!?hrl?LZo_vHTl>n?&8#? zFdQ$+-~VUl)z1Dt+&kL)w9maCJbymk)HsEG+>an1I9q<~z9Ebt{&XCtZKu=U!{6G6 zxR;cB2wLl!Y4f`pcuo!BmsTBsXo2NpWDS=ZQ3wEBS z+xZDy7#`%o*Dhg4i~Ws?$w{+bzH<(VPC#+ct*+?*#^oo1Ce2e0bJ7Aqya5z;dNI>k z%S6F2E)QYOGErDh6SEuDQyGE9EQR{PCd5$O6>$V{cH z4%2|buo&A##5bHhTKv)DQE(wuKA_8W7|s<|%rQl+m8gtPm!sEjm+6wa15ZYRzlw`* z6SG+k${0Rryl6kG~dL*^@@m|cT9fRDXnoD#n|B8L%Rk$MSg zVn0)l8{d@)#i(3FU`3s<&vEkwaUKQ(q?mD57O%Apv+_{PSSAVva4}g?C-oG@EEXVD zih~VTyQVg(sEhIxCp2L})T3Q!o38sUYkG?*+&V2LE9#O%n73Gf5@00o2_u1{gmpI! zuJK;NsBc&|!QM^}yuBJ&Bjuqpj-XO&B*v7*!>{1%iu$)aci}39o9oBVV9vun zm>nNX)*VjisADnWScuX`F1Usx)c_Z~QsyMrlTR(mR9pLsFj+7gW zvFy?R>+`BX6_>fGv-eRFE#3@IS%iZ?OKdg`SXYl>c3)=cdRpL0uWzp zaruTa#(Y~bsMJJf_YTcYdO(&OIaB$4>qtz zTLV58#a0g6yj;pyfR@pt@FHdF0`3ttvtKTmbJ5SHx{I*Mm-uFPM1Zd>{|@O#!O{F* z>6%I}#x2E2%NgZOD~y3F!25rO&()ArdPp*~?E!zfCHFJPIjdM*VQL@iSrt90wBNySmjEgU;)#CSs`!XCx%Z{Sy z9f86Q%#V~fpH?27g%K>CE}UYS)4jhYT*H)kks9FsYzZfcm}R&rzb3f7ro6wsA8-&~ zX;eNoNudb(1o5V^Ru3tUc3hpQjENp|^H)Mw8j<@}B8N=^F3=wrvpHs_C~S8$b5hWn zuuK%bBP8Z4QI0V-Llz700ZfT+UjpDX)1qah5P=m_h95>&ON^U9#gA}lviF-wh72r* zShnvy@ZeVR7JihjDY}c_9_p5dv`@iGb3kv4g3a6Y@lbb3Gtk|b)8*}*m=Yj!ObJj(rUaN3nVKhHkBBKj)B~$it2-1xY0JpClIZAIrveH9B*=TQ9{m$&OI3qiz@||M1&rOldk| zKK2?(Zv)z6NS%UH6ZfvgP%dD^t>Ai&j zAC)mB$o$2Ycv~@bMGRI68X_0l_reIVbe1fEIjY8aNG{!5}(={OG};I*aF7 z;2aRYOLs*RJ%ADy!DhV^8(qmuSL(k6gAd;=MIO5k;c#O{r8K+()ke__wmV{6V=!2W zLZ(~uzH$KuwfTfLJZasBmY`WLf?fi>2u*t(@-^^Qp@FaI5>(jUFiB}}K?*#$(fanr zx0#0jYQ4M0+`v4?kwQaf+?Y!mhn(dY&iAhBBOV|A?GO52QvW@CJHtkX;ESSpm@!@} zbh3QXy3!j*$T7X78X-qTHO;ieCp%ew^jYgeaUxAroPN3rvcy^qd zg5}<_1wf3X`yGD!*QCKcqPRg{rIClg6dU$W{+H_2V~ibi}7sDX#iK+u5bU4TvAD>Yf2t_WjsRMl(M@ zhN8n=s5lO5kbovj@W)Wx5d?PxK|KI=<;d9xH0SomP*mqJKTtSs8r4KN+Q>a0#!gZ> ziId=XMSv+@3y@towedOyAJd1XM%%PvgZ9y3pH6bLZ?q!aDZxGn^HsO`O*}(`;oTYh zT^if`i8J_y4DK_?u4IQWgRth%6lW2@4EShnY_dn(WOduX(WUZtACDflI?_KgQhtzh z_PA%2@4>^__TO`rXJ>u*?~xz7Z;oxF-IcW_kU!-;aAcaSRP)fX)4WL zi@n#86})8=*;gX_*6}tVt^BxOLW-q5&Zq0%B9rf(nWs4CZzzh-(w*tI1?#=AvBABa2wP+Ix3$;$bvmFZ<%22RdqO zomYR?SDAB||0}3q&*)C_EAe|RaxNWHc+t!ezqW%27ZqRaD5(F!6%3$U$HS-!&|^9_ zl-ikFUDM5?CH(-0^(|BXhU0>u%8Bz>{bO3<8fd)p1XiX7zKj%2lrRYEJ<(ukD&Ejr z>1XbQqnego(Yu5i}p(D#KQH zC7w|++3#U6w0(6ES@8TF-+O4>*N;e|6606(%<8~mtJ4KH)b>nJ?7agp66iX>PNm+_aXJ6CLuezl>r9pKB%Rx-{`2$xe|aGEInb1oFKSW zMXIG9xH9-wx{&(vefxXbx{w&v282o%>O}@h3BsbEgH9B?N*C&hx=;@~rx8iMrMi$} z&I7Q=?{Ir`QeyY0#dKC{mBkzoKg48s9c6%wM*dqlLMmuod_?7FhcO!q%kDKc396-W zF3c%SAz_B~g#5@Nf?POAjU!``A6>ymJeI&;0gY;KbgjJp8_EV4 z|F=&?Z>cqns7-PLqtiSrKmTa=`$x6m5m6112_(P~P(YK#?E-3ySh<`0W?+&)32hKR*>HUBL)f7DTYP#yZ!^3Wi| zS{@owkjG9<0o(PtqyJ;}m!JPMvJ+)czLu$p%Kvfttn9&KaJQv*QGX54v)DIgFwmgg zXUJ~GWO$)G1TP3_5s_Ue7yhG4X+DnZ$n>eNA$*of*Gh(~ z%QhbFs=aAPe}(ynG@$MKs?Ps6PvW;};&sQ-sw9AUj8-ie(s~Gg|MDqZaw-K=m%s*R zP=g9ZyH`OCf%3Ia37*gu%ww+QYoBO>V)C^{j?iW}3wt>dQCSFK@{^zDG$qeK*AE?% zuHb+yUexu&bPrpLxCMjsV4RN1tH0ZbV{N3WuQ;aTmW_$2&8p~*M4`(T(*P~WlmN<_ zsOtNp)20NlrI;er?|4GvGhK~`P^(%~if1|rXrJ;Ufn+bqhc}B>-xZA?6!k7qtUSrd z0dxTRY-#(vqXU?A0D_&XzS!tynZWy(7R(V~G0T*|fg=kh9PXNAO+%G0>te=*;b=Se zdQp4h=_Z}**s$8U$BFg;q?%@jc21B0uUEZOwV2drO0aX|s&_rne$hVf=m2W=BG|nv zw#PC;=RPQgf+QPUOgQhT;7*obc@VV=$)fR1Z}RR| zD0h~P2#UlqQMfDvM%lOlGpgv7g?EktS97j(!PKH* ziSUT$24>}m=LQnJRC{vD@55R&ScC1Nfa0a9h6rp(pWm&%Zy-O`PFNzr}(Tn}8q#jb6f)h(8orz{VDO6~RNr_fk0 z#$!JGDYjIo*VR3R!=GXs9sbnDpCQe$fwmS9vvTZyj)JXCKEKY-YkW@ljH|F1dz(D3 zx>GjURdBNKG5pz@mo4afCe~K-u7j5Wv@o8wikEQ zwzDf|P`hA%JB`>KLF>Rzn}N6?=w+CmtwV2LhrV7Ogo=9rX4ZqS5aD?fxCPw84WNf` zspnp7q+9XQjx^AtsL8D8x}9|a;m%XF+^*f217xLM z|I;RG2Q=k7_#jRBzoUM1=-=hJ>(3?&HEZ>$Q!r@Wfh^m#us9$maVc>CetN+uhh4$= z+^!VOK~cW37uyg_b@q#y*NkvWq-4>I6yZ{Ytr@0wVyz=fN@PV@O=lXCBGy_3tRMd! z*Grc<=h-y##oKPVV-4Da-V)d0ycG>A)@Du;qMZR2c=R7rs2bBi{GyqQ-4(ko%#(H) z;bHQ_1fF#(Ll689v8liQOR5jdbxe}Zst>ULx;(}ex#pN67h};>jB!wnOz&%O!6Tp>4*Z|vFhg~1|%5cfRi!}Vchg}uh_Q^{h_fPJBbU`$#b#;zX5M#ID$yd&o@U9MIjwD3m@3NDx)zz#)3 zTaopMxzW$CU~EGWSKS%+522oVt>c{ayR-iP>=&zsw7vi6*nK^$zX3K{d@El0@*USa zj#KfI2sqwx9B+(%IzQXnIN66DtWPct*eqhoz#Xj4saXBvLUPQAct*n%u7#ji%q9do zDrRm<2Xhp$ox3wJ_tabC8Iv8?O=}+{H3HUP7ASICT0zWpnlm&i$NnqpMuD&(rhro@ z_Z~&ZCZk{~M9ru&anUr$76E&NEMP>L22meSY`Q?&E%EHFr`NLzVB4$SLR%t#@KnRA zyOkg#=cvYU&GR3ve|>mE#ratOiZ(d+sQv3|iJbZt z_OHA2moMJVriS6*fzRVTkF39-T}FFf#<7HbxyF>u@-1AY-1U74xJ4`N?7tV-e`l>l zO)8rUns7EvVM9(!6X@I^^QU(gRhx`{Ghx3rxE(+Q{@>OZRa zta}p}D6utE-nHCTK8XiG+B0BwV%XNhiEw*c&zM{0iRn$ z3!w4}-4cgUP$s(CH><|cdYj5xc^}6;;JJr9~zU-_M9hf+v1Xy zt(RJ7kEdA3R8H-*X;6zssMWR$l-<4MB&&AYwfdD~r&yz_@7Z+DH+~zn*aP48c-6RX zAkiA0dpB%EWJH%wtOYpHs1mN)WwW2Y;_RwwmvIx{-KfXCsK>o_ zk`VCa5CB?T4JjNXC(iVv$pQQN?b@mLv^Z-yZW?c@Op5b-wkC_)>#8&c#OZY`6LPTb z$+b@;Fgp+RL4_qdENrpak6;F(ZUj<|c|i zT5|gYYAlI`#T{r04TZ)XBJP3L%L_h@Zp9;?Zgq)!8oKey%0kO$G+xI7wI2W7>#=j< zK9K!A_#p-qC=!)Gs^pxCAmgex`vLSHIs1_Fc9^$zjTgu6TTt=rFz{rpamA!P*6-Z* z5%+?`ZzpjathRQrKV&`SaEYJlDf&g*_mGoZpzi1xv4smA^*8slw}^0w+kKmM9;4&c zzMCUU2lH1U**|<>@8*FMTYC#INhPn59`Nl4CR$<9~i)qZRePe zw)0at7~6GarHb~USWhoSFEXioj(clp9va3E)g;zm?~Ox-(vriyax}K1@k_UiyBR`G}orEOIz&^%Dp1R1s9BgeywcwXcN3E&bes|fYL-qr0q z$Bre~Yw`IpzK&Z}VIV@ru>H0RC7KNJ6|81t2S->#?Em_{X{kLvBN{JlBirGu+JFzAGHUEIf@>xM$jId4?Ch_ zR7+3p%1~OnmY?z-R5etsN{7)VW%PRgbN1nU`u{=?+1`h9_WtFE)*wG?Ke`rBDtmM^ zW&5;9-c&IJ_4Vb85PD^h>Q^aMc2;KLt=-e%0%FR)?agPmQ4^0Awn|5_(o!iuQH8M% z6#L0a^NG9Uq5_1|qp!uc063%~r29bg#?<3%~bCyeksJAQf zGt7@C_Ng8QZ2Rf|vvyH&)rRBo550!gW(4wh$S{m9!JkS~Urvly7acm+#}iwBtXJUs ziK(AtgV0wLHCe=m6w}{hXwP9Rxd&+l-%(5$k7x5;`S3~(+ULZw@IE@NOGko>Zn(Hr z-s>M-fo{U&Wba{mW7_g*64Q527ymn>fsa?Kl99MfUR0JC&OOnR;*NfjSy{eCJ)LHi zRmJUwZ)EEX!-{M2)u#yA_|s4O%`UKxx-+vp{43CQnVK1-aBg|{eUY5YNBSCfpO37C z`uys9JNF!H{3?8CZrX>}X5qW=cjILhZw_&Y*#QPxOP3OaPuUztG|Rg_e&!5}RmYhC?{7PH-#XrM*)$qlJm%J9Rf9ILD9|x{ zXr=R@rqkaduOWxX{AdPol~xgM{JQ5O3v?GR*xHMrtDPkb1(YT?an_O#q5ridA=(!9 z$#wnRzQG`Rbrsl)@mNpR_wmId1jw|Y_9?!d@0@mI378DO!>$zB=&IVJzvC7QoQp^H zB0SasZKFRhR;l@M-kmL+k+I z*mZr$16~ds6;DI3OZWwfO6;y=Gk{AmabXT+9uDC0a=SD$&Qs5| zq*-aaQhX0&55ej%p@4MRT6xPSSzTj4*cxR*KUy&CvY@1jbUe{`&hA~G71c}-x|23r zV>muKTfgIi#(I|)QsSKlx(K1YgCxPb*d<};M!kXlwqtqo0LJey#EfOLL?K1zb8t2X z=kvgM-~w;~6B^7k&pJ#)@9-&*GT^FJU8exeva*6{8E62zKTrX<2JX8LVKl*6T}9L9 zx?vW=>0s=k1P>JhtJI7jD?@CHVxYpX0@RNujQJx~7<||fj?f}&8_%Y@(3$|P#y-x6 zz};Qti|;`%@S|{L=WtlLEWZ;X=%;X%E@kPnfc4|tilV6GV&KRDx(-RcM9Je3P!-b! zu#ptCB{ke>G8!$yS&hgoE}nFWyD;MRsbWh3#nm%*%*aEVsc}%9vi}#2=s*>JWc!r2mXm&PdMV2d zyY@Y_oK>9FV5*oMMRTBnfL;)jZ?0+XI*ZeI7_YWzEsK^)rM8~-AeZ6{dp=3*E!rV_e;i%i6Rz3LlU9KH4ftLiGl{!Z;vt9~7b`;dRgcw;IRPt?X4|{>UtzpP zexlZlf0aowV1EoWaWM>j)ucHB?0hyQfIX5_rcdl4w$r4JP4@X*UE|y^|6a`zEm|@JaQOiVO zV}h78fjTOfbMW&tNQu5u6F(+|8jPF}rw~LFuQ`+QQB0W<=*p)BrZ@dNnn!W=SRZjr zx|4m~^>^W;U1~Oq7_@5{&TBU<=2aJu=QS5P#@ZTHh=#^8nhXlWpSI+!7xN5Jw_e!Y ztKj)nJqPpGbSKXVV!;@5pzAI~y>E*v0BNrve(^?3$oj!V{0xCknAc(ophow|Uphj7 z@j*`F_ie(EWrJj5_!ESLfQ}wUCcI&QRHH?x)!+3jcMAogZC8Rq6t1h4EPm$1 z6!r>;8NY85X6d^gR)I0)Wl#VdL=+{qdzh4v85^K~o(uMbH<~gZ%`#!WA(V6DUTv!Y3>fWvx*> zp+Oo@Q{?49_EJ~_F|aISK*n7$X)j%2q_*Qo^_enU3bEpg`K=ufSZqMZ3gkdGh%)Mz zC;|=o_VSXddB|GKccbrWmdp$s_EMFORCCjm0c&neWf|7cH*^Rl!1wv zG()bk=A0=56XQUTnD~XN2v}Zg+RKw^CaM27G&0=hN=2B}ODc0WAHw7CxBQaZ1374J z)2Lk=zxwS}jg0LC8z?BoH}?oObJi4{Ab7gw4s601B@>6l;R!s$@YFTDWDUn1unRY#8Uz zy0r+M^laROsXTfMjq$kGgjc4)#43O*YF$w$Y`f{U8v*v`i7Eu{uzJlAU;)jP0oAaU z>^-RkZEW{wBo}tRyx#!}Fd~Tx0vE`jIReZDO&L%nhI*=);_O!ac!31%%#1$qe#A>LVrc>lmqtxGFncj>C91?p}$(RRpco69@QD})G@61UUIf}I%JO56&$xUa!NQBcFhjGsFy zRxMi-n8Im!Bs9L8clWVD5@7!kNQs-(qraEqDm7=00NRx)ft0ujq_3^Skw6W9Bqh$` zT}s@PLTm}zO58XDq7tVEDRFkULx~fst;8ibK!IUoND%M;i3g(mK^drKkRcQ31T}8T z6agd0AOR(5ihvB75a{M&$i_%v1Cc=I3b&QGQ8F7X!nP7;4|WMvj83+dxOAzl#Mxcb z4k{&1xn(8JX@4XoP6rcl7ZWow#Lpu&?c1k4(VHuFyc{bY12tr=Sqkt~OaTVawsvhL zZh~Ph>k8$l#LfDs;*1V8#!H3bCA;zBpkmH4AEY#eEAH%1M>k>Rl#_UnlMPUe4kb=u zAjeS;DkV2kJgPgQ8Ktx=^F0Ls+NP{ySD4j|*9XaJD z65J`sthDAgj2cCjz*=r#DK2N5|tv457oxPlXPoQ{sCH!z&`r0J=X?s2-) z%PlHGU|9MKHWFy011P=!%k!R`lL~Dk&PA>Mb?Q0Kd;i|+^FHr$F{=oB2*Yz*nuD=R z7LwP81!R2^Gnoy?Y@JmFQrQK`MGQpT9D!{in~0lsz>K38jS-lLV>T0U^Z13CVt|<< zk2RMOaidHHmYov^RyJmE647ce#4?MS~WJ6X(DdVAp&?m zGbRAev@q#;f$HQ^+;)fnh)-hzS$&O|mA+B6FXNlKj@e@F}uZ^o!e1{Q?w?op75V z?0U61>^tZ##1$G3J$)jHc%AU;D2{iqyF;Y4&Nnq=h$LjgBEytYh74sx@AV;ifJ0Jo zmKF>ly1YXmPCro~i$F;uN*%sy1P~X2b4mi9ZhGme&oFgp-N90#@}6D9j^v-$;y7a_ zO91(&L>%9Md*AE8E;vdv9`6tyicNx;NqL=E@w6wUt*Sj>`yz`g0=Rd@n%82tBTd*< zR3O=^dm^kW{R%J$i~Zm>FtEi**1lw5uw1$UZbo3UvsJMDFOW#^9VN4OQCdX1a0`}m zO103$RCb26E-n@CfO4^B^zNSF5gtH%h(f@+R{5g5NnMsjmv;D^96ED549i zD-g$wlGK_4^>wE-mTw7b5EQ>t$D7}8TRcZ|40JYG;(1NG73P?*#y-G!UKv6jkVf49 zKx~b$AgE(FkQf3-jS-jvi#$q&UEI+GrofmD6d2Z7Sy2LznL{V-hQ zibSZCITd zS?i*x@nE5*>8d8;7yca>f>&SyFsB5tSsmhiSrG^)7sTo=ls2YJ#^Y%NLZYr-B=xRKg*pFA)by>*G}` z9ASm;te0Wk!2V-KO#(oZ-A&-@z?;C=MQ+D6+8!4CO~vCNfa>*}%f}T4a+ZSu$HoFC zs`EsQvXPkKCTm5S;`Ahj6S7QT%Gc-dumecIB6`XgfzM-RGe?AkG-iPTW`QKdF5`&w zGgVuVJg@<0H8_dr9tZR}@sKeClq_vfABKa95=k$uuMkb=VW^?#;)v|9GeRUKbieS{ zrCA$*OaygVsGeEq7lrLB6;E3i!e^~Lg$3ZTwypA?j9Ke7XX!;8%MABH+*F>BZnWfD zHJRjJQJgFe$4z+EAp%)r&6oh(yc2^ig8~DqFB&u8$ILoFsqj#1%zz)`LdX$WQd9tP zM4Uw&krDV!+8y*E!ZjpXdk>Q+%OAkM#Q@{K6KgwNF#Y-VhyrKsTx{ln>}%cG6>+x@ zV%~|tLQ;GHA1ja~Qee1J$(M-1TdP2QUU3eDB&Aa-5MOId0PZK0AzU)oSDa6QAcmb% zfmwasm_WDJWspwJw<%B)mYIbaoJ?wHbUkZPjs}ONWW3mC#m&Et6SYget9<@}X`iPf zEEhZxw?G*ED4d|%ohCAuD%Vnh8kZ*^dOX82c3T8Yzm**#0EHT30w*3{TKHuQlqE?v zFjG|!=CW%P@J!uzhyd7xo;e1XId239<7?6)>Sh`)T*Ao<7d7+|11d>nq{ia%G7Eme z9E463b6N^T&>#$hec|z@(dVf+KmaRZ#tf2EoJlvwz!@N7p+Ex*Xrk9fREpV4*pi%Y zl;HU1C14ho0ozCJ8O(FZsKr5BwS49AkQbq{(y&TNw)<3A_2AIWAW~wUBrcwKGUb@B z!X-6EEi$^#sZ!=1BDbbjT4w#b<35Y&O`@N@hntlL!kLmZEVt>{Bs%w92p4#-G`RdM zR$+FV?z8v|PMisxIAHwf#F>Z_2hh6OJBY_|MRi;nZ^CCl9+oFBh4~PMQ%Oeh(y@#D z$(`gHCu!a&G*^2NKIl&|Ft*TyjGvBPf8Zk?y{jyV0#G@B74vtn{B(*czl^+ql9386 zpv)H0ic6A`1Ju!L${;wvJbJBmmpl}N5?+$yn`5sgkvx0a!&OCrn9=neePK;y`g@C? z<#Q`~h|JJ}(YaZXxetZh2M&mG6oU1@#^XrV5r=+Kpfsg%<_;Sp@R961!RqqC?ep75 zG7IsMJc3`?6u5uJ=y@JQZPSO6Z$&hq4gjc&z7 z33#Jhb%+4&&c+0ifl3J;$7)+ryaeUZDa*zLlA#Mz#bDquu6+W}DkVQ=O23j@y?J8> z>@8>GkvylU06dbX8Ib8nemACmI+8iPbR_fG&GHZ8-=f0!XLKCN>U!{{v;ysc(?{}- zLj>?{V9WqqUAgn9Z7DQ>Pp57#Y<@}O3Sr9d2IqG*biD%6A@VLrLR#!_HBnbsE- z*Y%DH6TQy2;(P*`Ur52?a@?x(35(+#gt`I)#Ia22)_r;;z_H9TSI08@t#}ZAYf4W~ z`Y8XI?zgvHx!-aQw-4Kp?i}_^9~C%!zx|n&Z}xtB;>!IN41-5^zpeft?yh$f-}Ub> zO#hW{wb%Z=gCn$uYx&Bp_R6i6RtNriZnggmQ#>7^oL+}-wbwJg^9cQ`+-fPv_IKuH zyM{MA*`GZBz@+c9qg=MQgy|%%3v1tJNiCNu-|hRXNM{Oz;$26HYXZK{PC7&YZi$Tv zTz;QbLEqeccG#^I=)TW7Cj67~A-{c}Wz65^`>e@F-e>u%*rpre_I=iUuKTQdsPjI1 z{lR^9fc=_>1d*k4vTyc2JIFFy@<{mCc%S8+z4Jax9G@$Y%R07Y?S?#441AYAxX-#* z9^pP4N9}w6ExW~+M9B82Dlw2B#VuCP8tqKqjHm+Z?PZ8)K5n+rtj;Bfd~q4$)k&Z}t3~ZVygzw~D-gOQ#stDs3Lem%Z^`*q1RMxy49Bf1ur2`U zLj_vu7aRx0g(H=?(AG8;7~qJzE6-QmUD;d3b-%#7>pa;_VgGrCr!E;WVg521ZB8~Z zN6n-W@B|V^F|_T&VJ%*CmF(wmCGZmqe3vsMx8`VWV*u2^l@2=u&nS@AHj+lxAzsb! z2Y#UqZs(zFDozwm6BSo|J$A0MU@qd1?`C>41HX`Ofg$}AMqMB|m9$}P)~W5`H@y&^ zT|)L1RJx4fmQXBsoA_&+(>}X~_;tjuq5Mri{6R7RXZiKeM4365EI;i_cKPP+p$*iVc9jT#B#cHx~F+3VBw2i%lKeY-Xe=u`{ zF!m1q$R@$uLA5U#L<;cq0l(i)pu{08y=4cJ4QHYmgyFq}oz6eD7o8d`RU7qdNj}cf zgTY|<3(Rk;Og3QsY`I+_cd~9_*_pI(V+=urAt;2_) z14z#7xSclwsT)sfV9Ktt$t!1IF=ipO4^nQv9Xab z)=qhDr+5ttzV`p+6A`yL5YIHjiT`1xWaEA)CS!$?cEq18iSFSy7ccrAe@qM?A75KT zvtgqLU)OE_fg$CbW{2p=4x1ju3hV<1_}xI880co$wA;k*O@wWE@MU3cg{r7@t2VJ% z{N%gYJ2En`h9vlS^wh#7w3#x-Y!=MpB}cz(W)f#XA1s{PhRu#)wnw`V020t(;eiOt z!oN@_ZzF0)oz#mR=U6#Ew^TfhRUdp|x?hHU3(hx8Hx4=Y#Ed%pkTEs|hGpvHyuq(y z>5*(~5z_?IJS2O7c1ri0S;Bn4ROO1I1s%>mt~Tyhe3#^(&*+fy?y_IuW0jjJdQTwE z0cg%BkcR{2QG#bb5FGk$t4zEr%u533}L2Tfl$p}3?Xg4_uS@Suv4YZI)-_KMX0hR)<3 zhrhOGAM(w_!CH`_4fIm~HBD>4NQgc*B%dgN#N&Y*93U;PJYy67lwmF#0m& z-T1=o_(HVHJ|ba00nsq4w8cu_x#8MjoDOK)>fQ_8W`DMb&vi`6LG&~h9RAvbs9%t2 zXB5W2S?)LRu6DFw%%blRzTtE|nuU@fgk+VZ+hL@i`nn}sAja;(2uioTXyN{23q0)e zWq$gFQ|@mf7?mDw7ch>aT_c1j4L~b6&H$t$gpZIZd18zL3b#ri=@?p)=&)nRjjtRl zzX~UsO2K?)VQ9gs3J4I=KNd8BM_@N=Pz|XG!2G!}0o&NfVos@p$B?)PjP1h?~2_4id^LwU~4fZ0L=&2ArN{{Pz7gTc$u%t*?folJt+jY z`(f7ou0(hZK8E(sp67Z!FGHfiV9FjTr9ALHC+??d+Fn)Y$G9A}G{{ zkxka7Ye?Kb!UIGA^~+R8zeE8hYQp1CT%hB|5k~b5+%LmAHo{JL+=$}7p0jZDi$M1! z7h?DBmzXcx?lS=#OvVI44a4zE0;tvt7y}jHxGBd8gBdUd_U*ovMdFXERAu2_{dC0Ad=awwQbsA*k+HS8ME%fC7>WD>$9`9Th zRjr+6l#uq6C_q!zPA`z9Q2WEiTPPkHc-?*Lnnz%Xvmnr zVW+63Q*A0ae8l+P4~n9!d;*i-7o3U(6$6 z>Wj!U>E;Poq8lgm6a#TkIZnWRG2;+{&{}Le31s2;dVyr$*N$YANM#e?b6ll-xE08#S;3gZ`>l1UKi5?9m zSpZhBr*AN@1x0jccRmbUnBWY+d|FLy_MtQ6>X3zvO^j~Ws;25zKj&euIjK+pbG6+S zVd%}JO1vdj&cwWH70-k)3QAi$s@^8Z^%zUVgKboC z@)ahB3f)n;cFOPh-@dSX`)hA|$M2#k{-7`)DUUeUyND$hq5WpPouPEAtW{#+stei< zX3+A9rE)JBKan6tuQ*m-*l8k^4ZZ!lG@qQJ*PYpG_46oD?9^CC><%oeUK;&u6(`WF z+hrE^p!ua+HxBC4m-Hq_QEJ}8#xRQTVpeH8C~b$OeHNAzZhr<_bGWn^VSV=t+|u?Z zsaxAE9YWdrSn2p;!uFd3CJV29XlWmQt(kE>flZNr2qk0H3y9tstEOms zgA7g@CGJ%@@Lk0?Jd0sfS(a?3`!YH}aSxsGqB<<6pIU{)`wfxZNQ zGs8eL;PHezt6jfa(itvZC{9fc2ha^>@W_tlnMFk44-u2tnL{-`p7xWgQXMc>lK11e znwI>h#*09J9u)86=`mP|({76aqJn4!2Q>B5C}y9!B-m#Q1w*#@ectxKzUUL(W9=He z%OS3q6ayrjo%EW6N+yHxxM zFaKS{GL8%$2V~feCVu7;mjFGh@WE=~+-hIxrgK`OWXO;y&p)Ifdk%lu*b3kpW;#++ zIi8~V7SB%)Xz;-T7BQ18D;d~1ziCkDR{ibm`Wu^0nIC8tjCwv}&dt>#etoNY;PP-^p>KiQL2dM24?F zn_rX|@bcY29y9;ATAN+-45;5K!5SiCJ)T3A5@gL;v<~Z=h4g}(ziJ|9^$KgZ){KZq8CdL ze)3tHoY%;*NbwLp{C2E9d|hH?`?H!Dd9GXjAri+pT}SjLRZVZ1F5};_4AF(X$&T}| zH_9lgpEDQv@yDXj>)bH9i!#<5POKC0G@^2B1jUqEF~-_79%1nsquHC73xk){yN$~5 z$9lK$6Mu(#b_d;wsmnk1Y|sP2Be5}-UY{J^-u6)n{#f81e)4?RZ7IBQ2dh5?wu&08 z)Ew3G=NNuO&$lZpP{Sr_z#l7X;%D=4uXzBT&!WEm0JKZQB*H2YN1Y{N5##TX$6>%7 z+C2{YJhB?RN5D2HkG9Ss=y#4Gf*_LL)3G7oj$?|t*9@cI>zKp$mXB?6Pridi2c^E= z5pSZsH)IrAg$%QF7oJ{U6Te{nr@m+8Px?Od@r&3FxKXhSFwz*o7hvdaZ^xEy1r-(V zVjIQt5W5rjo_-%r>1pMZ+eo=xKB%d5E6_LxWgPzk)>m5|W)>}3MN3xvx^xD=c@YK0 z!h0!pKG?vMgGoA5qr3|?+$wYI<9y{x!sL4iA!Z+gzYMx!S*p*sq@XBJZDA9NFj5 z#+~v9{uGt(KYQ$pSu@)xf8hS|)pQHQjxAXBJo2^6XG#^z-ntefAv^>pdc!ri5lmM- z`$g37fzRP+Jt+N?<*V@}^efE&4xeu;sH&?=aoj_CAjA^*f&_x_7~h!}vC8M^fQe6h z$L_oRNy>R|@gS$LovSa#ae?+?bzrx}%+|(>ZO}h&e@^6TFqaBsl6mA{`6zf3Wq3!& zTYWll7^p)c=SW~10`1Ec!X=(NMoS#G8$E!N*Py2;PBio@yB_z6M66?e#U+D8I*O!* zB#1e*t-Jph9vD2B`FI*%I9Fh#apj<9>DZ@s;~2#NVQEy)6vdlf0~a}CpQ?_13KL}z zecsjI|1%VXXGAe!mehx6WeMg=1ajJ30=-UqOrYLvrzv-me3(gK7l%MX1o?yV3#Tn!wwVXqcG6kLu3cGWX%rS10xgygN)*OhV9VWh?5NiAXQKK)iO9bi~`Dx z0m-i94H;q;c|bd@#ZTe0%Xuz#We5i6wkw!7$cV&Ug?6K$xX8xgGsy|36#{@ul~>?j z+WleR4L8?_j#n=-j`tXWi+oZz1>dqaEY@DDct=zfF_C>c@-duA#ui@&llVECi2O?k z#q3#RCS2)=`DqEdjtZ<^R3I*xPO>I&an&gm2#d}PtSWFkyVx{FaJu>(X zVj!vp2w=fT;3THiq<#s|f(LFaN-x>JJ^j>^BpN5oO6sUYY~@h(hT{;GVo_+YH-!bz zwJ|ZsgHL{qZj9pRmHY8g9_G-jHn7zcOra5N7-0k@0DOaNU{~&Z9s@S1O(I_6Dq#wE z9pj1`WTQ-HPA(f}THiITn+z)zjBBP#Rv;S61>;PrJGc<$)!>O+)%cnj%m|3bE2T70 zF;muoVO!k7ykcsIUSSV0?+eeEPP(TENj6~K?J%&-7gLgOOrF*Huy>)*LK!H$rPL^t z`3J_w6?WPQ3-8v*L;YoAzKTE$|s@=>FmZGcYrzjRZ@G zjWzl`60KfRrv*c!^TqJeseW7-^FeNO>AABu%hYCgfX^^zOiY_<%>YyN2m6p=%H;}l zKjNDGjG||h=lxR=s!uO%A zXdDqVZqVN^5OxwUVHimMAWZhChAti6s<1De>Vw2hzM?XJ5{*ZhL?~HWwX(0gsfKan zu!&ZrCKeV-ARZ;GzNaL~dP$#qlAyTdCt||xe$E{jqg(a~D}a5;m;fdaG5F2`@aQ@O zZ!Ah?%hi|!#tbkqYf}zjKDN+Xvj7C)j0wOrFAQ)a6-HM!+}oqO?9uI4;#>eL-f=C%U!rsLKX*B~gK zi6<3&4+}pS-9wea-kLLR5x~0{K#Z;;;D>+_Fu0>+`JOq$#3hdHMW90p>w*Q5R7UY8RESl|G-&?AgQrW++IX-u)qJpAde*(=3RhiI z-7IeWgQaWo-vtV&*P+rP1qdE2^;bGWiLWtJaHx47CV!t7N?k5RMj%yr@WIlLqPlCw zKJ^o&7d?LS@d$hDb+3ms^U!?{mR`AqMm*>4@_SJQ|C=vgdmlsYD?N9!T)H0jEna2t zCzomQep71PRbKe~NpN0Ybq{vmbvENTlHy8ca^(Y`F%*&IOgn)usH z!PPQ??k?Z=nd}}&Md8|f^+(t-t<*zzl`D6#Pu>-MvI2O}C!L|}6UL^J$s2K>fE?iM z>heChaL_0J!|NV(pWIvg@U&J6zY)a>&65i0Afr){E~(bMT4xN zlM+(=IxrhO>Td(Md1GE2&;av;4KtAONK^f3+sJ0;{8#0Ne_-=MjCm!*n3p+qRk5Pcni*qmjR{gb#WIi+u!Ps;S$iV_P0v>9owbybbM=Ur`|nLwEEas2N_U# zhR4#oZC5m2Sy1LK+zxTVF@ZZEjI7rfiwJ>sAE+x%=nL9jrqwim$L=LPpGJ?R%_BDS za!dmO%XJ-=vz&Gk1H6HL-xgSeXWhc1y1zEe47i0UUlLCd)-AmPzMhj9qygz@diU_` z?pr)P5=@~lf+FM3^1_RH7W3!fSLwok;-LZAMg}Lxpc$%)gda|&Q57G_-xco{M#5N2#`&Y@EnuV0@h zMsiySv(KNr8-)elknJCmWb!cOc*{ z25=H^FSCF)mvi4(k8bR?iHoN#-`@pr^D!oX5i&;5DacKy2*pkdRB3u)uZuzFMu zzz{d@I03M=jR{~byG#MF3XBPaj(asi3BitjR}Okx6oN}zcd{$a9E3lg`-~tKsqa>0SHLSu?5JLhYcfcppn4g}m;q6OSpXqSMyXL<;@GZ!vO z>~j6Y!Q~Jz71F4yS*A<)GX&gOOqYQBHriUeaDo?S#w}L3(ci3p+m~qSefcth%Z`>K zPj3F&{h)k)wnOpk#`p{@*F(qRj>0S3%3cu$xmO1k4itbqsWAhbHdlcN12ESsqaLzO z67U|CyPH+i?GmZBsj>_pZEMT`wjuw)7ogXy4@+OC*0*V}-B-a|Wk>w^J9%mPI`5(X zZRiiabW01-8}$|aK~A1{FT0{Y$e9r@19E$ZHRatd>~dbwA6()tdPRTmivC~-U4zZy z86gnz#EE~KG|5b!98!ZY6T?~(N!7tz_$&H@B+JAL>f~r%PF}5u_Uh6f{FRTAy!sob zKlq0){=2R}Ncp90F`V~t1~o~W<2EXguK_?%VO2m6#<)j2NxsP>kgOoEoX3_!1aQSL zCg3N|OO=0#Fwl$PwA$ohtFjK-kMBS%+hia^a62;%YTD2bhDgO^A`>@0@hwPWa@7Ea z9ayPEn5OZo__Z>an7PgN!L~a$3@CyK$f+#(Q^cScMGVYx zfr|=+RELw41ul*PAf*Dq0C!3TqA^p(2rR-hj9($bG~zgh;9G=clCy%8&>RBMmKi3o z7#C^~2G5qxH|u;%8S+rbw+amTmK7LG7h!l@U1MB$b*-Mn%qkQhU=gNy1xSQx(Qynx zK(y0X~7;Mdk7NrL8Byl}7mjEqzF~g*gEdfwyc-Mjp0Y*Tm zL?Cn@0wYtOe`q(2@rbbxNEu$d6O66k-2#8O`|EnIN%aT+U|G=8)aV-W1Vpu!|AciGySPW|paasPeYz+1ww`osHIz$_5 z`^E$yK*j3eVi+JgQz2-qX%qn%NHk_ZF{~a3Fdw>nRhVoVaPKlEATcZ^M&H&((Vn)T z4iU_?btMk#Eg=YHU_l*K6s$woF>&f)fDqIfQJEozMZ|(SO6d7AqC6qX*(J6aEY0Lb zC>We}Dg*+V`I6Y09Ih9CG=(4-_(#lvpw6L6yG?Fd!Yz*HdADRvAVk=@1k92V&bY6N zGl^4R1sRIJe<}&;gcw$g?vB3M&SkN;8WXVCGe&nGfgar?`rL<8n6Hflm;}ZQ_~g5% zQfkbHX}GND?icj>in8*_mx(dD`7mI6bctYeSCusv2(c(!Kp5!JRYiDCQDL5hnOgjY{!}g=Ve9Cc?ifa%QfAMm*tHHt#M)y#q zA;E^n6=t-ATa50kigE-tBVyeGX0Z3EB>BAKmV`-Wp!kO;)98AjD%1Sf^LLW8v>4VL z0*Yt-<0JfQ{TGqPdf@vdYEWQHN-Ra4S6Ae*!f?vp7J00HHU6k&kN(ccWBtPa^r-vf z-r|lIX{D^{@V+9C^>;}g>+B0P^gMU2$YafG0sJ>2kM$v#-33MLBR2`O?5l-WE zV;#tzU6IEk$vmt(^c8um0bZ7~EAm()Vj5hL#|nd^Wlf8ub!t|M1+gH`#oPTAc`O{Z zVs~7T$3joUd=WfK= zU?>AmIwWG-zI~0+O@JN_ss;-!NNZZrJ50c3hwPQ=wi?D8t1?>(Pb{E{PL_{A7U?>OGc;M| z@(VXhZ?OVFdMDwl$!?R44ejsTk1Tm@M@3jOY2(w>c2r0_aI^*1NA(e54b@hck{Q%6 zhMa`wXVs&Y>ObV98(n2xt`5bjvXbkyD=Ah@9t7dzrqnq>w$#I%9DN6 zmD~7AZ}~mH`5XQZCbOVAXEUdHV;%(+pZ0*6pAoNOd`q#70IR;Q`8^00`jQcS+J?c) z8p84VMLRS!l%(I=2;W0^f$$xeXd&E(HPYfe#}Dy9m-ro0)3a^Eyv_!JAwI))y$$U$ zD>54TS-Rs(CQHi>ly3SQlH*Z?neJkmYJ(xg9}j_O9uOEHFiRg%U~T(ysW2AyOPClpt@@G-V9)*$ScsC2&7VkkoCKY*3O7Vbbq(hnQb zluEv~yxQWvV9NzzUOgEhNahSYbjc)vhBlO|@JzrKgaP!>#tKbFNN1~cp`sObDPro` zE@GF)D!!_z3}MKkOV=xmd_yuqNy6l}vDmEeg5tP6mm)08S%hh-Dqh9=%hi|lg?$ff zt+Maoq+MRI+E1z4!n*CXdU3WYbo+yu+_TW&uinzavw>6Jb zcT;0gDXXo09>BicCjw39L+)4C9LAw?_&};w`Vk2+3(m^Zc!R;~_YR-EVd4pJtN<(~ zsy%)bAKM1pN65S_Rs*a2gQs{VxQ-_P3r>E}v@#C40D+YkC2436ts2;oiMP41 z2?^VFGR$YMZ&{=Y<-p$7!UODU>`&+R zi$9_u(!!nnjJ=_4A8fds!}eHPCs?1+x`Y-ye0n{${l{a!>g>TVrHPG_4b?H5dJqN@ zX(Z9(xB|H9;o@*xeQo1Uc_yl7Xo$?7KsKRo*u-z_{&dB}rvtc2qIx*3)MS+Hz^OoS zcpMBo?5Jt3Q^U$-yMNC(@>oeZw3EYZ3uHOerTqM1sRXC*KmR}vce`A6UB;6o7t;sW zd6_E-J|rctVFlhTu>}mClavWsGDX9sh%fZ$`4F$hlxZk1=0!*`gwa?~Hz*=?5-hK> zKu-3UPOwEOdz92g3tAWGl9#VnPize!a0kuYDQ^Dn#p>=u#!gnZ zaP?0$hz~2#QLy4z`PGsz8G!Xtcm>0>J%zd%%IX~oE1OkN5fT`IAv>BY&(5p?uJOCi z-^sD;wnujU0qU!!{VuZ~qH1zSG{X-|5+Z!s_AC$6J)YhjhBMF3V+%rWpW}we-ERjl zHpYnp8)iQ?%ROv`dw|#(C$KYKjm>f5_{MmKsa~66eZN?K=*#6-!@L0O>S~`$78fz; zNfModd84uB1pLf7E2cDOFH1;SDV&6$)5kC**g!>9^JBMH`j?VVrJa zdAxdN*$(&4tl;;`cy?wLaCM^kZEPawJe!joPsBXi7v_dxhc2xqPvh(ojtK67;}nsR z{qXT@18w5$F5Z0uzVZB>>~?94Jh$}p3mo!f@3)Dc2jig;Xqzt$%%c#~8;3#+L~Pa^ z1L7`rnV zyMtc!(8U$Wy~-e2_v2~BMarSW@*Z0rf3?W@fpHr3^C<)~6FxS^vpY^_&Ef|jQ;Y6p zFIpkzaQ_Z+KRe`)Q{D+Niv6q^6APm~$e&4ZHB7~a#j7x?8vNbB!c|;ca` zUm#_pla`Q4mSG~wlIXdDdk$KKj-o+hoax_zPs4QJpno0xtWnN~w%ghPby$~m9+-qu zb82o5#p^VR&^}iC$S&w%widLdQC8~*Lf(!>*zI``B4S9O*tnP5871O9&%!NXVCm(+ zlL%6GJ}e<5q%jI#JusIY`%PFO34qxRi~j0L{FL*E(oHZEgXx#-fo!7T#hVb6gi%C& zhZB@)^5{3Kz6fKO$=139!8(cAWFSG+5ED#>k;8$Af8}ixx;+Chz z^|;-HxawfFYXt&^6&5+T)j}%PpN~et5*kOZ^w#SD)ME$EN4L?FS^hyykhoB_ig$ob zw|h0`!udNny<`ZADT~!_hbTn%em~E2kK}*!&)6?8N_5!&=se28XV2qv*)2Hsd2cvm zMS_+WWTt0g9cj=_fHYgt>3{UqW28*Da6p;tq0}RskG}fc5)R~jzV)!@u%N`$t?h}aTT>vGm$0xO6Ssi4z6W0*OxKwM z5Ilom7Qlrki#`rJxR?xfm+if#OX(LDzf^Uw3}hGv>v=>2YLGQXf#L8YIE_vQ5z0Fw zLIgm57$X2lf=k)yufC zpaOis8dABQRo7Fsl!3hhy{SqxKON8Jk|*HI8=UnWU?y)rQ!q;ℜ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

`+4pb0b?G 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%0DPHULK{_wnmD8bK3nC^-7knnUv-2Vg+y_ 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]f5S4_XAF`Fn(I|#-&|PI<8lcHU%9|zu(FZ%v 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

HB&P9Qxw=b%9)WIK}b_F+gfeD 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

#IC!iJ^xk9G>(ks<`jl=)22 zmI8H2HoxyyzB8PTxN`MV7hS5J={6q{)N6cP$EVbvGa_ZfB=wV*RwNk*nLK2;>5%+)s+7_s^&$E~UJKGa>xdN3*dSEVFcQ7=}{ zA%&<5427g$Xu*Xs&U*Sfwywv&jkSjV|G`2qxrvt79ym`Gx6I%DUbpf^H_d!QzrXw0 zY`FJzm*I(eKSSeHn0AWT+a{M%Xif#+FnHGDd=@{Sg(OykV|XcpC6kQ@6>*^ETYul6 zed^exLWGuN`n|&x$hYa6<$oFN>mzhGb4~ZcOI^!~1}s(1_*rWe^S zUQg#NgBMU$Yf)-W%L1}^y9{Gw92!?n;xuHBthQi;{5W99zAtA7A-$*R*;3U`ZK{io zAPI*eUBUM4$Sj2>3(S1kyoh>=#tlySlnE-7)nKTj!tI>pD+wp;D@2yHDl>SP`7+tZ ze<4oQBta-eQC!>x+E`{YUurCpGa8%n{8{7r+90K!&7uy7&-QX^w(`;+iG5XvaXoEY zD}&%BEB-8t74aKJC*2=y-@UR;bs4U2nM(6?rxPr z5W6pl1C2VN3)XlP!#}r<~0^^bqPyNqy{Z#;XJ+v*#G!Q`}2$wM~M^dP=29XAR28zz1?uu61M zuniny2&c62TP?POtj&f$7?C|{;jIU0;4*s`y8fYSMb&{jI*^2X>_g|z*mvt9DwR^B zB`Z3n|Ey;E-=jHGFpvk&{&w5K9$s`H8{A>#mp!o@UB3a2v9i7(TNPhK+b120;-~lB zBQRZ2{RjG~uR4DnMdSl6h^Xqq`(LDhzelwM$Uk#rs>yry2IoOO0gn(52Xt;R32A|U zPPGG2Y5j&n7!so3hGYuDI0_pWT1P?baTe%KZPx+nn3x!OiXMg&8?FaPC#zxo^8S~@4Pb@@qwxOuht znYg|sAt{gn;spE>24+PvOni$2`*tROOj4?+rV~iq^ z6CNVu!92vB0%pq%C?t7g0npZHCeh5MCC7KaP$v<&Eov=F;^(3`s zNO>?8zF@ox-+@fVf^vMy2=BysI={xNz?oiY6 zI_m&lh(7(f8Dw-sn5)t~r1@q#BGg5?<@l{vr}N|M$w77>P`vQxqG3kK&(XgGEs1|C zqp1Ij@B~4bzoa(@k$~X#QpZvnTLxpvQ)FxL{(W6VM9G4{1X>N4we*c3t)1M>kv}~n zd^1;foqVx^TN9kx!frBx&mTgZJ?tf+V*J4wiVsJcqwEM?s=^|QHtq3^ zs(wU<^A~2G-T-@%BleYC%v51CpCESY6rMN{OrQE%n4+SqFzey3qbf(i0m!~q7?G7` z1XYp`VX*jEkV;|s6^{Z_aOIs&;HKwb6&6Gm7FUjRMpJykk;S#A$M4R!t};MRytrWh zBBZ4f8)U{Cvk7h>uZ~0zocLRAnB75e0DPBL8kR9_eOLn-94M<;=yX^9c)GMxiBl-YD zpv=w4f(f%`c7CE)G%w+7N-R8NbA|vz1ZF%wh+(|%lMh!*qlHX~qQZlYEbwTO{aZeZ z;@0q(bg!?@$<tMUgKBeZA+79VlH#JY zQACU!p@f?OW%jk);txi#7_3O7l8@+T6dW8Hy{OpO*eGmhK=8mwh=2B31RdmN5V7qU zq?PB|658#8Mj|xbyDKu#$YgIDq+TpWzz#(`vv9wA^oJd~{C-!VP(mUp8o2WOOkEE$ zLm7PK<+*GjIS=WptLh4n`Y!qtwE*l|3_wgZ4w9x12`9H=s+1+wMKVH3mm^x$D#d1` z(PBpCOD&1#x&6ymESc^FMW>MoX?rZiy;y4aclatx03jXQH-hw`sLXz2EOebtDkQ2z zzkPoMIGQ3zT+%;H!!0dC3e-WwIFbM?^FT^G%MhJCf@qgP2384!gRoPKsS`~^_=lmfGLbX&YJ$#nO)-AHa z{A?x^U5qQXNDUR3;`+6BFRpfc`1xBh@Pdw6%VN98`jXK34ssL<-%#Fh^BinLCj??` zm5ZIZsN5w?^X>A_5lKS~QEhOX(3#^Vw+}-%Y929(hJ4Q?kU<6ncoDrSoe z(t6|M?6)adqM%5&6=L|EMFQO(!$@0ir5!a>qc4cpLvYWM$Dd;H#n1nub7 zYdoec1a9oH&8AP0QFEd5Ww%GvG7c~_?qrsd4o$+d;||G@)8)7i#D#=5mO;Owf=F#C zi#6YQizt|t^ezGe6jRfF_fp+fbLP^Z@ni*~Od~4DZI=_8uCB70R-_&0m!UC%WYpY`G2o z916JRJG)s$Nc=QF0Pcb`2?@GF)j~Cln;p?t;(OaO&EZ{fazZ2I<6+t%rB{$-5ocoU zyTw8VP#k6+jKwz?khBU0btdBLttwREhzijW-J_o$Qb9FViEY5;(OZ%GPvl6(YxKr! z(v^cFKleXzEo@i4>jPgHMR(7`+`-0F?-gbY6f}$06K2BC8zPUgq;Y5j)8nJ2BXg&o z64hdE2Gq-Q$C-gh2Vx*BRDyNC^#Kfy=iMI7tD#{55I!vzsDG?%!BXhTeFFs4m#7Ii zvh(=V1%P@>{uc5w2weaJcuNQ$^cxj|H%r0XTxK9l1>j( zeH+ZtE90tnpKpp+MlJ?z12vtnPWS7a?aaf>WdNLu0d#v_x#As6kb(E3IRgTIr1z5VIF+=UL(Bb|ypLG!Hn#p{wJ$)uCE!*kZnDj2{Z?$1 z*pR{JSJuo#EbG&$w@ICy(IVR^S7IQiOgdqXG^4+lja85}orn`H-MCr<@G<>#-&6p~ z%3e{{V9XTTPW#0wx<_b@Gq+R#5bvOmk5>MqtB>-(d52MKuv7}^5N*6VVQUihO~WY| zMn(A)3O%F0jhl+BwsDCa(SR6cwyFPR=>GmYbZZB-q!|bI$Uvbh3bW#J8pq=Jx8K!P z2B+k$hsPRW#*gHv6`N22M>_{)l=^}a&8D+=~Tdy&f^yGZ5oAQKZTq&_uY>`B}pt&g%$5xZAYu$;pB9uIgEy|hPm6~ zLH2kDum&L$HngI_Y4&Ld@!i6RKy?weOmbTOU`}=k*`-tJ$`X8$sZUi^e_30JkXFPX z@WBu>MyMnZKbKAGvf#`669L!GIHy3{o7l$+!JG082a#7%;D-_!SJLJM9`xNoeb#ZHPG=BVZZ zFTKO4qEUiIb-Pb^2%3~l}o$F`nN_W zgEJ1+6+b_WnLpFfBW~<**7G6fUkF(5GfJEDVYC%DK8@8e6pvJxyBsk;6{#FD+PA2p z>*c{+$N4aMPNo}7nEEU5?x6cq$eqxkA^~N(=gwUujMWzQ3CZl#k9$-OnWV1>E5CrO zg3CSi4p}_R>QWp%8!T%Kv&&RU-pT*Uo`m%h9F54-T}TK0kNq(eg?SPv4)!aOmfR^| z&(Vl~(kCyHm9*;kjm=js#Iy8|{I9sEmRjkMa5lwGSH#WZ{A?0^)M2=^dCkt~k zHsFa24K`trGbMuN!o5B8|4exOJFR{d{sr1G>8E1DIR8%9l)4UbiefSOznr32`A)|2 z9`B?jA^&oUnwR?^N(fm8B7H#sV$j!e$q^w+XR7b+XXQFde5nyKzz~}jA5>yNdaAv> z&1%44c19dA?Vm+qUW60$oX$mg+o37sn@8UezeDLTxHWPF*rwl_U?~-$tIC+u7Wgqi zNs9xJtwN0qQI=Cql^in!;&laYjs@#u|HtZ5WddALvL)NqXoJ$-js<|-bd4hn}Aj*0rcuF+Hv>w3otcxXr zn+6ZUQ4|Oi0(K=c#iGfxuJLf*-9HyxAeQ{v9Rg4zuBbV&5B9PutdIiEJ+MjFa|y+b@+i(vL_NRmePa>t2-ifFgxn}a7#1tRc12*)a}Nq*vdKUQmE7@@5|)@c zE^{sm@(gvdUQ7HEPG9Xn+1pX!7!_MVrxcXJ-oe3<^}?nfU#4>^nMhyly1C1Z7LeoH z13w5Q%V?;H1H+|E`{SU^f>}7bHJ^WCsiB5C#Q(f?7n%E%VU;FF8;B|^N)ZsDBkMx1)pxU2=tx-#MEKE3|^)W(*#ywq)*M`N-0~+8C9fDG>?SQD>*q z44<_ivv|RQ@lHq7i8#tzEt;A7crrtxlpaW-^o-4w<{=hI4eS2?@v1J>GdOW2oE{<; zB(GUAfu-P=$>nfMVZTOLtXLE!ENe)6dos{^?qx7u@del7d2RILt5l(906u-o)TZ2I z&IkT2B*pp!qgRF{@FF*Ul(bw{0l{kG{0SO!5i19o_`5*!>1?DM|^2;o0G+8z)Rgs{mTtVSUl?%3h-euR)*?shTBO-B+C zvMM?f2KUd0LZ+mZ^+ji=v z=1BJn5_3vBj4$-#Fv8ev4JK9TagF2A7D3TieMQkTR|!fyj6~Qg_1+rh^-l>{k(J-Q zr9OT#kXgs>NHl3)m3_At2>lbDVL95hi@;@nCD{5&l!05d5D%l~;y@%#Bns@)xduB3=1d_?&09O%JrX`u;mwgr(yMssc?nZaTq`OwJ&dLe z#M2^Z7F;u%M9pO^$a9yH6dOo3zkU*&?d0BT_$gL@wY#+FM6lhxZ3a+W5Ep(tyS1jt z_<^U0fQ}}z+vgTig*XxGS|0GFFsYDU?0Hjyp`AAkuKXMa^MVJzD_~I-VLIqio4bz_ zf<|TP_2U6XRbCxc7i}ZB3Q}D6U_GGXPJT!OyDYe+%Z~Uv{<|>)Mz&Dor@V$5Xtu<| zw@YE{os>PYZ#apLI+}c0j&0ThvE&4)2{kxCL@U37^aAFBUm`YfxzN+@`bT+Go9sj{ z-2RhL8=7n6KL?p*>I<>Rs`ZL2%aKC?O+pqqqJv@l(!shIt6kW+#8PIa9V0iP4MVJD zq4Y_aTA{8EH=%5FmRhx+JVIIWY@DVZs?Ow9=^0Kl*X}q9BA)|Csd9u2I&1D z_k|9T*#kuvB)=Xe&CPs^&82U|j#gQfh@TkX=Pyq;zHPY}OWGM>Fk_0?l%D)X=De-D z&U$%8gK@j(p(F}V+ZH4DT0+KPnGpcp5oCy2hUPSTz%Pyokxk^dS>cfz+Wq zyp;)_@f}yT=z6!lWsx87WEpu-rdH*6!!$HtGb~}h`e*z~9yv1QI`MHGZc_FT%^XJb zEAMvnb=I3@e;`4H#40QMMfd`g${6uF=zF~z6jGv(?Y>-DuDF9NpGt8ws3%*$+K)4s zxqZAL`QWjJ-|yZkSXE=b#j67;B;oJqCE-#Lr*GQ4mF1qLT2Wsr7ln~Gpu zDy1vm*0xU^N(OgF+B~;CXmq>uIE!aX(SdL4yowo|^L~IlBErtE|6NA^R}6$9eHN&< z3$u<1VTSZUfzFYo)J*}ute&4JFif3+Jm*H5Ja@GWJMYa=!5*4N0}x< zrt~A1r{K*Ek7n=B*1XM5!SV{_*9GE~=Vj^;xLIP&>e9t3+(C;D-8jVqZnoDipsSQD zs?rOa*i;caOq}^BzKNnCz6RFfz~D(tP!K`(W4Vy)tYqAe@duX&N};Dv1OyQ8@QQOC zdrBE-ik~J62ux7PBjss`XXCPb_CjP4$5z1pu(DIfHkKiA5vY?8hQb}SF0MYu)m0gancVpJA5DIWevGtVbx#Ho%nfzar zy>(cdZ?i32rAX1@?(T))9^BpCDeg}3Ai>=U4#gdc6qiB??i6=-Kl#1;?0w!(uJ7CX z|Kv*UXXcrE&CHrLx=v3aj3c9_y{cAzYlCgKZEPzBCk%$NPs`=tBUhxY4C9MC zc#*Mi1#uz9glYi-$QMQY1HSZGYroUJaDt>brpMpPw)Y$#>$%w8<*>=b08nDmXw)I7 zxmrGY_2nU%xB4o>0Ipms)2zhN68FFLob81Ter$>;z)_ogozNhd5XkvtrIB{=$Q)Sg z)KjsnsDT;{NI-;COY?sX#Q#5Uyz9T-cv~cq24iJgX8qy8`>bz6tq0VDH^^$0Xkp3- zs9GS7x#~4i$Qav`=LW_Jd4h~K`Jx)V2N!(`5^Q?44MSYIp_V)1G+`J!xAr@2lFUwS zl8nS05RUb9ZY7P^m%oYq2Hx(RrPv5akgoKXw+=(`)s7h5?)whr@U}WWSJyrzLLN&| zrgz4q{Jt^(L^<`y^mC3T#UbcD(DSZc)Kh5~H)F~m0-$m;z>;KQ1xhjjah`BffBe&! z;5I^){lJ!Or8+Dy8F+EN6wqwEGAp;0S{Y@q^700IYLhpfM8bzmsHQjr#em%Zsm={0 zjIu;Vpp5tY16;kJN&_C1^QU)|i)Wk9xxY9*=|{WNB&x`E46DdOEhya`fds1fWM%Ar zTiMtAx4vCFPPI4u;{phl*ltoZixb|pQ*MC$Hl0~c>k*TueGhYVDWO0#yE}hdH&bqA zuFXBsgD6E)6w^F${usO{$uyPp?Ty#YI}AzYodSbQdn@gBTVZs&cdZulgf;RMjY@sl z1DdzSB9#}*6lz+$gV!~K%MkJ9n} z)1~TiTm2;18|ibYlR2F4k`#aJE*Ud1WCWb!Wc_Xpv}r8IBiF92UmYK=^z&emb=49{QJ3l>I;Xsezai5+tVi@CohJq>Eq{s0CH4(>R8aLesr1~{8+pI zYwGMeyvWrMibXa1YsP_>bSW15k$aJNGkd+x?;ZQ!*o2bBbCsLCBebsk6`5A1zyvsS z{i9!1bjUR*{Lct*mj&UBxtwcHVI$N7lGe_>r6p(QlEKRH10##SO8^X8-#M&SeK^A0 z>>^n`h}mE3-<`@SCX@I4jVIH3(Xp&a1KSrQVu^SsB>f z17@(SJzPpo>&g*NG0r5u4l5G#ZeC)wRUb*Djus22R(IN7R{oLofUj|+iYvD~f7iM- z%mzmY%M-Y8_e)XZW28RolEgl5BlFKO!xbUyzA|P<1~6*6UC1>=Kw4kiqlNC@AGonwcg-W0DI^=b zKWx&VN=_|e?KP9*eCpEw&Nj7ue))l_bL~^x6L@y+HBS%tLA=bwrMy~uwmGaZmh+G| zIV|u`{j_F-Qy1#d#1fDD>f8YNl`mhBkobtnBwgdIkY#}Yg#`5UH~d33nUqP2eVRD*0{V z%%#R_7=v&melQ9lT5!i-rIJOIr0I{5LYN|BB#&q~!mkV!s+ptLJM})gba? zBk0`O$M2$)dYjsAlf^DSF|6nFVxg^*5hZCSe@n8kdHusPH1s=#d>J#25qmof-PNCL z!8TJcuPQ&iJR!TyS$sv=K$dK=)b4Z8-Fxyy*4+o0;i%uae{ZnJ8eu9eOMg5PhS(Ri zRdz1Uk#QBQ^D$SW-DTDy$V;wWhpj79S{3Ym$^Pl0;j5kz?d5VY2#~Wg>q#JD3sUcD zIaTGq95E>}XOMf|G6$;Cmyf=#eE(G-7)Nvg*Lo1B{Ng49<_uCXWy8f~Ges-XWZ(R; zpBH&{vEtjU>)9AiToxXCv{{RXZYTI+^*yLsFqK~!I29Q0j0r(b^l(~}=`qd`w{$W5 z$tba-9D%jty<@u6S|anZVN1Q3_81@QHkstTy5@gJD>}e7ih;~c4Rw!%kHzSAxLy`-<1P1^u&}1yuIS9Bgc-((0eh$nDKcXY zJfwh`i$&*~i&XR82`g)&6A+((J`C;npmilFwg(a&{G$EQDQXZPCk}o4zm@af6)*IhOG=1vU^$i*-2%AGl+vfjpo6SuP!w+p8@RgK z2c0#{-Sz&g#`2tY#{LQ5n6!i73x&e=$zp@)lj|Bf{P$URC|_9wEn96{z>Rn>q9hz; z1{w@A@SHLSrOu0Zq%JG%p67;Z(o~GkGoNJw`T;37dj(tj^KsTmh80depYhq1WCAGE z3sJFaH;E$W<3%3*R_}2Y8LVAAvs_S>Wy+zK)6}!4Alg2TXA1A@Q{xH!s=a|KEY-7t z!MYrq%}*O)8`ZIfJ$rKzjMI18z7GmP2@>MDvV!2)6zA~uGZ90kI<&;wrFf>h-M-tJ zU=sUj3Qz0hH+otea4zgsL8<-KIO-&uTw~7#20I32N2ufY&|(7*xg!GcZx-0>UR4s6 zgKYj!msT1x-tzZTvAnr_QiGk#zU7;jO*zbq>ss2soY>Y|dZQ^4WiB7@yW*dqycDer z5NzHXAGqKg8)nJf{ESfOSnf9oB8JDEf)h%#z%6a^xOuzQaKR!@<}Y*8@ch0VV!GHS zv!7%ec~k?aO?f{L#04rsu;Z8Sj+=7dh||)e5?KDwt15`dNjDE2PCP(WmUj(k`ZDrz zA%Oj3;S>)k<2G=GSfVr>A6D3Wi>u7|Kf$zUY9Bs82k5f+GezwRybWedA9f-DeoND$ zQ4fH=FIAmg?Lvgl$Sz%i#hjNC4aUhw)3f+fF=J?VQ^X&&w!FWXmHS?+U^5${ioh4; zI)^8VtKGw!<^m)&U6?nTN9|K85y{LM@=QW#G%MsyKZ$FySgdm)Lb|uYQ!7Buj2>W; zOly#TLqplYh`0uG)E-(IGh769|8#GZ_SRn%3J9WjWT{r|&wOcRV(wqs6pN15b5L9=`6m7T`^ zpBx$f^S@AUCXv{$fy8nQyAu?;P>)aj+{q`J9jUt~{hYUMWnj|9yN~+u>P@=D;O zLGqF5D9`a~wr*bqiNg>W{HakSJ$#>_Z`3F!7nwR1o)qT6gT|cg#cxx!RkLS$Lhh#~ z3Pr6+*j;LmlF_w<=~gmO{ZXsky}FxT#&8oW$%&El@0_M2o?P$YPHyVPs|?%2N~zD2 z@MABCoHCn}wPDA`009VnMb@x@nR#OL9}xe$RpWmwJWmQkD}cOt>;*41JN`0$sKrG$ zglsW7N7EAm1|Kx_-e5NUdKbZ)YYhf@dm8sJSiKsZO|D=~u|}ehir1AmdA8^9 zH_|zqceuj-fI)Y@>iT-~Q#JVZZDjp_dE9@elqn+e&-K@1wX58CURVw!C^13O{UZ$| zm<`wVBbYf>XX8?{(T?muXi#f9JZLaH-Gq8T_eK9@I6l_9|2_!fbMuLDneEYQjCvfmB-aj5xhr#cq z3VXakR;KSuX`XD$S4YID?9%{<3z#b-acdfFy8a4`ADdSl9fHZM@-hcE4t3b)=02?S z5s5UMqjZukdJalvVf{}$Hx9j}9##gkoF+jnT^z9QpC3|=`pKy(UgkEl3Awu|3YR3Z z#b3n43LR7PwA-dBn2`Ssmy$JoGKRLh*0<6-g zq1pZ1q!|Anx!4f=G7pe|uQ-s4rBvVVvb@&XLDkG&{l{Qu*t)V|W*9)cpEo68QM-0s z1r&n_Z7A&V*FD@mZ*yfo5ao2A3=D9SN#lK?GaOo^vO9uZHGZNWp#yw^8$bTlSNrey z$UhDh-JLDpKzBr6a}I$WyD3$)@m9R%th8EQEE6KS@7~VA4A4VdP$tVRzyYr+@an4gHr1s`|}mG-m#+xO2x zzQg=XbU?Zlj5AX_6j4ZCu^FWYvk)q>047fQOLNfQJQEBxV~MLsC78;OlbY3sfBqmP zPI+x2O4b~mNIADAFNjkX77d{Tk6YLzP->Fhn3u3oT5x$IeZCyXqr?8WelFhc;+=mx zqFO0dsLXov3#bqN!@GX4@M`~>BiSu)&uB7iVkf_UrDKl;1m7}FG+2A7iH@)R-mM}P z6|$wPpM+Er`x^N)!QRsBjWxeU@9b!HYWx(Y^g!cqf8Xtg$^pE-2waw1;r4jqw&GQ4 zRnS+fJ-yQS)HHPEv76Oi>#%ek$3(^O}XN{yKjBayA5tJ+q*Vd0K(GXCJ%aPMfnpG!?o)f`z`_51 zxUbzZO0gonlvY7UzvxWPZ?YpNzoVUb>hs2H{J&dY*A~`({ert@&cGbc%T(+tl1pv= zlfk_r*Dbr}Zd`Zkyi<15&OI~sRwI`sKL7zpidy!pVKRkB`a_a|vP-G`!-1Bl+Q@2D zQhH%}Om9O)NZnAF@O?Iz5IS6VIK-pnP?coKK&@am+&3}7C+l|aW zhmalolJIQkCvglY5{75$oC`mx0rfV?T3Z{n_{H?Jbow94F5)YPN7ed zP9*(#G3Ym}=Jm}HYIPPa%z^4J^QA%{r)WDNXy5p)jC|HR~Dr83}l8sW?E*L_?$kN0iaeA zkv$1)d|RLLQtWK;=iKJ3GN5`00{CR zvr=}Bp7J`i4%U!#E#1aA_G?vjt@retm>6n*zfcXvw5bv+LL}O09;O)1Di)e05!v7K z4AR9xs#Z=o zCLwFC={8qaq!|44R9@_GqF~*M0$YjoC3-}7I!8A6MS}nWr*9zg5qQ;ypN(HDL;RMb z?WL?JSJTz2Nody6WoL~B7$KmUir9#H;sGMrbov{&LcX)|D{HXki%##b>q@+v>u&S& z*`uOXWI*&W9%eYm54BVFwwRLKomL=OF)c#2BCI<`aYI)II(-&Oa_F|TZ0G4=6!n+K zCnKCnybJQzadXeFvF^t?+U3_%&(>r{?gw#r`eJ>r=%9I<5Z6xd4@OD6a?|7Khkd8 z-l5fiAd6R6%65?mUQqCV8C{0>T{8-l8h*a4syPoGMJ+JWzPOjvO3xF($HXy!>S~Gphv7-F|I6^#ZLZ|`6YsKIH-0D}sPw1zh*YUh4j48732;#SUa^{9 zlEi5x^6hdXQR^_zqqi5o|Fl|*AicNngI(dJ0Su3q$*nH2(LFPM`!EY8SKD`$gibNh|Z-~hJgSGI0XX)Nv1?+i_$=ElFy(L?^O1|ZM}L^d}W(Q zyc)ko<;8@v9nuoZB4(9spn@|+n=yGN457m+3VIn~zVXTELR>|>cBp=Ibz1WINE6T_ zH1Gt5P4@+LgEe|YY~N&&L%(e9Mt3R~#6pqjuW*M6Hk);_a&jLDPQL5=5csX24EwW>%$FT6Ndl6EE}Ws4 z>u}=ZX7HXim^7CM+?+Ap?a3Z*I%wZ_5^*k)!qSKEe=xUW1*xMXhTZ(uhfr6e3rGfv zY#)Byz`k)!LT66W&BTD1Qv~kem>OiF1ykqyDHKNxr!yIi)0h13e!|s)Ql*mB+w#1g zfK*a-M4_}dl(67{g9R-n-Tg4B0joWvBC2@t$IlZ$m&GQ7E`3-n#oJWK2)BFnhm;Q_ z1)eC|1XRG|Sbqoq>>3@iI5(bMY_E?fBXB8uIva7RUG_A#az+4FV4B8u#Og(qJdVqj z=k|{rR1kU8NUKeAk+M;3-*51Q1t5TGG6*n?3Ecr0wl20X!B+BWlhV2jYeIB{TZOfk-cE`tE zBM-Y3Vs?bOWpq~~B{R=6ORuHOb`(YQPk0fOw#MwJPpr9cUNPp|Yi?!!7S5Ma?hL~v zL1@W+3K$j$erx=-8#VGMT2V!A`gFa)8?zr!8H|p&Ms2)9`~x53%g>WwV?~~c9a8ZI z>r!9?)Q;g3vaBbT-KrLF00}c5N&=^hK$5AX2qSO(C&=9WrxEA!;|Hg_f!b7lgj$s+Cq^X80s?LF{lh!0RNH@)u{@s@W7s*@ z*P8bW+Un+p{umY3nwg|EEc*;0sS1?LDGldUCd>~8(b&)z-F)RGyLk$z_5H<`)paDX zx{by^{|FObBC?Ynb)heh;_pJ!QtsRvaPX5i#6Gy0sSUoC9sV!|=jQTJ_HonCUKfk7vi@ zqaa%)0=8tA8tQG*7)vZPcj0S*+XThF@$^<6?GSG$i$+eNbSuFSPptf?_B0i*tpP!R z@16aYp{eA@2EezC;S!tftT8#eToUYvoA>w|?AKiuF9A+Z+>K@UVK&fYsP}}Jm2d9X zMd_RU4lO<(I0XO+7)o?V?sNOr_6gNkPZ06gXRZ;9;lgN#<4)KbHu3m_7mi)gw$E|b z0x{pIm+DM!fLiyxlf-_6?~ zf$)Cu!kP_mGK+}}k&zyJ8pP}QHuKcWouZDfY>u?|055jA3Wlc7X8IkJb5D=zPxR)*AO8HYTA53&cr6^yZ_mKu2d}n zztBojChPlJHFSJ=)|>G9cl1xdFDjYu7#dBVP1?BzNDd8qZ+3uA^qzmy5YgHtrTPO#s>$ZgxADkY<*lUXa66zA zfSzBOr}1uz6=p{QZMUerzqP=@2?>1;_HH^O-dOcRvCbXqU;Z;|jQTvUUiBF`YZat` zumXJ^o-OTpwy;6nVlu}OEDg`;O-Qo3j z-_O)bo8x>JoK_MMK(OG4UxDKvW18B7Hdi8KQhvtU4!cA?tYwe)20N`l*#?GWoGefK zEpzSq8(E)kzoOp$Eql>7!fz9#bo&Fq2YXLGWV@Il6)X6Yj5ZM!-IqnS7F^y)#1g{)(I$sqn<1evA1}!>R^B4A!6b;?4F?1NVBZp4L%ehVK6nbd z;^fS=pG2opO-Fv;bNlY|U#sH<;9pY@px7Q8XYU$~{w(thcwui#)s)yC!uRyvqvd#@ z`e+9S<$FnKWb`;jMWIddpU&<5cDB4ab7wZiW}`$Tkb7#~K0Xf3@)dOns^Q)H+7iV! zlNCiyCq5LPw2{zEX6K6JRkNe`AipZwHQY71t#^5j+u+;16O-zL{Y{W3lEKW2!?T=j z0sTpU!?12;w)zgQWI-UK%KQN;zWm(+^lfJ)D%I}}ewK+pp`jMhn=S(5Tgm*< zAq`JTovu{cu|k%mE=7#Pp2kDmm?@HUwh*a z$%gb4rwA4G6qW?_UrXUBAeLRwyl!J9rZx+1Q@HUP|9MrOU6hT->dyWhhpyh2-V#dP z1V#gnh{KSRjn{oUuZ|G?izh3MK-fQLlva+cm*>57w z1Mj6W8EP#BBZp^Z)_#jMHjzwx?mqy@|DQW6aETaJfuj43xyA|r5aBDXMpJ}puSXae zPs}+Ak9b>c<=gJ?=?%O{uA;$Hnu zbPOLM#H{(~kB6vl$=skGO8i?oj3Z;dk*EKT%>#?3ylAM|KUQ)-+30cisrPjourN`PT zKpfM4)+ci}E)ETN`oUSY@GUx1tmD$p-hWO*QaHh=g@5d12l+N*Y#NW;gG3s5?oMaY z?uW7X&SkVI;rwUOQRxa}8Sr%3PPV@o98{Fpn2PE!AVIfBPF$l2`UkMW9*$);Cp2d} zd%YVVJXMv5b^Z(raXeFrZ0gco5Z*ln|4!mld1Ezp=jT5sfh|@PRe1~thUbRCRi8ntH?kN2^r?u2}yq}z=Jlc(fzploo#oCel z=ugl>H2#AjT61eoJj;Kz^`uo=XV_N6QUN^p%`@PCX`r zNWwH0MaIYXLAC%<9tGhG$hv2nD#HbyF16veFMBZxnClctdy_C#wxF=*!oRPWzd}4x zSU<@*xZ?L}Q37=J*xBde-cLzvXHitdYq5xUPc0NvnIwL#@o7*P_)A3R3(UMq0yYq~ zDPhO6A`hk@4?btP-2Odio?sOL7n_{Wz5N!;BqE8lL><1vsFG2yCG!!B?^}72&G0;L z%p`GP{>OW;>k|yQsz+M&#-{pg;$1ae7pcEDSAk0&oXT9a)uvR%&xVF+dR@QFtnqiA zW?c<~Y+Br*9@y2S+&1a8Rq{iTvH*2xp0wA(!<2H?Y&fL-g|t12r% zPj6cy?@{cS`kzL zWG#29^WH%H^E(uHEg_v|f4$(6DG=?92DOa#90LLCD<2p3puJq*Gr!CNY(-@bz!{U$ z!Mb2sJ8kymTZCEk4*1;P*%T@M_V=zKg;%89%dy<;>&?M)ETc%d=Pf}Oi=GV$2? zB$6Aau5fi?IMb_E?6#q2%c%;|%q-GV4)$J0wrwnVQwc80%OdCpxC)1_ZVAF_d;O(! zFurA52No%@pxyzYH4M@kH%{dC0lc4vO^Zk32R?UY&(W>u)2H}~6WcDy8zNm;Ki1B3 zHZJ<`hm8-Kb-|5!@8c6b-OALx3VM91e?rBrCU)$_J%oN8g(R)V71Kj)w)4`ds$2k3fKzMPj&Qq9s+H zv{gzBiW^)V0u%}6#b7!=)1*3Exz0o4v`T)l_uEGARum1t&d0hs+%8Fc?oMF|InD?7 z`i0C&3RwHikAXE5kN%Av@2E@RI0(zReqd*KI`*~zl*1(;j!P{dK5T$Pp;b@iC~7i)9bVl)kCD3`*`;&7Lb8EwD4Zd;LtF=ceVu-R zlmsRT*vq^@HcgYDK#*K$`jv@`1~TS$l-59q)RnO24?cmS*=?4S^9zv(k#I*;)+_u? zNDnclUIc20_N);Uj3j@(J35x@S2n;G*tr!x%s5yYqlXrA9NdBiddJGi%bjVNiTML( zRAX$$uVH%;e>W3GDC@xL`ZT0WuPm1Tj^BO^d`o17*x z)(xKdbQyywztSE2`z{pC!qFUA1`7K{3a+=~w9NY6vs4t_aIpc@H$$O)cao?&^z~2eJHMOr zY^i70x5ZWpXl@GMYh}N()mrLr@a)a2?@!@ZKP6L`D_=9Tm%S=GzsAN>v7 zomTF8(yg{(xL!ivxx#K+o3qQGRVFoUi!s%`F%=SL2emx11L)>jSMcKph$l`Xhv~GB z4X%ivebo2^-bFR8ktbB?D>DBep2I^(1e7^4tO0Y<`7i}Ah$Zz2E~2Bd{$@vjOstcE zz-%%BP^s$N);w3l?WPh<FrL88R|cyVN!!O`^Bv8 zO!jg|R@2mcMCZ2+(*xLC&iJcx(PH9yeXFM$d266DAWSh7NFZ?V@l+~)P0O9a&RMZR zU0P7u#fi+E^ezo+Vav8flA;jCNwG%c<*W=UAlM-de2C*BP+HRB}rfTbhdD7yVJ`fDw~@349{D(aU~(|B*j_xjvnse$lGtZxa{4npfBxk%}ZLpGLatf`;h{R%XceA)XHP%Sb}CV_-^ zPbYw^+_XHXNztGXRQT?dfDCIwa(o<<90esA<(jh~htvPCFqYlS)D1fH+nI^nD8Y_8 zp0ENv-3guIYaJ8L=!0M2DP{t4ROeiU0|&i92dMg`RX2iO^5>E!pRuFwNA0AG)>zOG zi8XMGl^<|G#y?F;*eaCU|H{PkT`Zk2f~?y|=kKk1on_==4msgd6M7j~#uuRiCsYH| zuG;?i!d0;?hy?qTj6j3T9ZmV#kGz{9pobRp=#{IXg9Z1grLOieQ;ji=N1Vc*!DOG8 zFzWp`>Y!r6ywo=Xr7UmNDniDC2{wM|^WXSC8x}gyO-N}vKXxAr%nHV_Vd?Ql zjU8I$r!s+M`A|%!u*2N&J{Nr}3Jje#``RpkU(jo6?qt=EDx+(&+D11v75u=Dj&M&z zPL^vbGpQj|M#sy^5VeBzTF{(-Vf5rj?)LXIJdFmAO=y>nwVj=nKqGrH+hHZt0&&iZ zazR*CjXpQSk3ko)d!o(D7ue^hR^3%Y1!pC<41pE z`}t#&;=~#nVSCp2-8Tw2vr!k*)FdY>g7dR@^Sp({TAG)W5^)FM)g+ zR=vdyN?Y#}agvE*(gF&#G)EfVj)*BZbkGN@4VITx9(!8<0I;jqVqVrU(#V4yE_+P~ z{J#@@oIe8OHfHkizg(Q_CW><2v~x)!%jC(#T%l+b8G+YMbgnf4ET*HkYqDa#8xb@? zoN5JxOSBnrUWIIKR{fR@7 z+Lw>wL#v>>`l65f^(d~v!MFW_cl_uTYaLaiKCHSVykT?Sn71HD4ew6!C%bS#mz1+q zd7#yo*`H)DIm>-}eF8FDk$be>Kgaky>5cayQLL1d(Zvi?_bMmOM|AVqs@+LxVvi7a z3hFrg>c7A>Xk-gb-@=pMOKnB}$gN@9oyG<+^>7ut~OW&g%&2em$lZvoeS+PA34ut@Qc!o+eeyACsjg+utMVr za)gQYhxLsv`+z5p-wB;$lF}avHqMt-)n}>-PlF5pNkYEXCrG zOlw`N>EWW8u_c4=)iQ zUf&ohRVJEn{`i4eZAWjSjc=|AS#NpIgK3y3m9FB{F$I9f;Bgo~I2c$C>K&-ZY%}Eh zRH%3onSv-{v857;Ia43FsPy2Tt1vhxG$%TUjkpjf<0d(xw^fY~8gu9`sKiL2bl+0( zHB#$XH>C;+q2PO|Bs;tgf0fIhFBHGyEvjDU+F6dLfUnlo zJV+c=#Q#1fc_bG(@wKqbKg>l%i*4?4?tC`$!sjIT5^d2D4eMj7m5bQ|+Vml(?14?s zfT|~xK{nDP6B|Zw(st=#)uAnQ+|UCC+d<{cNY*)B)4NO>JAt^f7nfV3U&7b&j!Hrg zi&`=<6*-7+!#v8V#>Rw4gzW{bItnK;k|Tr(?;|s5`Vzzh^__-PyQ(@a(a=Y0xWuV8 z3U2$TH>XdaNsiL1&ZY8&lLH`CBW_$6!}pp({aq`Z+l3M#z)(u;+llvudkk1_F!Gt$ zHgE0yelcS(Ornds4V49Dl_psS#HI}lxvM8cW_t*wVTFYIQfx^#K&30$AY6)_+Z1u> z@PBY(F(Lr^)X+%*qxl|g)eqPykq5N&{O6?Q>FVyjiVVLyR^$d~5q(Ca1{`fDu=Rcq zK#!EBqjqfh%$eQV6NcO>_?9q)x5`mYrXuCKj%92-PKFeGTe&|54~%x1N76o!hu=1^ zNy+Vn6esD(t*Bj~`FQ2uT6PHYJNLS8lT$HPXblt)?Jln-_QSDL8{`M|wx4aF-Q320 zg@B>{W4&+>x~9mFy1l|W@9(-4@49r&mVB@lR@sf8EYR)x_=hVTJ9FL2{0wZJ|ME<=YzR)vD^zg7b2?J((b0n{ z!-r^eje6D~Mbv>~U%q947tRlV`Jyw*41b7xpy(3$gXrske?z?yT12(}q+ofEY~q)_ z*H~qy#9NiRPqO#?5Rh`z4Wr~5u6YbMO(;5vG~_0w zI;@#-@}lgPNDhK5^n$?cw#f;m?ZI?BmM04uR+7fi_oxEXsYI1G0Ky6BXeYcT%@=Te1E??a zYp)KJBw>n)n*KU5KmZo%6rq(}@vw;x#<$fC(kT(XgQCJ8;d1~h*9*R$U)VxcYK#x} zce8#>>G@7xBNZA#!q|}Mu1&vy=N)bDz2%-sGZoH4RC7Fa@t<)##N}Fjx5`{(p~Nh{ z*G$DS`^BKXwjik=hRqxAI1 z`x?4t*MS`W+;kT(nI#mSGe%AJii>5Cnbcn$lgsVTf6|L)j?4uQ@iV9cm(H<{tiZ-l9y3jdS6-E+XVi$PJSSF>l%n} zd*8Wxq3?JTXpeM`b#${bG(2AHSxTmIl>&;BP0LaGWV+WplGsrK{u69xJ{P4^yhK5K z(h<0Lu{@u>C{eEP)M1HrD1CePpe54w~+3Ur6JspADN#Wudt zESGa}Mj|o1K&kykpmYT!9>HdpB}QQ{!4+AKF`zy{0?+}GW9|e@4GI~pTrl#Ce3+A2 zsT4uCGq}Nq7W0I5DgwegHFXI{ejgSQ-_Wuvu!|2MY!b(XDO){9>`Xi?dv@?T^1GTc z&l11P6p%arf!+U_!wE+a-|G`5Nt^>CO|AJa?kzcH46p z!gct{*rokCpJczc5MsDV8I>81{UsNeoARW)^}zXt?&nN=l%Wmys@v?Qhu~5ez~` zTFtwXY(whJf)zY_9^+p~R|VZLxBc=tMA^$ETs~wi1>Kd~71DA|u`?UD@K~bXq6vCk zYDa7IuFMZ#ROPs8xNxK$RCPGMC$jTrzJnD|sAt6@wOo?PXZQ5*V?M_x$yhu846mO% zr;r>_msu-BfHbE~3H9csJSR=Rp&0(fA@0uVbf-nc;r)ugs!>^lA+{zWOH_30Krp_h z;n4x62_GI$sdWx_Cpa`E##Z{mT4E$NtCHTfLq* z+?>0zSZ$iCvp$AzGIX<{#eBP3h?wERSM?n^t+hU@GlR0ND~>7T*Q}rTs~;Qea9Dqa zUI+bF$W=fuobNEm_4)Jso#IUhI$Lq3XmqRSe!j-&e*WhVgfSluE*dJw zGp`%H%9zXvD=2vEx@_fiDZ<0f64|6RG-i4j)0|J{4CLpJxzW0xZB2-U)Bi4;=x zp}`dU9iK@KZt<_|lI|lJMZgi<6R#j9LUeO^TyjBkSE$e85Kp0JyC^u!LgBDahj*pH zr@RD?f-ZDFDJHD`$#2xL=cL<&f&+6`U74mvoo8S3GI(S-y3{MLNKz`@PYvUEn(F~hxLQl#xk;9Ce`{q zOFenj!*`h^8;lE-leuE#1TWr!QdQj(PD<;@`-|gxkQSa|G6pwre>9K&ae5U&-)P~= z#ga|q6}(1v4;3CD8FJgNB;oV=X9gPha8X8dXFJC1ZJ20q<>ySQqft-6sy9&eN2oW( zuvFtdoUP`TqNbvsa*Ysz?3U$&{ZD~=7q2+fiy@epj%Y%MOiIeKgO}qf91IukU8N8= z;SDlFx0u)X&VSRyVHXB)M)z}Ow^Nn1#>y8eO&RSeMQvv~Re7t0SdKsqK~}_oE_xAF zYmA=9+=jny6&^IJ$ZVTOiN9&vOY`)o+e3YmoUg+-X_j8B+^*WwYmMAyiJhb4F?R;hLQSVU@bN`?k5MRYDSBXOLc=NzpXSl>?U>Fn{ z4cr@r?u`HX6)msTVMd27uWtqN-2lV%%^pYrc3R+~OC0FZgSS~`4>#Q%r|~Z1-#-<7 zA9HHV=fY^-;F1qGqV5XtY+v(C-*QNb*)rBhl5imv1w@GMUtWEhjhss-8mw~%ED72-GuPC1$h*WR*K!GLnwMy6BE@xmHeXlRmDWXV8pk7_>6^N4jUc?3 zqMiJGR!o_7nu}sB;Hib)@YAGruiFDQ4r-fo#ikrdMLyODU{c^)xdyzfqfPK`?EZo2 z2hR39c<~-HONw};FZ~P&w_1&6jT>Dhl`fkIkyKb-A2;s>&2KOWuBo#XN0x; zp1W;q8EG%NOwyA_{PlVkx5*Ngoja_`aU%lH))K6f)$v5Oqf?#( zTCeCLcA+CWqEFcUzC@4j=Yfit$MaY zN7_DFf!vNpKwJ@c?y8HM?)_P{ZCOz^P?1F11BpIYYWv{1h86IG{(TbfL3c@jxcR~1 zB#RH54^UT*obS8c4rcz&nrul^IHUai)@czoUrfa?`tL@SF}Q_-^oF($$V`I!)%jRo zQ3Dya&z#nhXJPDA&K5qV?kcrap*@%-PNvIJW2Y0p9F7FM~5jCO#NQq zp^;a&MWqU-@#CgiT+VB=3~(XK6rD0~F_hd_@gU=G;Gj=J5ZNATcbd~*<#dASXSBon z5hh$bdbLe zFnOPWD`^pxT()qSQYqjcK=SQB00}j;I4|$b9Ky`Rq{N1V#o{|#-VM>BG#Y5Vm-?1r zSBy%LsBx(~&leGf2TaM34JS1kE# zG7P1(Ob`{do2*Jag|rOnmjQ9ewNj%idG|{oufeV7k+-^{T&VPBH@}{FO(uhM0ke`S z%^}(bbZ5-F2lBTf4&Ku}n(Q6pjob^4!&Y$iHX>V7Q{jA_C zWpAM?_T^||DNk0UQx$x+9dfo3?7xQ(+k|=N6?EA)l>M9AtLpdp56g2kw<14>_}U0e z;Yi}PvS~IVHp;iLK;`n!_M>`ra9=IrFQM+82#*v#XWJJa(@eZ7l3|)Y#P8cYgx|ZgaZvqy z4N6yKtP}$dV^umK3Y)9e~6(3jZqzb+8Z#8FX2<2tVs? zR%tyVgbelkiAV{G{8G6;9v^ZAxS1oJTW%R0D-p!8!Segfi{i@M{Y@!BX6_nIhGKBi zyr0UF^w=SPPiDVtJETsDW z7iI4lU1_(h4R_LUI<{@wwrzIobZm8O+ji1n$F_|X+v?cwdiFkNpZ#L&@A-b@#~LF) zX5Ce@>MG2-;2ZRM7po5mzKgdD%v;TncxooqF?a zk4O{dcI2OQ^o*C+*I!L#aEieWBq!#jZAMHi9lxfP`kzaOvfDg;r-LcDdHmqqv{IHJ z-bP$Q!`+0W!l+POv5kF3R?X`8t$H}mpuHvo}Zabg2!QeGfO!8@1#?_B^S zqsyLG&Sem8pZ7KjN~Z%J;TD{dA2=MA0PPO`V+Z0ls)!$?hW$PnDnQ07bCw^aotLN0 z!JR(Zm^%FNbHnvYS~s_bUYe|Y60^e<(zC<7(HnE3sQ=!?UHfZ^SqW8>lYBEvcUIT7uzuG|NR-n4MiNTfRHvyD`NVPDzBN`Dd&gV_aTT*c4eQkO z2bKUnZwM~BFd-@Eerljp}V+)fYJX9^RA&<_IQ^WlkIVAm;&r)i~qNgha z43stye#lxm@lz+$rN>Y^a%3%|Ea#dmMY9lI%&u3r!ihI+!Ir({l$)ZM{bX6}mZdg>O!FaGZ>L zb%L;afuGi1XCq1J$u!MvD?=3_rVwG&i-LH^k#fL&KJVkrma!-mM|_Woi--$C;d-up zp0lE4zi&EyYO#&S-n0HSl`&3?P>J1Fb`-VAxKWN9r>W+CtvpfCuKe+!H(tmj0Sb0j zoT3sFPl+^(|LJs%nSF}ML_#s)%v?n@&8sMkF$&d~s5nbMl$?!Q%Bhk^(|H0o z4q->E9Yie(OG;O)s>cWXYy0pQxGk!NY^S8=I@#a1rivH1`@P?~pyX;?|D_o9hx>`K z8qJyU;nC?MDXu6nsXBt_daNs@>w6EAH>dgUGXv`ywM-8@Zh2y|@Dw|IVRt!2kk(Q?0d*e{=> zhO!geD>Rj=>Siaa>Q>+nr&J9uXstRQk3%$ePggiT*>@@!Fh8pkI$Cq9)8+)`?A4a>l-YN2};ufA05nDUnGiZUXW|mpWW$uH-su}uDWvIyEnp}LX3f>1am&2-VP*6 zT>RBsoU_MCiQG2os=aN_=P!2 ze1~_U3fIZm9yMv**>GNR5}uU)iX4`FCGejNSm^x7K|o4CCF#@|gXgU{)K)V7$q+XvBJ zDLf7fLk~>nJSfFzH=Txeqd-9J6WCB+ybw`|K3q>*eW6u`8w$jnhqi7YJ?UOfhiM;y z3ogQp8a#TDaSIGhl$h{ls*7a{s7AOVl4ZIeyu9_gMTj%dYzB90v9#{_osVBptx`=< zRR3#uy(KLEI*N>x(Q}QQt@xPX~u-WNu3Lj zDU`_VddmUFBIy#s$wi}#%GYnyl8_!XXHc-qM;g`fTz+hw!P9q@LhzAG5TU`^5-+aV zgN;*`aq8XC9{|pB$JZpg{gs5oyiw-!8jwKeT*wbYJM_bwwgZ}%&KMXTa>$GK550Vl zSj_;1Vkd!C3SWRQzxn&ZUnQnRHH(VVJXN{e97#>duS;8R2e?X7 zkzwvL8lP)Pxn2q}7;3O0Tk^^h@wV}E$;vY`3oGK4N?_I|Fxr*YqaaK1PX0Ic=4box zcq}PXXQvebFW8ftk-t3$jNZt#S^_jtw|Onk0z|R*XY2I9$d_1ZAJ_RrCn9FUwaz=* zuu{N|B(n_878LI&3HZ66=9LVXk`nHBYDuB(P&DFzYPdHHl;u~;BxQal= zxRM271giCgdBRFH5_^w!{CkKyo$+{o<1xb60(|Dk(U_TuHQ5XEnfE#*Kfi@w^qB+w zjP~_s3zqK}87T4U-SAE7HQuN}Dhra;f~)yny*$nghNPyo%}V)~7a+*CoO;>oYwt}+ z&(50J=8uA}$BH$>v~M&Y*0>44bxB6J>!oO;!A&$|MmHP=MpOGjXKGtkca~TMp^*y4 zITwidn$}!1^>cTiH^eD``+>W6S@Cr>LXMb+Nvs*=Ya?HjG*?~elh>B=KEtsk=F!b! zA!Sop5Nhh_+{*Z7QcaktxXw9P*2a4VD%^}_|82Yi4wIq|KjB(`*-w(&^fI9;M)&ao zT|+P@sh6enb<5qi-1m%g<3qNkWz!0Pwcf-I)8a7+8G{qeQ}3iSG5z=!+#u|NKOB`z zqF9-M`q8W|f!6cduiA0w#|pfh&Ro?~y7U zS{y{)%2n`0muV@u7-8sh2FI4W2i?51_PJHGQ@-Ht@{rRF_SL4*I!<&vgS|AG$)iou2p~#IJTb1}u0${}Ag(j}@;NyLCL|F(oiU~bSqTq*Z?|w!aH$T{BsBF)x>r>gm z<1JJF+RyKfdQY9wmu|}w#~Wi5K$BStxq9kBvGpe6WaORq`PS@SWQIwP$M63bavp+< z){QK#+*ZSVNRch7n7;I^lm4Zk2r8@?QOeE@M3|Dy6br{OyfpMt-kEK|!PNMOqg+x6 zm!xiVEzDxRPqElvnZC2ENLN`wQ-x;K95kI`DZ!1pj-wH!qFA3GG)9R;Ixt*0>vr$^(Lvi9=UF?Vkfz&=tMlnU^ zcJU4z5|(53()nYfS@Q2d+fBw2Q8>*+($Kiy2Gdpu@LhaH_&qM;Zby&YFov?1-nvA6 zD2g!OiCUkk9zChZv`u2s-AyIsP$iE>X0h?bkIJ>bbko>KzS+x|w1>D~ezFO#0v`)l ztf=EAFp$$1$ibIzgb#%A?b{O;OdJ#W+_79NWsgo(`jhUk`w^*~qD6!5AItLNj_^_)`F(LJJ@1V%cuUzDE|H!01 z(p!_niN3t|eG@%X$9hjfMaF#g%oqdQLpxuD$rW&X z>uV=>hC@;fMzE#4KXe@>uA(4mC1a1e+MFR6_tkb?d`gYo^i z;bbp4AG$d_Ec3yo$~;x~sAo#Zu@{ZMmCol<*Gvj2s!QOn*D&Yu#5x=* zBTJH!;zOa+`IausitAjQPxq><=S3@Ftf=jh)E`ywww6m!aP}%hL$)$6_TN`8z^shFET;VE{CAY2D2oFyuaDQ94 z*>v5OV#WwtBE%a$tyt2AYjVL_N7s{ol6J+-I~rwMv>J_H7<+4|dcoGQhcbEjSS;yo zcK2hCPrloZ_=i|k_6@ai*Rz)LUclyO-Fbc?<2~YWz5Ykc-hN(t1;_k)3hO+5L%mzkE7sOSiK*L)B1t6=h-orW$ zPZ@FpvWaB(Tlc|#ZF>4pRN>a?BIkZ9=d(&p-Kw1w@Pjg_+Ki(0R7u^k;$H{3ASk!} zv44BC`Y}liD0c*;|L`B!a_DJ0y?pId29g>u{qvet+GIk8>p4akqT9M|R?a#U; z4eaP|XEY0YldmQXe1R(D2fjFd8~QyveqnlgBcsh@EUO>`5%T$b;jTkcn1WJ>2!o#CVx$7 zv-$})3jqO{S66ImcLL`@ryWsO;fl&p3|p*9Q;0Xt<6EPlVyzG=K2eU~SF4j~__-AS zY0ND-8*Ns9EY8nPC-#?@PdL^k&UH~5G0%C~t%;t8blbH$5dT0j)h(@a`cz|e6db!L z`Z@2IO}SexhKp|M9nmG%`is1ZTFg``$_65t!*JQtYzX|DrS_=vSajnk->hqtGzC+3 ziHK7p+Ge~Xku4MkR>TNcxG1?|5~h@;Wl5Q(<@zvFs}CNfE}=Dra`>gmBF(Wqm6xOU zu?sYWG#pxaQONH2>DNf+LrT52;jQgSZWfLnNrt5;ZYH@j5|TJA81Zvb zM1m zs2#g9820%20wf`DuwVeF+UL(EX}*Z$<`+b0yaLoQGO$)K6uTfn zVRllS1h~(uiOVdW2A&3q`hcqreG~H>kFKqw*N&sr)$h5}z66UxFDf$Ey|9IB1vEF# zUzVlt5vV_3HmC-?N+N#$_&5$posmW*Ke476&ZsNht-e#MsJzqi%Z^GNjyvbAeUa+@ z!U-jeW68S`u7H@i>Vr^GC?GxV(D;XT7^Do$7HsW+N7h=xjjO_k)#VCxFW#)Q9~YyBj%kafOw_=Xpt1{aZTvwYk?IufnRIIBjog zqK2VdN*^(Kdd^;O)Xxk$c@jnp`PGlChbP!!r{cH+v!lyfi!-e@C7Ozo5V()6I4Lae zIW{bBUJw`t*PO?)whR9994*yq>~re%18bRS()rXo;_}Y=XRA-f@PQ*w(cOq(*Xc8? zB`0p{9nB(Xf-zP0%oKa?g{42y0M|PS?`%}!<{B0M>0}VTer%td;*vRxSG(Tuxv$?9 zM(m!7pXUMrWBL+*Zv8)4)GEqf&WX6VpmUDAz@`KENu*<>7L0a0#ykv(tXyzwF_A)5 zck?Ln{bJ(aSc$*4s;=L>tZVS0SXiINs!oRm@QzmkZX$$|xn?^QG9{nZ6;SyhX&UDq zqhkL>P8(1m24v)EJ1fpjTgYbTRaJ0(K?dm3(+zj+fm>u@MwVXL*&oYLXFZCsKd5Z5 zkGd$9syC|Ab_0+A=e|csvae5^a&eD+RcOhxq{rmwEio3A2cy?? z9?Kuynl>5Ob^V#pb#2eSgU-vuti_I6-`^p=`WJQmXxiCiQ2Wn3ZkP2law7V)RZ~o{RwFl@@xb;x5U-a=z3Z-a2cDEs2obVVPxH4n0>A<7Wks(Js1+-AK9YDW2Z zbMfo&udGX3i+KnJ+T#Ob+zc=c=)tM4SF@x&KKgW}C9%Ce-FUG#Zl;PMkhSxdpu->& z9>@B!zHYJ2!lz(WFWa93v~&QJvDtVy*qf*7y-qQb@^p8v-ZRY95-6|z@OCB{3#_u) z-C7S*g$yas#kns=;E?PSen`LNJ(X%|&WnuuqC&6N3B>ct54+CuqDY~Q#1oiq9}I5> z=p({=a~SgFtUSqmeU32K1+2;_GGhQj_$hpRxNhAoN@{5ltGUx+eGw9jzP5sI=k;JKgROnR`7LX%D64X=1DDMRZP^@KsqWBHTq9kX`O4MBmb1 zYAT|9efW*J>r3TPYS%jOz)6c7KLs3D2UuTR>UXDYlOmW@F8iOhq9nvI4m_=JBOo7Y z5_#)VxFHlwIj?tVt1YaDD&F1y#K3P(Du(ZkKy*AkRcF}9DG%OFK)YK2witzxlgr)D zSh%6RN#j$OU69wbqC){DR>2m)J|PJij!LjQT>UE)zisp~;V#OH%@H3Z6S9EXfMUH|06Hj z3=6SofcE{aM#i*YfVAutY819Q%9VgmT#jsqaq~OZg^(T+uCzREZ$~*#`~?|i0bxQS z<6Aoa@!F{2o4XOJ{yFc}>Sf|-y4Ye-FTI0--1H`D#l+h7YKz4dJ@5O7PWHZ$@_dxB!eQ^6|RT4_L%Z$`}&IDgoY^42PG;BRhLjUmVHg3$S z0<$MF7Ao56F$6JadA{Cqyc~0GhiS{*6TO>-7_)6scmu;8eon>`7KyjHt55T1pJM%u zkW6QFAgpwyo5uoiv0IUYeW{$;et`%dIVW^>N@@(+>! zd`SF#Mi=!8>yxi>=1Qyeq61}s(4xv@%F74?PSAxgO|4bGF^TX79=oxqhYm7I(bs6q z9TSA|B2*aLyP#>n)UpR-MczVK3u5ip--`^&LIL#ZRb9D5|M2RT|McosOZI*pKTm#X zWhN;2ti=;H#v8#7TLV3IQO-;~&$C#ID&-q!Gis`I;Y^trAEvjr3`9Vu^2_J^Fy0*& zCb))!%YwZU$DM5%Nueo>JORabRXT0-FwutDo13!SB0XYBJ-ro%(aC;Gm^yaL?}aF5 zo^y+5*5JOh3I&apu~@Ke{bCn-w1ve;xW#1~#Lzj5!l3qf)Y=d~ve!3gB{suhTO{|I zT;VXrjP_+o?GI=8gv8OjtPQ%+AYkB zNMfJ&aj8&J^7#g_rIx;YcD;JZ)w`T7U=*+g@rsq0;HJJveS==8Gpe^;XhGUF7TMsSh`}Era&J0jqJW>Qv9_?a(b>;C zl}BuU*a`$P5YuFMq(eC2pq;TqKiCV8=j~l@$F?zI_0yQ z`qJi`XTM0@gpBK+X1Bt?I=ryHvr_Yi!QQ<| zE3E9^+KG5>R-a~$YyAX$iO)#%9X)hRBCOEYn_E?V_XT&=8&eYQUXCo$F;0rp>R`l~ zzg(gI@b6W$C>+HXey+JQn(g_?*tmOEG-PzkT`t$(sgP?f;Yd%I!EZetGz~D5Lz)^6 z^KVl@%5815S(+_0KY4}PRg}f8iR6V35Ex&}t3e)C&~(JSmH6HKeM0Sj@K|NEU@|g5 zGBM(1RD=dYto~kOxyHWJz(5!$|AKE7Lo9nR3eo~A9D7Jc0{Z@==~M!jPbbKA@_0N6 z^XdeOM;NC!cU9e&3x{Eg4?MG6II_LO`0}gXWJScm&$0t4WPrs0TT_B!B`1bHH&%UF zvgjG!e#I2oMhwT6JEGL$dJ)6>9hSI2$&0C=GHjzDeaw;crq#}lUw3!_opt2J(UlJd z0`F}+B5lfqk03e#ipkRVT8xQou}f4=#@9cp{Fdo?h@AfwBO;N1IBq&I-(sUJ77Aw2 zb4KI4+&drXHhl%2R%^@Y3px&(>{}~*PxasuNqdG?_xlY@iH4c2H2=MA!;Cnw@moe# z)iju~ZmdiosbF{WX5&NA4ohIUIr2~4t!@+msahy+xKSMU=0c7FBM7;na9&cqAbNqX zG@q#lPrjKQ`-kteI@6xgg#V`dPWciNaSZbb1O`h0wKVY1Gs;MS;(-c_&GiN<(FGa|K+&-K|s&}$9cyT*h?4m3uj6fbE^s+}j*`lR@D zo88UKQaZ^^pT)$I2j7T){DwOH*e5^mTV0vY3B;B$INvt9b1!c5`U0LrB;5$dXC z5LVi>Cmartmg-;hp$$Y0zOQ>|vaAg^L-<{DzQ)B}hmDiJ|ofw_2UC?k~exo}A|1%^P zNo1s8~;zj}>#-1Olh!jFGzRz^0f=~})h#*N{C z<2$rzH8x&Om6}?zb=e;L9d|G{{KGKVKRKoS|H%$!! zCH9};mbNi|1hX6X<s9^?fu#v*LY-$N2IM4iD2perw)}ck zT7Z?IIaei$3*}loHLh0{v=*T24Sp_6@63=w+c+{Gp!VG9!))dyj{;aE3JW~Qh}>#k zCB~3sUT>PWD7e>7G)6HnOfIMd zYkNuFJAoN%C?3|i-cXf9*f*Q2vS#{mAoo_%ekt?HO!4RTcIO9bzm{%P!JN_CuNO7% zUwq3cGvZq{h^b2GxcR)Qnbl0jm5yb^tPdzc`IwOIa7m|E1ZbP4e^V7j$vJDC1etCI z!qta#4%Xr%wFY_O+8wwEC}B3B2O~T;Eby1yktoCTJ4Qm#^gMc!HXGl3t}J2?!?Q-o z>uU)lG!~(=0Ik@$HayW!XLh}OfjnVYT9ux;#C#uLaW?yxhw0}XJ=kW8jIm!zo6Iib zeP?NhhNr{Oh4e%gb%TRP_}yVbeMkBS*NIW}oOc{;aJdm|LUFvvZ$3$gO=z!OBI00s zzXLsc&%dq?*k9Da+%_-aQX7`FBJZN50{N5ayc9uxef3Iy?N<<@I3`Wc$L)zvt_Jj{ z3lZX(CVRzMKal|YSMOi;ay%3ye~IWYyzRZ4&#+GcFiyI_Sgi7+^<|CC+zzDayWDNj z5348t7}21uj9L`hYg{AA=SOec>}nJfx&Y1=tH|D=?wDEW7;i1CwjV_)c_B6lx_873 zgTs!iqX~m5K5FXW+>qSGKoLg&Vf~xLypKPe5MG*r?8sBnoc+Q$Ti#E!|6jDU|CHB1 zQ!p6`P)5OYpBSo6Ujo?F@M-V5_kD-9t%>UemSrgEXohpIF2ag}GW2&QG<~5;=}{wz zafED)8^Ng?sa{TGc%N2iDABWBhi)TF3a$0d#yQfU&A{9qg4yM(JP-9dnlw(nN21%t zrD-C-We)BQGqC%kd)Ft=mJkQCyADUJjQ_$qktpa}uwlqkoXC1kHb}z`*$MJNU;3$t z0xO4;e`7@F+1*47Mxv^u!uZFsH#%M`nStf(w}5`H^LmxsXla)%IzZAS$^a<+M6k@i zz|Fs_^MBLrKYlcVRRqn53#6Cj@-DcJK1p8nx1@YZnRI4v)(YfD6aM1zenFO&*4wRD zM1Z#_c1TZF@#k1FjWoTGv_Y0gw~uNT3}Qbp|84l^N*{HQhSZ=pSO1gZg*Af7(Ow%} zIzRes*G{&}FGEL`^H}w-UUKoc=T19n;!UhMxHWMqk#~7sC zo$KSN1#nu-fs4TrX>9#nX<{X_B|Mr)Nn<@TAu z?8sPq%Zf0zxTWxhYlqoSHyvLo!-cMtjAsh->wYY8V$+*~{wv&n`42V`rV5Hg*T|G9 zx}bos9bkPZV{g6ud$TrvMtsCbMNu{4HfH<>YU&OQ8fyhk;4t%=C$#0*cx~JaIivtC zjbM}2qGDzc`~B&Hs8Kd{SVfJfxrT*`d_jsOsg(motYyGx?Z?-XNu&FXM=xCE{K?`C zcgH(c+!A$`9KEp7&a=^rRD%yBzpmF#w z9q>esi=8ir#XgA@;G3vniJjSX0Q!+t;yq+3{|Dqhd=bO{`EY{C#E1^UI0h)8$XbQa zq9<9am1x}w)p(zt-B$UN2Xl^DG?YU6->JrQ4+>tfXBTJLis>O-t)qs*hgMC-bTzII z9tHL)t8|%eqYX8)MLAroml17^ti^j{W)7v5*v&r8V7eS@F@n+E_yQL%FQ+fi@=_M_9YS&iX=AGnF~T!uJ<$5YI+L=v~23l87oLLlREe`PvMB~wfGh8BF!L|=ytKZuI??WW+mx+7&_jh$)rP7)$Ks=Y&Vih{q zRSpd{2khG@Mty^;xaO1<`&w^Kosv4um`!Vu3KY+?G;fz3(z-Vaza;Qkx=jSJUv)SL zAcu$6rhzFuduA^#0<~c=?sPo}2$$whnW%>gY^ow(y>MheSx7g0b~p zTe6x}6NA}})$y(aAm*-PVvlS@r?auyy)drnKr7HKEh4ER;YEDQkA_Xf6{D1J z85mj=hr5l%S(60DSuq?UYh6MeO5pdcdX|*TCS@1MtY6_B)3O0=MYZYwSNQqA{nfuP zT|gK)qLMI9rHZjD1%364ngLa%?XiyxFcnLU3qBl*fxE7xm$FDR%<2^1D5-rH9^-GY z-14aU{HV&plPI$nvuN;pZg`q6p!E>eC1{wlGw*o%FqoyPX;Us*LrHOd;h{Te%pQ~Y ze8*c~<5H?|D7GN@;60^sXf2&(=nV7%;N;>+9EEsH>9r=rGU&fT0s~pX`1U*%x z`Av-Ypi*AbIOfYy*9-kk9ZJbI10s)sZIFh=-azlw()U{;A~Y>zJ3JR2?NfCMXWX@z z>7~n`B4{Rw@+X+yDmV*@$*pd9Pj;)!=S~BAL*M&zn`QP*TAOOroAz{6EOKqRG`4g)?X0wF!Z|iUf2k0{1=-VjZ3Q66}q{jqx-RBQZo8 z=0uL!8i-#ptQMq1ZGvileP4mB^zMx6gsJj`k>We6mLb_}6O#n}mX1Q@>j&RID`2|@ zAo06Vz4i#){uV*aSvF!ng+bCzBK^m7d5WO;2ehqjjPc4ZM>@y#@FmJ9_d5a}WGZT4 z1bV~oxW7?X2&)T=b?MtF&t34L47rzH3NrBYghltIhGIPXKC^DA8&&oL z>u-9)GH9URSIC&3e`cpzT7+552ad$Z^8;?GuVQPPqu!)}sY2$YfbTrG(xQ*Y%L6nu4vWX;Np)lVW&~_ zf*apOgR!Z4pNvc%-^rep*Pu;L_XJK+IW z>dTj*NhH=q*>p!f?7)|<#=jb^8Q-n=mQ|lF^iFRLaZrpQu2JI|LpCa9Gi{mXM|0uu z|E*gGLXOA{${)mjDqdtM;G$*mc+qI+RzDkKU#OqnWWKL~3|NS&iAf!HV{*iBUPZAt z-*MDxJq`_K7ux%_60q8GeWu9zZ3R&KDo8D=&Khu+ce>JYg(L138*v=?qnNI-y0U<$ zDon6a7pDtz)yGe&id)i$MQn2cZ5PT=Ob4_hD6Tns3cWr9J<}qM z6K)&FAAQX+$_`0H0A~Ywf%>UCOl)clbDOv>Fyr}8AmN`OF`zQQUo1a*LG9i-R~0=& zgD0o66v1cMaQJsTMd8DQcSSHeLo{sc%;9LTnt=t$5B6QF0RiRlpAost_+oSDTC<|a z=`+Ix>pV$(pVeixadQsBbM3B0U79Uuyi_V;5eV4u@ORIfK~E zAFKLf#M5cs#%4p(Cr_LUp*C_n5 zdc~r?5>2p8@q3+$q^m zDhJX^_V$wn3d^baH~(f_Z{da#{R=+FA0t%Xpcd36>un9`cTjLlz5#RZs64mU?6YHA zJS?*27sPx}obaORE=ln>t4RMxpZ@lNmHdxW%_fwN6WeGVMd_w4EsMgqo2Js@L%sQ9 z>ZgXA2cvr{>?R1+u9=~5IvEU-$N{#oC741#4#6pH6=^LybQmqWxS+KmI1v_Yw$pt# znL4xFuNRQf;@v4ZrlqKmfAmeEY_lLO%FAN*4lskV7bd8l&KgS{Bw|A{9QpqZ)%_=B z110=5Gqmfnpr8Z6EM!$zUfGtBV{GEQWS|PDq+5>pu@j}%?C4j8{i8DuaVCbkw^$XK zN<%bacth_Z9y@?Xf2USgVm&@~A=%}%>&0qN|LBsMoAs=d!ASZs+FGq^rUVs|qpI&P zaWIVDsZUDFI;dLz%oj6dHm82E<+}eU^4GH{mXS`Wv5h#+&D-czO8g8t12ALyFWfLh z^)8joh;#L^C339HpiRB2@o&lNe?kwHVP9ZvY4v5_8;e&-%f#H4ZP@sR#~{B`5Fb=% zv`dS!gZlA+QGa^s@gY$bN}VSDmsEJU50VjD?k>YLZ^>uwS7mUjK&hyCloq?$U48D? zF_?m59ID4K0F+2DUa9hS!=cu$LNja5SlsYF$nu6KUS~UktacqiN2p_o(FY1vE_592h@3YQR?iEY8IeGO4z-KE6s&hd0vf#>hm-gA_-ra3-9M@JQRf zdJ#Dob+1a-{{raHxilC8Z82kJC_TD3GFX=F=2*a$RM{xG1)-KCUoHmaCflw*n=ZyZ zh<(iCUElfa12Z?ifB`+0M93oXw-fy7W0vfVi4i2UttarVTx&ZJ{Vn`Z!5mPjZDH)P zJ2wWds-P1xSDV~Sk{{FddFp;%&v;w-fVKJlg@lojg%Za8`1>EQEhl2%yz#Sz>gWT-BrbW#v_q>Eex?u?#Msb&Xrdb@?)h$U0L) zO=ggqxJB2W;p1V)Brl`J4I~io0s<0lLhq5k6Xb!22OU&R*@7gFF-Ke#b2Ym|l{Wfu z;UXCD+aWSur2;65s=CM1t?~Yvz80qT_0HTdmDhI-$BW8hg5;=K*IV^1j%K{j(H?`2 zzJJ(WFBl3kMa7q*czmnw3UZrE2;}eu*eyA%Wti@nL(&vF-N24x^%m>5FRU|QS`mR; z-Vyfj(!1ExqfdvJcV__>SoQ_=`Bn)tB^rmE&h{o*lj7ItTEdymZ%5}4CaiaNi3WcI zy8Lz9YOq1o)GbK#KnhO=1j!l5{JQjuoBIy7G}e+mA-MuWQIyOo1C0~+EPJoW_|=LdNvh27 z#&Mv>axRSXDb#!5yzQ+|q#Gt&9Rx}T_mvAzwv>9| z!RkaJSQxf|iRLPka6NQz!C;~fb8cZ47Ytc>23|F~Lc*OAcy=g5jyTB$zMG9Aw@Kg) zc#7d_X#n=GLF9L87c;(R)X>~Mpc)#by6aI9F#k=jB?k0bLDl?7^l~_W37i}o6Bx)CGrqC9$MF^glQb@6(~p4j?VMp?cY*G}BddTrb#lwXg0{${X_0Coa0Bh2;5bQa{7+kk9nZGaJa)-Rwpv|={>OA2ZN zr6Ti-Fn=7`?u&oMfiFa{!hB_}Atj*!n&xn2j)oAKi{QLXo=|$H24f=nrGy&FHpx=IVRMD<_t~tCFrb9sujAFNt%gz5z`BKn2bhnEnuUtG_P3+rNJ6$4jZ8Mnz@?o<}4H$oGykGQ>crAiSl|gtn8Ss z+r0Syy$e9WW*pdw6Gi!fJ2*u!T`0bRemvKfZ&_xlY9Fh}Py^lOY+Yiq`b@6?wTY3H7)hiG+94u5_y8y;rWQ2cer%qiv!f6%50b0pop#Xokpju09 zLmSuxa{$4J3}~ZEP>iLBue>bYAEAjBl==|UrKFXx$>uIg)hwLb-3}2^=t*xvY*HSM zj7i0%A39$0PW;Aa`k;vht?Tp12Z_F!?tfExY!&qkH5e(;bG~sok`WuUAhm1y8g>aw zLc5LuT2~&i_tV(y|4w-WDrA5?FQP72;0(ZE>YpDcyIOUF*lgDMcaBV_g6rM zP9;YQcmvP#0tMo-xMR}U1%wia8<^p?plASHs!`x%t(2~FiZbqOnO-+jjs0p|$xz?# z=M3tlW~j$S-YjavPbI>#dRz~q3o@ARW~GgKO{7JicY)vF)oRa zw$~s_h;YktYCI=S=rVS+!sqnMRHkMGti}#hW6Ni{&IumbQ@&(8B|?qDZ9ArL{xjSek+(6SS*FvCp0iRih)bYIQ7ny(^c1QF2kV^j%j>?~xZ z1yF`0oNVsv+qH5)^V5;dKRTElL@-fS()|xJw1WKH%_M0fmIEA=EpbWr)cnAQb-d5Z z`uCA@R1!Tj-zLHB>p8Zxc7IYMTfkm0_=dxzbP2ULE)~iYoW%VgOSiSzj+H}l1ZiB; z4_f8n`6&0pHQ>A={0%yehI!t$4Lf?i+7Gs_D-Zu$ABK_m(lIj@AREXOfsnx7pH6T` zpvermp?atMbH3q!2YrIaz_eX_SUGL!n@z;j#fYSZimp3ID$G>AcGIcFnlY4GRmeKZ zYutKUY1-@%U6;ce4}I3q$$55IIa(~h1!rd_hOK~7Vx?BCJ*OS{y@{rA_4TCk$+`Ag z$LSG0RgqxU6hl#wH2Dihj3?%MO~VUYh0&3H?b9(w+UQsKJKiao_Cl*a^nS z45V6I7A`Ex$MLQ>oAGk1H^4(Hn#i-~n4U`5L9H#qK1B?qeA;->-B z#vAmow$6gof8u~JQc7nHz3!7IJZnnngpJ5??t%Zfus>4Lq9HCPHgV1HB|-nL$TRwX zF?LpAadq96PJj?JI0SchcSs6%cMD!f5uD(`-GaNj1$VdLZiNMR_rkjV{?F;BPoJ;* z={xF3l<5{`T@ZQ(w4P}G$lYfl+cmM4nZcQ z0X!O&RHuyo_Ao&;W62R{Jn?$mamuCXz86MQ={*0yT|W}dA{M3T79nEsz2&FWY{e=y zw8=C`HwKf8_+8KW{(cHVL1u?DG3{a2GXC$C3VJkwf%YOQU+0vpz)NO-)0OUd^)q*AFnVgx_u6_^&Ci+lQ3aC<#2V2YwgxYFI@T!87(`Qu2S zGNy;|mDmgYxje9GD|^9sB1A9{UK+?bOj(ZzB3xe&uX&wcUQ%?TZ4BgreEoa6WGNH7 zC*mzNGyJat#)h`ji6JeBW1N2&vDa;P?6GYhL+0)2x{Y)66h58hn-3mbkCKbZ=e@Gl zS7Sg;o*LZc3r1yJq!^-az>aw}m7_+SYXjLD#SUTv4^hC{IOWq9z^ZhiaOd2w z4Mj^`ax|u{IBrJ?b~^PWd=hV~1Tf(4VWRaGFMLF7e3c$wQhfyY_m-YZVTExvoZHPW=fR zuMM3zSz6?$TuZS%&pBpTkjd0DB#8>UHBxRu-|H1jK}7RG#W@{CzP*F9Bqb>>oYP2h z1o-YDB&QSu29Llu&cmMjPR*nG<1Fv6RDmIHn}Zc3pC4fa3;(0ovh0cG@1%3@AB0)eLI9O8T4I#76%ZzNT!=^Fb#kMsB->ewjrn79Q(3{RI!o# zvA=QXpyq|l%Ohj87R9FaYO2hL2EtPvq)pcJUhBEPh(8bAuI4LY*$jF0E+wvva#G*9q&~lC7uCXH+mTXmTSX0;?mt zKR!T@GG=hX_f;x#JD$zn%%+ctouAOv_$h9*WV&B)@Jm(vXEh!2#%gdtl#MSuDs!vh z4J$oK=2Meo*L(UBTElHeqN1AX7acrn^iH*GqQRb7e;1UQ!G=6`Sri~+Vb8R?Hkz~a zl@E=GLc1ml1cSdtMY`-1a8~&FhGZGPY5E7Jp$GIjc?NisE2&BSD$SG-1=90@q=pu3 zyxTGr?5*Pg@D`=K{q_Pa zOW1myzne&&6K`r0B=^`Csn9)o>)f(X@jp*~Ma%Yfg#U2kn~(x_knSkww6pTXU*X9t zcF2m<`^cMLe%6o2DjWogvKx9yeX%zXK7ETbt7;|QpJruy3<5RZ$30C~kGl9I%T1?# z{GlD3S-vsQ#Qy=9D1z%&&)i-6;rjAygn3RXM`xw#K=>OKO{DZ}s7Xe#>sDsV^<|Hx z-cNYcFC9{Ye?!=Ir!krpoi-T7a342*q@B6kEQtOFVp@Q(0SZHr?)Ujs`=1N|=TYfW z!l5Ln9XiC?d~yB!00F``tb?GHJ2KCZfYGc=tKb}X|MD1)30@?Ee@vfi|MdRD_QG4AVNCoMdUiTQE z*P2S-T$|zlsiS1^{EHUvzueO8MvPLnEpEzB*ojLlVh8c4 zOmhQG$R?7eik@faPx$Q#s!D!1A1zEUnvSoVzjYVqQ4|XM+&^RjmB%B4i3AkS*Ftf! z?Qpu5G-PGweoY~XosIOPDp>buJX0E`b`T9Xei-q1MGVLz%vZQJAu3|cSkvP=^V(q-_vR)Y)fhFSC)qxD z?mHl3F(^y`6Z~f2tTUiits~IrdbU2!fAuB-zTNngK@t~kq?~e&Qc03@gmpAad6gfL zhO4aJ`LwTujd~DDa(C!mv0P#?W%68|tS}G({#99N-bZ0g%dD|i_)^;Hx8k-?_zp*_<-0}1#6LMd2Y7UAuj~>p_ zek29);F9T-sYWxiR`t%f*eypi$)NbOd3+Wq4;B?HpdO~SL1FtzCk@sgTtOz4b+$;P+CbrI$*q$ zM}9D?FWBN?H>&yka%kIs==*poR3oy(;IXPb z?WeW5j7g=+%V)kG-;`FGcKonLZ8)kO695Qe$z(TmwRG2qbIgR}l~{gazwTMv!qn}p z@rl4+Pln7!hDTiZ3|dP+Hr(9K4G9}|!rtGj%UR0S>?TguIJfY!PP4R7zdr0m0a+Ao zMkh{Uw3gL7wgXy}$6fZ&vq(B-DMOSATkmn;&$j;#s*rheSY&@O1+`9VGYW-Sx!GPp zx`K-=4exO_ZOJti9NMMQA|I*%KKYutytbgRe9+> zwz_slD%qn7FGA;HUT?t}NRz*77D%H3>BkNCF~~MNCM)&Z!M8GB!|oW*zA%2JQ%eaz z?ScenF-Z$uPs-nP7FLC!;$%Nz9EUt>B`kCMfZ$qhHM`Eo$LA~`I*W_QPd+-vOg-h8 zLQhCyr3Ft}G_map&2>JaQ*Fcx$x&B7=mhQkIa~(iGzAX;cVBsSQ z51i=wcirF%N~4(N688L$jTD3RvsH=N~V+rhMk;kv%-wh(s8Z)NvzD}_uau*erpDnT&m^*JaBsIqL{+)3} z+2m;kLrQ$BS5C9nMOL2~dwr+8k-%SbI#3EWFAN=A#MhbKleN!Vz;(Xm_6VSfGo29P zWIYAyEdm%ys`JkwRNOM@d4=9VY6p(E))1 z+jNwQsCcsUg$lO>+&fQQ)rQb%IUX_LKCsrOj7uk5AFWAv3F8zvQ+qMyZdUn*sK?v# zj10m&BEMG3oc?{lCGxytJSpyu9n4Cgm>OPyLjG%t2I(}UILC8RQrcP>_VHu1@$Hzc zyQB9*o~JsGs;KO5i(VwJ(p2e~zHziBiS4xHxR+CE@e~$swNG3v&cZuY;OiZR44@;-NIy zfb_nIg>Pp735NuZGDeOk+O4T@koI-y{w6~Us-gDGXeN6h8=f9dmRRY9Me7Y`QkSDD z+^jv&a}^v#Ws{Kj^$$=jAPdj)UgpZ<4f}K@x|npjTTE=^VTP6Y{eYC?<>?cxiU~#i zuwW}zxrlaTs+wgFb2Uaf?wgQ=+(0`S6HdO#qP@D2(6!*#zj?M2ZKW?mtEU_CCP^41 z>~dcgW$e>^q3RHrDJC_rlfL=5Dyan8cl$s#Fe-9wDiA_O9889cpMOMiNX)=~zbji? zVxZX#@9VY{B+KHc2-UN~R)sWvy%x7>pV5B~j(T|7DEO#Z_U6S~FGn}9r`2d&9O(1~ zZOo%Ab0y??as5Z)xR78{ikf1~DJ#oR+wtmUG0J(U-Yg+`Qmr`2hA&Jy9+8;eYZ^Rv zG|ZtIza!6SpU4Q0difr;?M?e+)L`h6OUKX28SfyDnvx)!;VAa2VZzuSub)rJq_GN%|df4C{kT>G(lXPvWIwtIRe=G@V z+{>=spA05>2jmsCKP^`H_F{tL5ud@iYw_OS#-N^Bywi|xfy?alU#{gI`7_|@Q z3gaGJkBl5%^qlbQqVut#ba}C-qV-t3)a$($CeHhEh7pboEs5IVQ{GA~0{%<(B4Mbs zVG?z2`p|*UQK{0?veub-shXzo(3l{T*@rr-?Nu3kH;)k$@lk&g(YR}?|J0)Y%dpo2 z#wUp9wfM5#Mmv+|rg1Jr%V9{8{Uc^}+*Hwf?^Hr5Igtk7y_|aa*=yOwLk}~b>t8)~ zH3fYySXo&0sDA1e`$U657vk@d*RI|>6QqI{#LS{D1n!nj=oL`*Hx-tD*-{)sZa9d@ ztIi?B(u9JbDbo9Mm#wCp-Qtg-pz-sGekimCBrf7lBMUEAS4M%|}~_eLEU`-#57<>bqkg zB2AB7o^3G(Se$q0Z=BdvA-^}}Q8*yM66Ssc=i|cb6ONbCo`Wk!d!FmG> z17iO1&n?7|>G?US{QK6#SN!Fm02lKI6qyacR=?soENE(Eeqjg$sOKT-S6_K&EF2B3 zlyh+i{|Bk0y8drcY3S?lux_F0^SiG<4*PL2!Dfi&H8pftj7UkB2Q$8Gkb;M-N0Z#B zZiWYiVOPwcIMQ|087p98-ZOYaoK*iRwKS#5 z03E-WG{55c6MoI zm(fd3hpDbG2Jmz7z+CC}$XTCDZ`_``H2s-AxC=jPc?u6T$Y8SZWgte#KbA`Vu~t+!?E2QvfVO9M zT}yKtRVgX;F2?-teG~7mG)yA{%V^`3;noAw-$E)AP<6K9r=)KBT}n+(o2$M}d&zc0 zK8l!|axi%*OlCd`!$x=?9lWUsQLy0^e{OW<<WHYWcaq#&%A$Vl-4-6k{@O2W-U-;ho_k9~lko+^M--e6e^cQWz0nQ)c{ zNe*$E1{t*amH#^0u~lh0M&Ow`SN021G>!~uBW@w zzSxVcX7F(xikW>c4oIqW7##u(3K~1b+FJzCWnlQ|PlH~Rxir^CGglg85%y!X>t5eb zCC*=O9nv_;&vfK%N=jdpC6`AP@ygVamJYPHgv#-DpPrNdp?L!+br(+!LT)nAQ&d-u>T^vnAkoXWKx`+nOMFBS_?9R< zcw7(&z^q-y&JYcI@E9(^*j7|xW@6oKwnsv|P0y9vP)UQd(4zhQd#8kBm>U84wpb8)t%STQ#Rjx}s}IP{+BUj1QK zVB}|A01=h4WU34}lB53j++?w%!?FfelpfcD*{lN&Y4`Ioqg9^5?{vBqdO$kd>g!Wj zb8eNC0c8+fC$8yBd0kEBo+73+@H*BIXzJX5AoJ7ehzdhkB!QR#e@8v%{@)VuwKHg^K<~r2z=2w=_S$w7sui3iyqmsb%d- zz(v5@;Jm0Vn<$J6repG7o;4$MH%6DdskvY@Pn;@xF@2Fa$Wg_gf_t^a^fyyeMjcXd zjem;D;vOMK_#sR8-R~ld1k1obhPG-z6LaXZQg1o!BYi+`+R9Xq8Ousy2VRV5^J0`4 z9U?jjDC}3SDq0>Lrlx+ko|`wb;uxdcQpt-avV<%h<(RsXWXhC9J^O(ii}~l)p$?*0 z!$3+`z`(jS6Vx;I$W4Ck{_*$4ZtCZ^Ef_S`NjV1dryr5E-p>#kOpIoUc`%Y$t2t+u zZVHC%kqb)iN0A!gQ?bT5&Dm|vLiaGI>Qs%P4X~+bM)c=ro(1S+_3!=y z7koR);G#-zr=1%gerg{X_rGojyj%B*%q}9l=gNJaYp1>J@9$ZU@2zFCrU{#_m(9FkruzZ!na-4a|^kAJndzfK(b}Pm}v`Nem5TYXXDXT1-fn|+?`LXCb zi_NQcfg(jNszM;%lz8){pn>`BSZ}{>DSCqKnmgspn{|yqo~YPHZ#MNbeEo+5 zHQRItzsRG!6|GdDyg>I=_T9HN;f*%pwQIRmNQfp~{Q2%YJ>}qslY=gjNA>){B_Akd zjT6q}8=w%g2Yk-RdLa+{E`6yNBQA6dhY^GIbpD1ubQiZKobb3Ob3Mj;HaPxv<*n4Q zlXOLb*9m)Z%TN4ZiMnwgIIWF;-vN8BAU^ce??Ij6Fzv~F5C{6v4t003xl+Z$x`yLTww}1qi$mIJeCg_g`#?F3bUH8fM zF(Hx?C1qjE+s&fmjIy+ud2x*-bPjL^LR#Ghh`c;vRR^YUGpCSv*XB?cxoyG+We^QV zu@GFmkU@b2XO#ti-iPEPB-3-dBbsyAW4BTp>@GU<5sWb-l8av=7i$Y;>Sga zHgS|@J*A7p+mbi_G9vKM0ipLP?1o$BQq0i#MkSxL;umm^g|t<2;2!9}NHx+?5v-;V zT0BWCsiQIHk}%A}nv1|}P1Bd}S4ev4KsZLuju1 zu}}KvHVGqir$?%cg=2GT{=gROm2iN1Z+0gVh?i$<$5XUcr!iLRd_89Td0Inwur&Bc zprC^dJ0DWQ0arSR^&Gj_otkVq>O^XCNK=?T4qq?6cqRi}t`*UB#e{~GEU91W5zdZy z_8VnK>S>%PRHrl0l;7i++a4#EIZ2UQvR%1#3>+oYSnMbNXtXS9e-4f9FqZ3qcd(+_ z_L)}xBk0eH_ZF07sam^QFtOynrc{)gs?DT@2%@O~9C}^vYR-+eKDa2RI)u}6MjO_d z>H+gd@=WD`v!%o{c(>EfOIufHdcQCI#IQZQZyu6-egk?8Ub9Ag7!!1sATB+XZ%5Gw zPNF7#v2VZn!+*`U^CA(i@L#_C#5psMx;B}1e-Q?1?pxZPQ8IbT^iKF%5@(+7di%p&j7$zC02jN9~j z$g`*2WkAV3x;Y{ah*kJ2rQR9JfJ-dyFwp~#oUna!xGhYsA+JY-< z9JM-By$l@VqPkK6;nluHXpD9ZPKNJExo9qNV}Scz`gWu~>S2Lb?S4BaR3$2t9u29N zyhzn{NuPV>oS#cukQ^-m21`_lB_Pr$w;G&R#ri*?+b3|l&Dl{U*PxXl*2*1 zJhIr1QQj(0B~&RgIS8xjy6s|Ns6JTSnQ@id=N$oX?GF^sh*N>T&e~hix8&_5uLG=5 z8jR}`v75=5zH%GT)~iH_n+ayWB--e#Uozk27@cfLrOGO%o82Rl;YvjQ6&(FZX(NKE zN=yGDtuU1EbT(w*hSJX}$W@4f*~x1jRx+55sIi^io{gs_nC_(~@_Zw{# z&N=g^zI`-+QOxh*<8}t0zE^jAsM9~WR6D1ZR3f#?$1?VC#8Q6nZiJ76WMw5=FWl_| z`!CU4RAyt(Z$pw5h7gRTF%LZ1Xo3v@;ZP~;(!;K`S3MAMUBkRlCc6WckmNRVb08(Y zRUHFtHnAdxZ#q`Tc`&46ZCwVAYwxn0Bym72t0cz&^Rc}tZYjzz1nw3gX+~eCevp~~ z&O*ZsNTJM$HRWyjrZml38bzl=2D%?v1!L2NWXYQS1j3Cpe`G@wa;jtA^lQB5G{f=(XYc9Sn^EVvOr-j`ifHyMm#K$m$F0p*N8cj;*iVQsG;Hz?&QfNW1PYJ# z3E)5ft|`BbIhCVHw1v5a;k0W>G=X6OhI)be+354f8OsXup)4C)RgUm2ur!C}g$L{4 z30%Eh{u>~z6V#t-KpV#g!)TM!ysS|Ko&P&dV+%5mq8Da%3$z=v^N={?87Ak}i(}A( z^b2oBuaCeUEF;d>NwJ4CxQF>ec~QehDp2h5^ucj=pWJ3&hUoPb<&#f*gcHeT#FQ)& zGa9!}hmiU^tSv_i#GZ{3lFz~nA5f2_Q#I7FoP*;pUMCot62jc_sl5|Cz`_GvO+bHZ z)dl}#dc6oTiCP-jDUU_cVH33cNFFYg=hw_^Q^rePY~n|=>hHte6>MRB1@mq>0RoTV zg9Rx2pH8}mBKAyXB6^i3HPVB2^AlVTq>i0JDC-PZ42#VB;p`yP<#R3|_QF>=IRWnU zSU*}x9@P(rzFHRNQa@CFbr7nNuCfZ;OjH2|%Gl$s?BQw9w1#pcY5QzS5IOnwdatC5 z-Lkv=UMwB{c8P9(OA>@FYzy;v*iH_ZT9qa@_as_Aj4ukvfgh$*D0pav}@E6Fw+I zn};3Mjg<@@mu9jO3DgSp#%l}6GS^!{1`(VO_c*2Ei+NdyvR~idRnlCdGV{(K?_n)L z4jjZAB7=@o;z#TxtLyWZAP){@*^x$eq+i~SQS8(P$u{l_#_YW|;s+Bhz2yWLJ2m5; zvf`79%Xf9MCOW6~i1y65dUv9n%P*W*)t3HWq!~s@Qg-q_x2MdohCev6n71RdRW8zI z1?|h}Mw!xp(ssVV3r6pe z=ejEu+}qkIpK|c9Jm59{nxXLvVYU{6 z#1MyJ&qJ_77UQOZ7lOjioe6`Rgd>8=8)suiR!mPGd`38MA4Q?QNuGSBR-Ch`BTk*?xwoW-J)CKLPsi(`~96_nROdArGFMx2^-%v*W_w8uR zOP2*A>qrS#A_oH~KT;NIN9H`I-UdOMH85+OeMTu6F7s!`489gh+Mc=p8OC&7Pc)vX=m%V=VfQ1GZTNHaLxTTBK>p7U z0EuonAf=M|h~Qm1NA|jUM(h2U4fs1ZIx;m$k1lc4U8Ku~b*=(5Nkc_d|7Y(rCsjd< zzhABARxViaqsVJKri0OIQ#4HG*I8* z2`BG(3oYdhOiKmK4MR`-B1u>xUi|svYZJ0%W+8B{idTTEw6IJwQfYr|(9l{o6Mx7d zlmqP5E_M+uNSZ3$m7&?`BHVuG!n8si>I62u$_})nl6n zS^`fQMf$7sb@hH5xYBz^c$yn%^I zR%({pm$>hw8!Ea+Owc%{E#-z+>JcYJ-Bg{E?yi(EkyNZd-fBwY8=NgsAvt&mDfRky zwq75#W_e4@nTP@Nubj^QXhJ0pz0aZ`zp?~4UQX9<_wmA9=AK4IQM~KLANvA7b5$td zizy;ge1yIHCCg^IFMx=z&!cDK?0)vS3w-C&)E_*IC`A&HVkv!zotsxLy*^bA1W zY4O9(+$d!PBg2yYsS))LE(+>a@{>&Q#|hHl6)rh0e5Ghvc5U~DKK=8_hVP6dzT%NY zyy?u<&^`0R3N7+o<2mD;)6vlAjSu<;JLKNe2O3$osM(~g49%x=l)|rH9g*a2aF(ad z9Xn`)&vOw=RVbR1~d@J6@nTw7ljkDRwIp|I%LRq}&ygKDtt$F~&zaI=qAf?siAo zSZ~kDLINJoBOYFR8ih_)+yjTDr*XghkIN4EM)FC~wb?JD{I z?1Jxx@k4@2g%}1Zu8a;!gh3v`oS3TIU@mxEw2llbW=pY?*%dy>Hx zfBW^P5!bXYs5F+IRXCXU^^t^`Qz9@geS3o4?blK;jf?)kpXFQXq$;=K`R@+bz*V<8 zPmYF+Kp`iYKWg%?gi}<F7lGM9J)!?qx;$~8`=FS z&q$zz3!&RJR!^;VSr|&U#*7}*;C!|GA9EF@=jnq~J0EFsgW5Bt-LzAQV7ytS1ZM4r z@Ko){U1)Arv-?Jf95y>S{2LTr8`+rEnA z=&;>h(rrY6_+gr5*)~cg4^;>GbDoD6EQ3RS=~&yu{J-)nuD-XhNv!sNo9ZJ~En^fV zI@HmBrEkV**#Xk~kN7&w1ucXWI770S=KzG8sg`4Tdei0ZC`dl5F~0Jv%t*O1R>Ac3 zCrXSj8GMN97PB0h%K#z7Tehnp5$Qs6l@VYqzW@)e1N_#nZ$Uh&8=GT&6V;l=uX5W1 zOuVI>jnK#p1rg?xX5et)kgyz!3~hU|reikZjsRkkL|fC=;gC3tGj_;WYEzEUVk^}; zgOrLLOQ(lBY^R+&rG?Om4~t9F-fMcD7qdkN#h(`;xsp zAR89h`mO^oC3sDV53rZz)!1lH>XV*s7Wm$8UPs%R0AO&OS!-@JWo(QRwPGo}e;X~HK4Iz6 z97Z#|hYMz@z-XMhZndN_O}DbD@Jwo=W!z<+I~Iuw@2g?Ien)~>W1H*7T##~IjP0b3 z_jM~7TdJRx{6h zu!b!Q`yVlwf_VHt$k?its+!k7NQolQ7qVnLLQ9z-S;<{y+Se|1p1;m3c}m~P5@zSzxhhuk7s8^?gXWGFCS;h>oM{Z9=W3W`~BXgY#CClsX2-m zsb?Zn6E5VW8_2l^Lw!ZV(2ZuR5x?V_n>>2TIi$62Som-h&~bi9?IIJQmv8{w%M(uT z#VB0YNTO)W;<84c2OVLbN}d0CcIW@)^DL)P*pOd#u~gb=NkTYLj+%@U@vD8(5OuC^ zq9rk1FUs9<%Rk@zw!p*D(EoG>9c*TDyM_Aa&MNXXVXL&!LRNyW_14B#m?6w&EOGu^ zyjsdL&)8-5{zLeLsm&EHA493l*f@ck2MSuq;-YqaI~1*^##pRs$oo)>p^opvzbN4s zWyWs3`A(cm1tdKa{2-Wc^hKJ{oLNX^M!ZylGsyQjd^kT^md0fWgJIq~VGzQT=n=tb z$|K?%%yUcc8G70m6Ud|V2SE7srVg|xP{AJIXM0L7si1ob z`F-+Gb2t=1)cpQ!Qp(75nSk6Q|CPL;Dy@pLzGqi0Wx+Q@XRP4V#^w9G3T(Z?Zh0ub zH@$bV0F0mV?#?xXUY&2AxuPjbp|fq7-Nu=9$2MA!l6((DTw>f? zZL~@1|7`vLi-vrHL5Gza<#yU)-GR}l-9UYJp|g012ny7+t{ERs=j~Tl1-J)TKzT27 zyiM%lXxky9u5;|kAW?s|{lTbXP3UiHLKjF0`m}P@`SVKsd;gx1Pw@u3F3Hz}8)+l) z`uT7l`AVubun7KBSKr?G{njs_JpOewuEEq(+(-Mi0oIah#TWniW7P}ZmwT5Ulc^4s z&)3>=(+7!IUEfZ%==q8v-_J$9DqJp^-kZE7AKTA-j(l&LJ+L+}Pgqmj$T}2$N|l3n z_H#)^nCq};&TzdwH6nA^=E4-Rv1dZ>lISj`wYDU-54jQIT4FX?P$?QwbC3AxaLu(g zGFdseDx|WU!Awi+y=5k5_`@VEeMn7;pY8fMSYLl^B7Y-GE7(^V-5UPryc?gzDDbza ze(GzNbtM=<-Acd~6&h@*XO_XpD&$Rs7=OPR7`rueRbuoJ*6=j4sG!DsKnl7> zWJ%T90A6xDya+rl$2c}4I^=guYkuYt^JS)`3up@Pt5M|nXA%bEk~ZY7KJ_0M7lFdI zB4pUf3ufWHd7=DDvA+SrM#Dwh+0ZcG^{@p{Bww?_EgA*Ktd%NNmQO(zaX`>g*A<@E z_54QBoV=>s=p6r^qr{GQ`W+!8C+O9NPKW-oSil-Zx2fR90CY3!7Dn0Pm@UtewSLE# z)b2BvKp=hUqWsR|l^4^SY1S@vMPJw(rd*USR4l=wLD{9eGTZzp){UgxD3PMS1U?rC zfVFUwSZrgK-~kY7WoadXLKGu@@6TdaK!o%t!{b|dd|OfBrJBT<$FG^^WwR%Qq$Va0 zmqt(@F0gRES!qWoJ!ZN(7+{R=8hp7r0ZFeFAxx#A2e|SDarYxAq?-)V5}yc#;3~Qg zn6qf2p!H6fC!jKrqsrv#3jWn#QN^^(dpbxJ08yf2@xoVkaiNp*WJRn-f>H#xg)7!m zBkQ>a0@v!5%cL>c%cIF1zNO5lxFj_Q;Xm!^=W;1m(xc9Kr*SDSemW)39XGZnj&xli z4d4k#e(&quh#In=t)UaISe^&Dz(w$7Cn}R4Xl@Vh_i;!rQ9-SLAxCP8FfxWG!oQ?e zMC^-2TO0mJ_?c>3(fg`(|CwMD`&$irwI_jv`R_Agd7|ix>3TY2m}s2wuiEUa(>()o zBDz4*07{84po+Ywu}{?vJBbnMMo~cE*%mvKF>7V&X@T6U**{s*{_?<(V1W@xz~HR< zhRnl89e&UsZ<1w9Fapc&zF97r(nE|_g3EAnF9Z*tE^*GFWHARPaW(k5*hlQ{5$mE< z6=yL5NrFAvoQkl9^F<|)2dj``NTk|mpoMck)|3u&MGJawXzYs3p?FQ)*m7$`5v05& z*+F47qCD{D(N_}zx>8Gr?4+dXy}g+#h7WI@h9Bn3SC;E*PqbIRm}?tF>obeV3f1#s z+HaIe*EyB5Lvil@;VXz_`raNYfKX{oxCd$nT$Q_T%|+*ThyN_C>?z!Yo@g`w$5=mwhykA%9&<+r!)* z8&$WHNA_@4s?(RDIBJeoAus|+FB-?VANFom+%{m>q&Sm6uvPxpAjA|{=b~{1!A}ntn3HuQts>7v)#%L0LiXo~SfiZ~c!fZ9jdgqF){0TB zxNO?zZT*W%j+gUD-7N3oc4IJ)S2N4=IWg(xggU@nS8M0S=r;Wu#2kAh)hCD`I9|9K1?tVN z8>D@$iHPhZ-?I63F{W0Bj?jKakD6OKvicgLv9nLj>uYr!%6TxwQueK4VXKS|`;L2d zVf&--44>ZLSA<%S*m3V64o>iCYkqIo$!FY7hd}kS*E+SXPV+hJr_+`s#6NHcT01K| zma2J*w4X4)tj_1-q%D-f=>WwJZHriofg*}2n?=x_OdFG~cNxna!A?~!o#wa~vHg07 zg?%e-qmP)~R5m3!G@t3E`rRS`Ty~&sI|4U2rqtVwn?%3M&`soyB;Q?*kg(R8Tw{fs zX9)r*@3U+3o957; ze_O%uy%1*qi!>npuVAnJ3MlIdt$BI>wLgk*(ZNWGR!z!%vogLZY8Q*uxfYH^W6CP= zCxY9pE6hZt$EUHuQ+VRfvzs(kd|CwG8~!G9MHj}Xw&cfi-9m#Kybb@?bNWEs+M)eY z)x49CyE6F)?h}qSJdgF$kQ=49kibb~KQdX%x-(o^OH)GnMYi{gh&$%LrYzE#%4)dg z4jV{*2&jshl$h&v{?8wA}?(Eqoux}!C1_zi3@Ew1% zYM=L4n&C@&mDwGTms9h`f@TQ3t7(O{@i>?)bks09AEUnw`FTBTETgYc9yAIwCP&!K+%FW9%muwIEi$V5zzJcowoZpt7(J$ zF6JK=Cj$*MgM!b+Xr3?|LL6iJ78%HMQ@*1rpexm`EKBKb@p;^}X0MlXJ27z{NvNR~ zFtY6t`?Ij3k6FyUzeEqZ=xTPq>9lwJV(nd;Y4ND4daOS!KFy0G5%wsF(nz@;O=gX7 zYOzx6J2>fwz9J@eyUBlo7yjc~fdAE!`su|((^F)3JC8vLNU&{Y{z&qB^ovMFIWq{`S;1R2B|lbD;d+>#W}@ z%E{9(5#LO2)}lr>#78KPqx3QTU98*1dvv0)soq^ZZq zDs+u1Cx`S1MtD~Q!ZX!7AYk#D!0d*0yXXt~k}M}oH!PgqsEWHe-x_q%1fjJCI!+GHe@UAG5gqO=QYsksLuCMJsW0iAzK@QuZ<@2*)__nCz$1?3&?C@|N)tv|+!|o2Q%1Qa2HKB=OZ20z zDv;e%X?~ZH%BpA7%G?8XKD`oWW=O*U+Yy1U`j0yEZ?q9x>!(V|TGMXQ@9dc#X6O%LRa@wEAS zw_Ufo3lwGFXD1@VJjK)eZHY?$`P1;hr$>2?iM#sxa=96g?TsRAzV(f8LwH5fZRZ79 zYO{rz>Ohs0`eNST`o;TLz;^6UNT-nWX~ko^tQd+7^o!Mg9R@ROfwlj!;U+j8uCF-cF)p7a_(x(7>R~cJ*Rp5 zb;lenR*;yU9%0IK>Fl5Vk8(7gK3+^NM6J^9{aJ&?%x1<}u(vg5CbN~QF-OeQc8*C< zgy~8aV+ylE6gdj2fBKH*Qe;R-A+gm44MZ{8*b0gKLvj5<4gK1F?1D;{6s;OVx$$tm zuS0+SIOoBak>W6oJH&>5L*~-xLbE-KR6b3hTC%rI#{8kuq7?ChQK=+am%U9J-X(oP>eD209Les! zc-3C0PF3@kt-I{`F4A4!@pu)xmT%a-!~+h+ejMVNZoiKJ2?>y5g5_y)$IrP`=VEI< zFW)R+fQj^lh&HE3cb?EmFy0pwUssE@X;%1V z;P?m4BOLuHNgrBWw)mm&Fm!9yI3Ly)cqTCj_O&yJ*4Z#8OW~?)^Hq>)oGOFsY_;sv zioICnV`?rtu8jitjy-W<+$Y;jkr8$_m-CS#QYGnrF`>Ui2<;yHFs+P9j9;^P>T3)( zwrc<8^?a!BT%n9o(1P=JxKvjhZh=)7o|la>hckAPzKC{e+F&9T^>LGZsrK#-9e*#l zVfY8pwV@Ym2+YwtJk^U~j`$rKpL6QS@B8m_6~Y#@B!K^eud|Gbt68^ou;A|Q?g1K? z;O_1coJN9s@Wx$&(@1c4cY@P61PKs4Sa1k%`#bxbyYCohkNcy4uU@NG)v9{mIiHD( z-$!^l+O}ZM+=Y4;$X@t7p_$XzMJn>)e+^|}HC&XBbT9xJDhGkfESHTWB?S_2C(EU1HPxvsQL+HcD6>--Q65_6G5f zO#PK=!2=`{PlaNJ-gY5xH|3bOThkqTV^>d=T7{H`M&vbJ;d@KL^9TJcPJhh;NbdAo zT)PW>UnJtr*7}_h3D#Ff_5#x*mAe;gbBJn6CUbjHhUU)5rKUfPd5i z5-k+U_&Y70KZ1gJmF+KPnv8Vqik&Pi^e-Sxl7HJTMTalM6I**mt=6r)@rC!cS9%kutJK~>=d|cGpQW6pNQMob z_K54$CKEpL34s}oi=aEOBfhu5I#HWlThSrCjnyiTRhgVodT#5u-A zk@3G$L@xokC)@he`j^LDc2%!q*^9RX4<5hPcx8 zzYJpYP|x2~oAi9?C_u8F=SH&^RB)}rn3JcGGE4nFXXR)HeHGv|ZANy_RDuhy-LJW= z09V zrTR_U^nr-ksKQ~HdzD7!G5Zha^{0OD6C*gL9J!0dr*>a!kUM+9K8kj@M4FTfh;0(I zih|}swHBU(YWfv8>+q3$BPkzK=0-q&9mSA%+xmPS_~Q)g*0TuX7J;Ds*~sW)3JwY} z<=exl*1WeQO?mVuIZ+QsVy6Y@*24*WHG{I}J9YlmGQp1L3(dMfcJR3HH(Gzs7dnQ% zCe66P4|WeqMDx-?4Zj$+0xap9scqR80O@6O3>h@*xipj;l#o$SSWd6>$@UVLtG*d0 zZX;1cdjTg{!Qz7x1e-4YCSPSrGtevkxOr`3o(xh3y++#hDtv;|YbJ}4a9GEXp7(0~ zK9~(23I_tn-yC2mWV3XOTN^0$JSV$jXruAP-8J>gBGym*05uM{;W8gWu-Vx z$O5{&h!%iwgT^@q2W*t(c

XsrLt>+e8gEJu2FgB+K!itx6g;0*NRVO^u&L7@8|2 zPODCK5alI!bK$cGYocSe6(C*$OW;UMvwx4!|J~ky!H4+)&0?#l2^3S}$#@P*xNB-2 zS}|3T2+UFX9BVE7Ct6RfYj|dpW`T{H5%5zKUhz**<_X(Gd~vDb$bor2)_U{#21=c{ zN7qQ!%B3JOa1k5$9xdpd8b8B;gek$+-%EZnX?iq@MPj%irp?)w*sMQ6B(F&|@IT{M zRonHD65Q!=i^X3}_;=$sHU@AD6x%EmwXGIW=he8O5*(`Mer%^ldc<;5L{Y@3kj5|i zeCDL_jAtfDF&m5Yx$I?O z>SPdbCoeBOBz5(=aM5qO!OZPeC-#J`+mr026vF5w45V-=k9H``PvNymHpB8uu!|08 zY_K>k`2M}n?c}j2D0TgaWRu{2tLV+R0*HLLW{Y9DH;C!hxksn$C(W3m1XC)UeP-8L zd@9iHNP1_=Mb)fBC_?6kPuly8os;;g;#P_z6~At`28MetKBv6)6PLVG_NCSGmQ&6( zw^0P)OaD@JVi4x7L;*o7cwb<742n^Om-$||3=?a10>d1l?IxKsbyLvrD@qj4bC9s8 zSLQn#ibSHS2{-7#g7v%P>(?RuW;a$Zn|<0sMf}CeZJeRbaPwR6Ef$X55h{=@Clxex zqQ-F`^PU>O2P^EZIXBL79R-tPqcU*rmuMxe&F_aEP|eof((m)Wim-N6#_#m6E5fO) z8Uby`7tK^U<-d&T`b@9EXR2`A^;)2%IpQv;%pmGIIfXd@HErnd7O+lfheKZ`_TNBF^Otx z`pfIHX4$zD&;56@YWb|$NQu!y!@3~r z)=8I@KXQWVuyYz>KMPM(k+9dcWQ&K30f9A`D3nlep(H}7rpHPpqhFcnUv#rBh@3$ifzLuqI*1Zua{Z0$wppWkSby55Y~3{yj2 zY|#f{V+p(gL%3njMSExK>Eo{FSi059qbrC!?}CGWr7R@?pMOSJh(aVHD~VBRZy<*C zo~1}Y2ZRUOXBJW3&rju&)&9@E-GTa>dS-Te-NCZI)gDQNd9ERsl!--ZdjZwYpV60J zKa=_L8u$DlEd-8H5Uo|k+r)pLTn&3vsJhx5chY9`y3O87gur$EJaOrx%7fpip*&IP zW~U~Y*B{sKbVJ0jSrE4fcj*1MR9J*uXZ!Q#-@ynf<1;8gyo?j!Jd zejbbDk!@5JB>PQvd0W-?sLScLmIujU85eGy&_ZS~>Vf7K)41CQyJd)S#L-2W8K9F% zQ<5E;%5U30%Afk%a=G{RA>i5I0b*sKuTQFB^&XrYle3Ye_J0q&|3=pqO5)UWHYb+_ zXbCkuG?!A#ooSbnN8{M?5wt_hh>ixcThrK)l~ zg^b|Ar*Y>`*#Q{hdk%>aqtACM&dd83ze z73^-88Iw>R0fz+{{-8L85J2`Qnt+0CxE~)~&=bmh~1iG$3ehO3RXt?Cc>V>+X-h1|!l+c=1mtzrcsM z6-hWxNN(s-40K9ZyY}EwmPpflCF8S~Eie3)KH-C%51Y&(x1fcQojbaC^)uR)eWk0u z17+1_n4lG9RNllY%wvv4YPW2`QNIx zhzQ_6hC%!rlgt$kL7<@q^i(XHTW6-@ia{#|s$76%rh#W07WIDFUQKxh7TibumQp@O zXH;F)n8i!({I&4Aq8{K3tB5lvhOz^r(c~r{>c>3B$(2^MUDx9Sy0g)?vr%hP+E^(k zKb%l++rDUuqL_CU!SnDUZC5za(AdCd1S!7Ily0fXt2yDEaYHV#R}T&$2M-!OEb&id zDQu$-t1sL7&rYPVnx{%@E0z&}!{p09!Sz%N>ygHq)#x3iLyQT}a_i>!-}3V+ca7Hj z+e93&GcUA_gVYp;lMqgjxKAjS?-j~DOB2^CU)*Kv7K-k*+F8#~0~Dsra(eJyPRRN} zNB6EoDqOi45hW&r-gzx^qkM0F{_E&lFznW1*z$382d?r)J7sMBkkj!k^GNj6u|o6S z{hxXVB%j6qwlc_J9*}Q5 zx+wlHAGLPnys!Z@!bYDJA@$Er;T(hawg`MnVtSWBfie|jpG>euXMB0ZX{wW*D5I)r zIv6#XCo)cjXrsMNf!E=TY!^V$gu`}`Ll}M6aKLGrCngE0v_hb}X?xO4HKH^V#a2O_ zE_Ix|@a~8{kQOc*xz8`7|4$n&2^qSdS#zW5U$;FnMvg?*{I@Ued=6PE38*Y_r%;JgW+V*o>Gx7U->)k*8j^BpJn~K0**hkPOZr4WJ;mYskM1(#>25I#9@0kvh*Awui;b|8DS|D9O z6ILF!W@qAVATXRFu-vuBq8tgJH)F|Q}b%( z$4y*}+&jPCHG=8TnEJiq%~jiMj7wMHsl55A4cW(bzpMihU58IBbxImuot`L?16Qc4 zuf7Z@KqO!z&mHw+EZtO5ISGSryruUP;^d)*XUbz1BY zi(n>fc7z%YI$mgJ(k^|Df!~VMX4Gp)ndOJCJ^joygPBbkOK*&=2FQq)1P)9gnT1z5 z4vuilTw84oB86AhsrJ++@!p=|9Vh zNgN?#R8|4Abawg)6{UBTnQ4MY>6^3@tjA+MNN6* z^WQ3OM|eDw5lAy-1DoFmRdwlTxDyag$5?~?HFb=Hq(gQ0CWu5xg^bJLi6-ux$Z1f5 zta7mvQ?xVE9^9QJ;{LmiIuPNn5r$_qcMC}?6S@Mek?_V=V-Xt$x1Pt57#ioTUHA|w z!Oj`b<|>M;ba+wz9QTPRDC>o;rfMSD`$kFRri{w2o47ZvAhy9`2%&2v z;faw*Lx7pV$nzv(;68#%e9t?e_logXWjG-7o>MZ>U|#qlaYqUaDYj<+^!tHi0YJe; zdJKB2Awp#STE-fP=Rzi^g$#VJIw}wlZL3=#5f$R{vnF!8=>A!}NcWrF6w)&>XLTWy zB*AR>=_~Udi)rM~4(gt{xqFtNA1~y+BE}Mub<(MGtZ!JdB9wAq$_0q~&ugMJ2BIG; zK{1bgDdtlFBKIeVM1hGn7a%2hB7PXuBLn;d!y1~)b=>=6)d6BQvqq%t?8)bZS8?T2 z-PuLZYsRm&$<0jp-82Z8y$fPl9>LZettc@gR5K?FWTXk=)EsT&c|M#lv_EGF6ku*f zPR#zoJ>*w(W>SQ=!+}~6?LvEpd+jblO)TU7l)XHGQ&T5f@=cwtwlBm%XU6=sP+u4l z5FVX7u=qogI#?J&B35eV|BKQ%>iobnZ?MS1>cCV42OOT5{58j5c(`V;oTAOjd;XM& zJrJV2D(~($eDLHV&`$Ka1NlUqD=padJLYq^MYEL*_bp6e8sSRDCg5CR#*^mk+cO@h1z*MAA@XvG7pVyFsd@1MtuH)?=Qf zlhon=%&h6#c@ee2|6)0H+>~=ujRbLeeX*0`t!9@GP78|wz{b*)sG5fT+8p#{GF5?; z;jQtw<7WiQF{i2{;`W|}j2`sFlg04zOq1D{A#VziP<^52~ageNd?n+6VKA;4D-+)3sru^haNu{cQdoIJ_PZ;Qdi^ee)Rlh)Och>^~w`OM!~g` z_tzeo!I_)6qf>6goDDdYod8>{N`;M6N`s35-Ak+qMv%;NL;C0svXzq?j#q_);pZ9n zWp5fSR(-`V)?yj7w2A1;Cc(6VL~CFnv^C<@25#cmUCV~462jzaDjFLhhIkT54d+2N zF#C5EV-arkX7b>eR;gNs5{peHBUsGaNN2p(e6y(9#`jStPsv=ect51gCw&#&X;zS( z?IQp?+>=*Iu2U}jVxUWzPYyJ4{S7TS#lwEF`V#a<@Qo4c_WkG z>1-H98RTFF+8t(@%SNjmR-(QUI{mK?Ph&*uBI?bI_YmwVCRiNNqWE=kTHT(%oWl^w zQ{AHYE46OkU34e>NScs2Jyh`iMMQV;sXTo1@~`lO3x^A1!M3rH`TRkJ@~g37JzL8o z(RmUnnTX8GLu>I3`mzMgSTRHMfibNjjPB20!7Vpja*oHsPbN4)NTDC}o{)M4+?hf% zbv0amHbo^AT}vBQIi#95pKPyY8+_SGJ=nckxbpctg8ZR6h(U3;;6v?CV2!St#fW2~ z!wM))>(Ye|UHkbKI9)gnJb093NESY z%V6UowsPI4!Z&#kW2;qkkN$|WD>L1W#nnO{#bmgXYClGetChD?(m1bPP(WdS{11s? zAu;m(O_HR1+*?RG3rv}ZDf-gA>6#&MO>W={xaA46ROkY>f03}cPBD4m<2ztJYhlD$ z&?B~Qy`}nOa3@JB-c91)mog}O^M+E^-Gv#9bog1CY+)D$6~*3cQcYE*`MHW5BrI+1 zEO3ILGZ0+Ru4EM*0bn3o6ZZZ&UGZ%=Ha{9}?$EjE%ZLxfm8h0$s6!~lY4|ZGANRFZ ztUHU2#WksV@5a!Se}Lym6m_6aIQK?OWADeWBSSX z#>!R{HEz?h6K({+1X=}v`ymhUWE0Zp@`eWJ;v;JO`g%;joL_rhx~R^H+61;^67qtI zEIVnLCuWgaK=QwBo>KD?Mw$+({0O^{BVw6*W#7J+l+QmG|kZ@ zII+npoK~YZ^sDRw_)k>2qR(o0`41FBDR&@efRi}VRbtA|r~~rna~AH;vYVH$4<%+i z4W>`21-;SX>dzxeGQ3ijB!XZycRFQ%SUg%KF*M$pg#))VF{t8=au+x`(t8_wS-`YV zce($OO*K-*EP@dre*I+G>Q}yE|^zBTQTl+;JOn za@AlY`9&~FUI=r<-k(gfelkP;#nxLxMeDoK^mV2^R4@v#8Jikd!pq$p38Crgu$QmoFHNbAkBA7&xtXqP2<#Q=&b-cW=RrK327QLcRED#F9Mk+A%Lj zGJB;KVOzCTr>PC@%(~rx5AfA#oP$@&=tbV3LEvdA&Hv$)Z6^-GE;>Ek{z9nipBBmPv0DmRNc#il~zu z)q%279F6Yimsdp>9F)Poe&Q5(FOtQ_}x>5cR`K7|4* z;gOniCAbO<;zf4Q9>nup%+8NiOL`}_&dpi^;(Ozft8TDbFzD@g9YklSEb2F0BBLG?*d}-CKl$`DBAOh#ezxb!fAJ|KHEV}FCEp815c`&Tvpj^Yy5 za(IzCW{#oW&6|zFf;(7;a-48QpnOqj)am!rXMhl99`mR4FS)o-*st7H(0g_=94(@x zh6|(aWigZkpzjB~kA0zPZVPokW4DL#Tzr-R(#xj|vO1vc9I2dW0!gkVS%;0~>#UOS zuA=h^B2dvHP4vMc4cKB*oMj-+I(_E$4=n=GyrlXfQG-30({HjUTz;O19-~J%s#qqq z%gx(StC@@(w~QwJZCR2!r>DDduvg$0&MtGH>by)1(WohDv*9Ea8(t zF&~ewWgw>Yd&w|e$m+EreA2v?I*mj!N1y)q$~M7PB>KWV_~KFk$_AQ5EVs>60+Lb z^caMzspu9?s}+Z-yhnlq2BUD}RF!osO(E_`Cq*%hUU4U6VC!^@blZ5v&62!*o4mZ$ z)mcf2BiQcap%%kCY)MJ-zTjkjPXZu!}=lOyhK+$B$Is0jEY7LwJ~*BsuP_i*njFCEkE55DPF_t3==sV zOB5VL>FFZ_U0--jgKfW-DNKxz+CMfMv&dU2eB|OG+cG9+S`L znz>!74*pe3<;g0~i8<7e7fT86)ij#)OMmOUZgRR9S!qO)tCg^=XsBInWo@=Vk5J+Pq`e8Ec`ye4fS=XS?51V zlF|ds8zf0%LBc5Rjv)!3FPx;0xrHm5n`YIZC_pk^~lmso@9j86anc$X#8-Bw>C z=WZc~_N-?&(lz$7=q35uPD|_ZP<*aT6fY^(?;g2f^&YRXD;22}y3nKi#x!Q?Ec!YPvM_<%t5O<2zVLUu{q@qY``39qOOr4< z9?oTK(5*&24B#m4=YpvjtFll;Ja__D%UM6#)CJ`hiwbzA4N8%Z(C-exfE>JFn*3jx z%Iq6e3re85+AfmJg+hWEurc8uG!?(iWyyDowCC@Bp|yn`5m3~~`hVFbf(ZVlD`KO; zQHL*B!yAbDP+T}3n+zf^yp^)R{sK9D21fvX#!qO`HqPH$p3P%&`;~d^O;p@yuzZZB z!O%c27Ssu6NHLeus_9T)2OAo(1s!AieTxy!y-4jf$P;p4D^2(SqqHr#FOH1d?O;iV z9I6Z4QbV?6iii>POxv0A5&;ryqmfX=Qme25D(dn|KmgVe5MT!rV<-o6OQ8q<4LUUx zDI-ef$J{V@({|97ga0sqEhEyXTN5uW7Or+ktspwM9{SV+b z=K52*dL9?W)3y)kD5T5Fe}CWB*QSn87eO;W*3=}s(3q1&7cGf85)%Xt|Ge%WaXa#$ z|N2-IUt3q!!3;}4Uz+H*d>5eC=Dxo{{KG+N6m5e&YACYNZj%TQOE$Be$ z=Hv)Ki~r6uX5@UE(pA(4#+7{0p{u24XAB&~c@usej_+X1$s?BL)&y|N(hU%tP^&rL zGB48ZaHdpfXI;!zoQ^!LeJVU?RqwWT>H`V~rzA~E>{(^Krd$ z4VOcGTh9JMi{SnVyLrl(5hsDBuz{Pg3Fx^9&J#S{z_Xum$`$`loy0+GXv$YaSLp%r z+Ij$c*rQ)Et2LMZSkx!ggr?n$eCopD>B}jJEju02$9X^EC9BSf;ru#+yGdm`Egn22 zS^nZ9;+1-#9meYJYGtos9=hg=i?F|YQCI8HommTE@LYOKGK*uCcpB8+7W*Js=V-fy zdR3k7#V%|Xy~g)rlBD~+b1vr%T%UO`G?TIRtt}51e6FoiADA7EQ$g*in!e*vES_mv z(43^7yZ5fb!z%U+Mjl7f^v%(QY3dpo%tdsxm0r_~w}YsOcEQ&{FE`lA z63E9Q0P|mN?7t7zx~%LrbrfGIR95Dy4iz()|2f+6c_{LloBr_6n*jYxLQ8Z_fza>2 zx+_^j6EuIa2zNjpnqfm%kkIoQQIXdi%DDHqN%XZ|2JaA!L{c)hEEJ0olXdG2tLo2@ zwu>rZ@JM|kAT|){zqUOrSxYJ@0++Fk{k8A88oC}J>U1J1Ei9Br-JTh$FCT9N$;yx5 zE&Rgqa{3En3R>Tx?LE9e&dnKhE)*|k0Hz3PO#JfCtS=Aj7Qs>7>r%_o8_H{ zw4~)XoWIEiLgq&76RyyZr+|4x5YVVQO``!*V14Ydf|Z7#1#5CXVM^v!Ic-XOY?SY@ z2sDC)6%r3E7->sL_6Wfy3W5I_3t}keu|U+2|5>A%$l^BIz!NPRZb(^c?$J^0#?59y zJNz!6`Hn>9-k)K$f~@lbRq zjO0PQlFFu9AxL0pe-3d*s;V_DQQ`ZK?ArfQ$ZHQjJM;wWmo?pd@SaGMaSP+A+C_5f zVMNkD;ue8oT^DJ8Vq7M$ksP>9DBDT>@OSB3#AdI2M;NR&R^DPOLlQz=l*JGJN~A;k z@=Tuf^#_ttJ`(_mPKoL*;mmPvn1 z8TojVuumVSrN+zN*ZIKaU2ySh2jY=9_t#Y#u3FVj6@vr<+dhJl=g+6dxWH9_(J-e$ zSBk4ZO^F}Vov)MEB`5jOzq*o^6+PSOnl)}`g?dr9s~^xH3(d*ugL`-LqyEA=O4k)* z;edYb7?$fsBAxd{icn>PA@o0VnU@%yX{~weI8o+El78^M%z;<_QKh-A@s*~z=tlD* zTZ{P^WD``{yD%LXC7XJ2;Gx=A{rrw+A$(OJ1Vk>5fmtC*QXZ%m4ybkIqOo@H_joJg z0R&xfP}oz0T1wD0bWmb8_Vh)reWho+bAl}1f*%?%OG%YV%l=@893$g$l?1DWA6HiY zili4|4#L$U>z6of2v*Y4Mj(fos`Y)D6I`aVG4P;^0$46#dy|n3iKKeOh|OuniAm&i zra4=e#Cx#H8qx;*;u{3K-y86~L{G#g9lq!ezsd{uw{-h8AL)~1FBR~VasA*zhb*}1 zsUBWzB0TRlz0#&1DZQj%l(*aw~#GwE;v(*>LoNlQ!jAL?Y@{}M43P?w+ zFeG>*K*L9`YJn(#uqwtJ9Am1P9}ZA|CYRkUYir(RaN8QByp=jvq+ClXW=udfO|w;o z&dBf38JTWV6o;uC@M47qtQFZ4Cg=^lG77gfV4X@C`K0ZEIUL% z&1heu(oiA_K}-s%Xyc1iaKM$?CXTk$Cb+LopTEaN1}Xf?1k?V}ibcqzWbIGlV$O(v zcP7BFwT$N;p=BhQ18wJw1P7PYQ5DUqFZAW?+Qk=?nC`iIL)Nzp@PsW^KjYD%C(}ah zytSZMCs5Szqm6~>C(&UPC5J^CylPVB9|TpNufPB4pj#qpm8SOz1-66!lY0dNstwo9 z^{<#3PL9_rZ5f;Go+3}2ZKH$Zs!EyL>#fCVKUQQs-=ly%|8g-5ZU8=eK`uu6m~#lv zzk=2j%>&tpS0wpAt4J5j_;7FJqLdZB``U3s`|PLbkY(Jh#$4ou_h|WNmE*{6S?QM< z^B2fAC7*mDE!kMmYJ{E_$}Z_)Le8*(yuZK^ zw}VBJSj>StF%=*2)R+r~w?4LT`N-Oa^H(eS zXRYjLwXncy@8)icJy8-=V_PmKIUh9u9%dghkp6Upq~-(-ZWtVxQ6usVpPrt#DcWmk z7RCQ=peB6|l9%1Bw&R|NpGG32z+0!f_a2@yV2w$Ix0om_XPoPs&f8^3xiX|sef5PO z-v$mqy58@k%1!spdp9PE7NLK}TzEL0-plz8MFe#IO_%0bkb$77x9NCK1%YWDw0je* zx|a9$r{z@0D>uRr>O>OOZR$_bw91#scnZGVm@cu>UeDbVb=f3#;GbopYs~9+48zDi ziBmp_A147&YWRQ0y>~EZd3U`IPYs9%2tgrT^X1e&l@pVs=J@ z$lq~DzxR&xrK5BDnrKU7l$9^)$DcsH8d=Jt(2UnX$lTb+J9^3S(6JZH4LJGO?4+&t z%VkP+?C+HtwHNV#418J4xZKf+5RrhoE)mNjb3sFq?6_<|Q9a#$oG z2)Gm@XE(~k@j4p(ysLjP@GO^t3*${QuNL^TT7_^awMZ%x4uWH#byc|TRn#$f&Obb5 zF?O_BUYq|cEt`Gq=$MJmX}iZzN&$mfcKDdl`xFUx7*qW~3Fk8D<{~gF;@n%r{Z#UN zD7Vdq58C6QNttKqCCaNvBPMGm=isX={d{T?psHlnRCmIte8ohc@?QWEZu=jfC`)nu z!I(uVqfgOxWY#H7-;ei=4OvUEOVy}%V>x94xJ}0BFGlJyyd|(+9^Y>!BpK3Gj<1IU zZvAq=^)e%S`twBGD6!P1R5kcJSx)o%DKMuO0+7n4(<;c9jZm7C6V%{scb`5jD`kRS z%Dq-gxah0cVWG;>76W6w#x{tzEdRB)EM7_?o1_^|2g>Q&Go0bz-nnUi2DjIO} z*amh{e6nWPW42b9AWK&A81IhkUsIgm)&=a~?9<1v|FmooK$ord>mU@;e10W!b(f(< ze1AVL#hGKlgo_Sakcdhpb;EfGT*_1D>6_DEZ-U~F?`Iy?d3lk(bMv$!3 z{d`$_u9q4bC7i`@PTY#8cZ=_6q#`V+TaV(iblT0ghXmtg zY&o)5Fo#$3(SLhcKsh1#A^}?$j=v|8CtkRIPcqIGC3w`lh;#uFcTL-r(Mo`{B}Lh_ z*wY*R`H8)wjeM;L+RK4>IemeOu-UUJuq35vGbj8bar@-*omOIhK5*xNx8*}#N-b|~ zhjV+=f)vlG^(rC&vo#m7{y_MdWMKi<6wd(4*SkI=@xh2xNm6F?6vKMU*@!7PGYh9b z)cz{!{N3VW$1BRtd&-nulBA6flMXQw?)o4JDEx(HKG}9CB3e7`zEM%KVUY+f5 z$A|N4Os+Rf3%J?4BJ6c_9@~Qw7rqs?66CR&T)3kW-0EM-PhxnB&igw@e12QZ5VRQl z0d?)r9lTrXuldC82CzVqgvNDV4@r@Bvr0OvtwsuXj-wLZGVc=aDH}p)wXIhG?GCTa|f99V~ zm;cczv5$>RXXp15W7_7T^}Zm}a7Hot7Kd*fcKnIGI`9 z;B7Qpe|^hV`EPX^7DcHn&~izLTTqR5qJt2BlKJp98rjKes8hf1?Fq`P@ zhAXzqdC==X*D4-V=aD%4c3)WrO}8E3D#$l(B6b)5@X||GV`M2CKq}L1xk(09w2mF} zc<=q>KAk8mYr(qOg#+0Y6DVY@=lzS3p^bYiU5$()G5aP9R`WjZYson;zHOHl<(`3`|7E+#||i&;)d-B4P3#C)o`jk`V%FR%Ygnr}lE(Q`EON$9+`NDfv(T!qz>BxhFq zJTKu7g4q#&B|Tb$o)BZ@3BuAo?_6@jXQ6z9z);D7mVry*rljW6xX}j20)Mzv8XX!^ z_p|-t?Oih$4j#F`T=>fvs0;@g4&cBDV zX1n4yP7{rr>%hzPB(K${0UD>$(F~|dC)jjUwfk)+pn64P0e}V!!KRff-WDCmE>e8@ zJsygo+}{8eL|WKTTTpL&N6P{ucq)5bmZkYkUK5o!*NBx*E0y!}0>8yNYbrOt0rspk zy?R=c#+fn@jaWVxCm!OiwJ$cP;G--eMn(|cunD$5BaiGsP_X+p!$#lc6%d$i@ICNW zjjc~@o_~5stH-LQ7cO!HINYs}Xcx{KD&tG0$eb?4TndeF+X#!r#-mWF!P7_`MU9!~ z*$_9z%b&oGZ!uQ7%26RBOj+0Pe-=!!jq`#eW7XIJ4M?4t-X_NLRYcO(MwLrpkzuCUTjUB&1|{X z{cC|7fAS?bmg1kCm?z8CA^j|O_U-dy_??f0v%9~SCd$vf(K|-p@nRtBmICM7>7c2m!=?ba!y|S2HD2|`iFzCIobH(=ies}`#ok`BRt;$4~5^&C2oaD zz_p6qmVErQrE}x$u)z~!mNyk4@7sPjIxThKp`cu?xM|937v}{ia_SV!D;?VrC=Ouq zV}7iNeH9ACmeHvi$ecfT(5{N_Y=JwQolX~X_WDuVp?N)v1b18?Xoq}%RrHNI81qS7 zTn%sg2pJkG5OKddWldYDSL_+F9PQ^BsxdvgwV)kpJ1YU{|EmJ&x71B8bTj7;l^s`L z6wfna&Es`;=7@6>i_+JM;ep~(kSb2CS+K1*J|sY(w;LXsO9meSkO5uFTpUQT=L<>h zRuCkh6-6sbe;~zaW58#0_H5dAO88Hon~Z-N5*rN=JC`sB`CY`bl}p_2xtW_-+Hfmx z>pszWJ@cB^(6`Kvz1=vc=|P;{*n{a!r+Ce7ofZG}wzI9rHA$sLWu(t#I0JZzVGmJJcL7>*eLMhOM~CNY~?0i znMje53?%guy|Nci1Fc+3m>}FC2~x`)*#BXIr6Iyvvo>QRrGFY~XrCTQSEih6rl&n!@oPQd2GDyGesX1OX3?3iNCiE{hMTVv8TR*UwgJqjBxwXf0r&s3Trpt( zWqdBQ(@`ad>A8FfEh<0OX1s9D^|r&N@MB!EXN*#Nde;DKIewQ1&_p4>V^ryPC*>^C zsY0APebvPZ#XjF^ey^-cWpFDH0BEk+76SB_@&tq02EX)tN-qq{UnD+xq2Dn;d*l|$}*YYEXR;uY9bPf< zU8x`s(a26frLHx${&C1*^8aokm`e2vhXY_SYypIMtNI=jwLhbHS|jd8$nOsJ&l_T{ zOXE&hM|pwMgInmW@Xq!_US^XS85wDgV@522xq?k+#XP!Xj;zzAykj0yO)>K^;~7K3 z_NQeEbx>g&Gz~)3@5U9Z_h|3;_{SQumJ>QL8UdBPa!BlP{67j^S2!4}S9-FSJ*+!Q z(FoK`jvd7oa0NE1+sfV(|}JLf;?TA*F~4W)knaKL$9=CYxizcYuEz5`;t zyS0mxT7u(PX=6Fdo7PfJNKZ~xS@nvZiHomuqftQJu93c>*ZDf+QP4KsD3b%GH@0;0 zM~)n{3j5Lp#l1ZTv}gQ>wc~$3Jmr4rpUYV5NbXBNfOpNR1Iz6Ucjt-uv}?D6v-1*X zYxYJn5*H!!*ZqwJra8M4&L{AOpQB8S_JoA^jb1vstC24ASXuwV0beV%&WF zw_^D}*{J{Lu_?nlLwT46n{NKX+xd%%X-fgXIHTTg4#zz`IhF6t*VIf7pE_)-g@hPa zUJml}Y5Tor-JMudtpB-E&OcZBHn?*AwH?H4S=36`X82xfBS~d8T%zk?|GIC*_;tKcq)-=Fik)2uT@mm5F&08V6~w4 z0A|+NXY#j*64KK*8k^kRrZ{KYSey^`Jxyy@@uqtt0LKH=H4j^w1knyXJHz>=xMk^6iCH<~cv7 zGJk)!-$>PXHnKCm>#PFUX_N1Ga7uB0S&+G||eDd8@9NSBY1NZVI%ouNeqqB0~ zHVT7U%YSd%609FxcXYn#{SG>(Ld$lb41eQ-zpb)InVgn6@AXA;pj3K|q!o1Me2Ppn z8&~fLnMug_B0-?597rK$i!#BrkCgZ$8ZK3c86lvI+FafY<}E{Nr18Hv8VIo|yk8zd z|G)QxgY62n{yM$=S*~3e22#6w@NXW&^t6RNe{-4yvmg06Ijzk(o|c=~I-SI81$_0F zb@dP%dER>^p#NILKRcP7mftoqZCaPuV$ERzivn|jwQejIbgr`@L9dOD6z*a@(wCBN z(i>pF>vmn{=z@p}^f;H;GFyFBXZcfFX()DCgMqjIzGzb~vBTl&(xpZtBU%sd-r_V^1SdXp2%nQ|NqU8tS_hVxp?dCVsq@<3!k^^+D&dy z(58B{+N`H>+Sv03xded*}Zt()y@X^bAn}RQBKLBhKlcS zDk@*qV?JChHM+R1$uV|z1BfzjsmaIoXW5beNH>`c4R;rXFZOg zNJSc!qckp*Fqzenmx4^3Fggv^-h&05n+@h`tSl5|*8l6IDKq^K!HMVpVeBoV>e`lV z;UK{wxVyW%>%uL#dvFi#!9BRUySuwvf-Wq$LvV+0?S1b(?|kp=efDi_(%Sq1v@yr1 zQPQibR}SEJf8FH^82{&`z?KO4zp#A&N9{Ps{*hL;+_19@U2{6wzq|7mAG-Ne3p^VYs5>JNoamC__<5Q^ zl|Ufm696q~cK>OJ-MiT}#p9cra#uN6+y0%)xfg=s*V0ee3dA%=UXkb$w3LEVEadHY z;A#@bDwx1h%hrRJ;R~)!`VE1`JL!$oVoCX>sOZ0#lTR~uEY{)r825T;n!)iI7ObU0U zpFw>h10^L#U_cPz-u_d3C<(1E)nfF4s?OfoMnlj4XxqP1{W`F zSSBm1gSq z^HqD1C-ZR&vffuPw1Nu$s0<@!9Oe{1g70}faP|x4SVEM>?*lB!LmtpfO^9=`_4ebE zCYXaog5JlT=+cc_LiX;Fd5v_T@&~XsEC=4BPRm5QXcS;KoE4x{!+nw1M z%JoN>D}wo*(O78s!*)iN@ENdG%9e}>ClGcAIzMh|q*vJFf5-=pDR1Cn2UF|Nm}^zY z`Yi7WhS@ZG95|-G<<9O_Y;qxswTHAWyjj)z#hpHHfhaq&5q_-9dK-UdzRcN9?Qd=3 zLo965in1Oh9(MkN$s8=UocH~`C0-bu5?NhKoS8b(Of^|lOMV$L2@En)n0^^|mKIDW zZ`rTT82(!iTwl>3qSc3jTvS!$0P&S{ba0Bqsc-c47T}OL#1LtR?`wR{2ODW^Y;6q` zI1d|}KPS5mGVcX09y9p{Eb75X(IXhFW_byxG8zF(29!p>d?4ngwPG2U-DcXjOSju`K+4f3=)qQrYMTJ| z`-i`IdR-)hLF4S-ciW7!C}%`$NCI+UuoD!q@%99eyWDs*b2iK?PP0d~!Z!pTWa+*y zgc$4l?cDfzn~ER3w_7N8!32p}ID4xUBhPB0Ec~`ZxY)#Q(>iegj9TahbE?}+O%4ji z^-C(a4zApzB#%dHzgiv(3_u5S(l!~M zcPkpiyqf}P9Z-UE{CJ?I>{UZox&{2J2Hwv&$dnVXpm(a@vR!oMuT)t|xf-FS`GN$> z%}H!gL@VDcs~Y74)>CYTYoB~f=R}9h3M!Y`enDiSYBSqwbRE6U*(L%G9WHft*AnQ+ zO@tHtq6YQ!nu>BNm-)6KGP#k&BX7z17M)$5DR%{Z=U36w@6-=F3S#%YK8F+>RX8&L zWDNR&(74%b6Kpr}oSUs-6cHM%AO^etS}9n3a?{E+g=*INcB&jA%iv`ylLelD>@Srj zp<6?~t2Zjb6$-W6dyF-^L7((A*DKi0rWfXBPB(3>U!+H`2+jh`Feo-S#!68tdrz{3 zAUASh@V|YONWhpx@rGhXdf;GvL$du#Z2B80ZW{D;2+1NfOMMkz^ju2!5jQ(jUda$P zfk$mue@KLiYAfMK4L(DMlzrh9M^gqZ=*ZAnz*ns*C(iG2J^qN#d>wJQz$0@0pj90#H~3|GBiBw1(1?2Z-B zq5!all* zvz=r&V!>?kN?sU*5@x zezlekVqCA1-(-Dl@Y#)3Q*B7y5MDL03dDit?pjLZ z#k!_K0u;zf{+@RJA_+xk)O1JwWwQcBVkH#%PD3R|%E?fH37H~Xl)6y_ma}Gq{tcYt zV@YgD>=0i3F{LGDeTfT3C&jr&oP(Faja^CDlET(X4#x=o9GTv}RwRpwrnxS#0q%8} zwx0rRF`K@(YpUEh$7a-{neAz+ZX)#a0pmbHAYZ=giWxrr3!E&K+z3jXnN z0zge*6?wlg+|iRPakS{v?x@g%!1X++O<;z2PX)`(Rr7R+1k^r(Zy^I)E9GEp)!{&d zY%#L{0u89VHk9!UQkyp$#Fz-H&&pNt%tpd^E@9Wx5uif8Qxp^J8|>gdw|VEg!*wN# z0!fP2W}=>rfLjyt1%Teyakha1*6#zad$t+19#_hbG?YbHPsQuUhhU8Mn-Np7@O6o; z`4R^8#fnzW7(ns7J)KXvuX^c;XzK9ODdGkCFfx*5(C5<2nl~TgyBMV4SQCjmOW2bX+IbP8_|z{`LJ=$q24!UV0LNZ>glfq@o>9RRMSHNw zXhd^;CmB|=Fp<#064iDS~yBw9`6;TR_bFiJNv<6z70A0B@zr0-_C*HwxOoSI3UYvgb$S%>~Ejn z68@l$o3G0nG?2a_!V+lbTQp9=N{`O>1_C)`=1t>oK@ldobe~-C`)W#_B+y^d5A&W- zN;03kJ55VI*9(S_@`}A*5#!%VCO<&Y!MC z*yj=>e(*B+9*CWKzs6gj=Eow6-fZQEx6_N0(4FOfPi`r=kX+Y;#689*1+nCTehOmb zn1HaNU;PXp#T$v9Lw@hu!=^du3i#o0&VOec7njhw+>{g?x)(j%j?bdh%!^j^LWE>F zr;Fo}{84E+p+rMg4dD;eXBB>I%^K1DEadUq;lAh@?@#~x5On%X;Zgx(&%PmZB{9}|ei!eE@umL9@@4YhY6Os`@J7y^9frnt zRf7tc9kZb&10Hir<~k*mYspemQ1n&uf9Fno1h2bQ;A`CIoEacQ1)Z)u4${7<$?Di= z@s-M2UZepu)MrC?Cmj+ahc2Y*slj42^}!~BpgAAycGqKmWs3p`icv~6$Q=-?4eKk! z3zy2MV9<9;X&6iKB$AYhhb$YC!AFss7SW5?Ct)2W=`0ATmtRJWZ3{Y>SXe1w0*PUh zgtvQ>giyhp`ISHOTHqbn8>AS0in%Na;^vAqN?C!}7(jHtK+rgv-6-Cv4Ns}WQYV!f zix+k+ZhW`fQccu?7S4Ol_aP))Fi9)Uan_LjE{izU(B?`|`ruZ@beIMMG_ksI8?h#E zA;#=kmZdlgkFKdBeWMJ)2iBHzMi!8B)TS??bi6Sop*+o=QYjh_Gpw~uNB>No*R*wA zHiu15Q-r_NisQ`E+5vl}y&1B~E29~ z4E7NDk1J=bl%jCn3vKNhzN3-5^SU$FRR%CL68Kg*iMaj11t$Pd>?P<{FeI>}X>{Df zi=YCX2#6sB$4g>39qlttK|~NI=}xq?>9A$_SX9BZGM1YyOMx`D3v#jmP8gSb{2V=P zr++wsPp2l9#A2$~sg_A5Jz75gH)gzX+0!buxVimfKk?!8P2hy%(U;0O7~31x4eq6# zgXni-Xtmz0iqkms5Lf#`^Mo;SA9vm0;Nb5vN_!y8S0Nyb{qwSWov2YB?8KctiYOkD z*Ex%hi^VLn98)i-!sdsjjJK5*rTt1srWY0K#;%@bupJ{dyYmCJBE=NuvLMfPBYrRZ z{#|NX#bDJdJDHasWr*hrk@-tV15H_X6N`#Pfz#H12n2*3AgLQ+V~DCCD049wl`PPh z0Zbv)U%L<@O24>C%TTKyp8v!`KJ$KCK6*yj2<$d!j`wE*SEFg9VPYDIC2c*#t@f}+ z+A}4+uf>2RxEL8dm(SYD*|=m8Tz3JeMjwB>9JmMpeA~g_@fFL9=8OB4qlOa2^v5L< zcqK%#N4<7I#Ks^`1_c=E6e4WkeB;|-Nd*%bMwOOVQU@G7-EUj=p1p0U%&Qhk0nHEu6Y zpDpXRf^ri3hJByQ){>lxww1J?P+fiyKE9vR2!h#C(kaHp@y7f|zx&rGFc1N2-cTJ0 zaV`dZYy0)a4sVR&Fs!bQT+>yeQkC4vPdttLwy5R9XSlV`n?yR&y+q(@l#PyGO2Wn7 z6Xz_d<{t8)2D(2%>n$BmG+xs za)_wP*9km-Pe$myy@&mk`^z3C@pDoFl9)LjaNTbeX)aVDL#`oT8*|#Xky!zh?RR{j zn29ckohs-%lpb&XW`2jBETLr(J!3wOd`IX9K$u1MvDwV`9pjx$l{JeXP6l!5Qoc1= zQ5qADo#Ux?qVn`rV=O5B3mM6*r`p=|_I|WwJ+QnP9Df#-pYc^R^YP#zkkH{EXi0@GCP{ z9A-}4O)A^V>9U7DrTBZNfEbJb936NlY^2f((+ZEte^BNgRD!7Ejn?X#YGp>7 zr<=4`!zbJ2;T;X_ec%3kzy_;I7(j~#3_iQ%)s|1Mph_2&PArZGg#v1$LQW(ah>9?ru6jUUJ;+WF;CdX9T3cvp=A9TS z$cOw%8FsdWQH7l)=7K$$RXjM|I@J1|hcH|6Dc(<>r;^dlsFxJYZWc7mWa{8yX_B;U zNP@k9h6{tsr*@RQAcCoJFI(4!-8Zk!{^ow`a9%@*SF>lNS^s2^OIDWwZSKAxdv<(I zf$0f3*k1b4M*RLNboR~Fwq^}~mZ-$Aj~!m3;~l}pWn&Eo%b~X&nx>9Yibvy@wY`mK zEk+S-8&a4Y!`Yr3L$9$il1*odlcC+04RFpyyD>>8Z?|3EKZcJO-8b3|+q@E*MQsJ_ zq0RZ8;?=u-0*eZBOAXUVu8-0Q`7z1DcoF%1Mwq5=Pry2c?DvQJv88%jFH8`NE9EC? zEYgZGUQ#-cS7$bCOfP2_#ctU!8L8ZE)wv2xa(p5GPlxypqhzr|#1w;+>Yr`c*TMD< z@Va-_yQQ98OC*$W-fd9AR3}g`9L)cGYoq+^E(xwCFZ{G<1FV-oD)4)M+k!1Q<*rYb z3VqK`vyO1}i8>|7M^F4Z#33H}#{k3_^TysVN$7$AUA1G><}VB*f_cOi%R^CHZd}c) z*blOK(O^=(NG$Z&2DUX z^r^vcE-bDYa;8}~&5M`ceGZombDnx4^ST%7B^f?o!VfvOyqlyfo|kZcujv7F0OF-a zL*i9JYab)sjIwJ#G4A=v1RWN2lX^<`=SSD{4J6n>$hU zELB<)vyv5sO-j{MOCgjhW#*p@S`>(cP-J`z6-2s>#aVgAGO_4@T$VxlwFkXw;#uv} z-Ifu-T-DMcKK=_o<~szCN_sNk2mJf-lR3ZTdE{LSd;BIAP4^PjJDjDgL^A=ok;xpE zlwBcQ8M@3{kC&@#1~nGe88y}ciSXyl>xBR0NrDqAjfvtNmBxI$ms z&Q1uHxdG(_d#$MXN(FMgKrc5u+sz{hQQ_-kJ>ddd z$%)mt8)dh7Ra}X?42JvN{v|nv4P2UW#bB8)WR$KbP1FI)LOyAg%3I}bf)H+ztF3Ah`YVdy z-7pqC3`SVM2e`pG4ZEgaHe(Vb>ZJk85AO37XzB5s@m`?Zm5qOnSoQgOz?y-qal+GK z)T~*D0Y#;IMXb}RJPgRx-LfJ{E(i`qy=ibM!yg3!F4tQiBu~2 z9$DHqF|+Hq!!%(rLN6m7LRYyrU|g9bORQ)ER!4!l0%44|kysYhQ^8UJu#r2((PFWL zyHlGkxo%awYHZ+AzW+;kElx#~vbSuGdZz9j6aLe0_R5hn9G6{v5>**gQHqjTfK}&% zz}<@xnZns@R02?fGjmm6Hn{;#IySG9euUGc@3hCnOurdfx-|QCf>W!OpMucj~(f%^pcIz@_n#$$i zWRI~a)x8`e<3N;<#RL^B-E}@V$ugXBGkz>}p&aw&_Zzmd$a^vqZ@yR*UaWd2UhJaE2 zO3A$0w{`5zQ~aO51OL-qMnD14KF7U4I#E{&Z2XL*P!)u@EWny++9+O+9XBn`;&LC( zyT$b8C%Hzh4(4g*)jbz$ehYIpg|>dlC~Sckt|CMF1X0Zi*=Votf(#5oLjbW)6`q9J zXJBA;qomnx8yhxgDmQ3}t+^LyUyXiJ+`=oTc}-{+#qW*1as0qkb zmh7VZQ+_uOtMqo&m?W(%9B+JFxxvgwc~RP4)dESv9Xa^I0 zQhrT3E=a)lBw$l_8CIV}%G=F?%k_g!aSu1Y=mA?HyNN_l5U$8<&SI^w&K+X_X4B>A z_|mlD*K%G0GP08A7Wj5Xi%3H&Gs|zU9Glw2#9k*6T6T>H_-1PMo;}PUGXAPuyB_5E zCU~@O$8|?h-~N6tbL(MM^JW3smLdQ$ z4eIR0+gjyEVGay(4QgBI`RS;L&YG^ZxSbf2C6b%1E+3~?o~B~m^{wT6$u60$ug{QM)lFN&b!bO_uL05d4u(*6 z4ges7f`@Z(Bml16-&XsfnKyGwyw?sJ;gTxwvxq%A#4>hZoFg`@1!%>@!JOK(+4tx` zcUB|#zsbk^`=b1*z=S}50^N-io@63$=5BD`?QMDXa$B*Cds`FLvnY7m`Zysz6WT95 zlTvdTvCcuCshpyDnZ=@t@qEc4Y9Hwx?RKLEuz>0>Z5E4?w(V3#a8M~{K!j4)`>)k> zyM>A3ZF(=u{yqHvugriU6>`ulK%~@7vl9P=#w5!7_;C*Saa+Zj=+H;P@#Ap|>)Fln zV*{grSJwkZ&hRiEUJ=&}$D(=~aU#PNgppaufu!bwaVbFwS1Cr^^%o6>zlL#xwe9K8K#$+9$_`0?Y^ehnIX_ zv>;wl5~%nMQb_vmf#ZJx%HAk2akGGQQ7?N!iM6*I5G_TAh?f>@?Hj`06$u~BtDZmsxvHG7XGskfs8Ls1 zdPw*ypwWI)za&ZiZ}Tz#IuOvyFBuRnsX-{1O?sxZR;ntjUH=Sxsk;rBtfJ%BU#Bda zj*Wv7zSb7kJ{-5s)%y0s^x@}ddf?^7V;37fE_A&ACS>7#8b|_`sT(hcM!rEjuGU=( zy$4DlR4g5iV4Wxo6U>Q9a-?(szZ%V zILWL>e~Vuq0P`@SJX)_1+@W(i4%?TyI~=2mua)OpLpA3GCqy_lct(p&oXOc{kKf?n zsbcQIOioHDTS2tYJT0L$-9}Vg^fU3Q*`aRcvn4L7F7V;scj0f|m!JcX;ccrwSzy%E z*MFL&i-%CfcQlI%i=rM7C;g07#W2Alp}tUk^21ZfIC?-Dg$;>Vba2xv<;S0|%5 zpS)ce@k6F9UDKj1*AV15+(cg~g+{(_oTbhIh;VfNQBJBILE&MLZ6E}X_!8j}Ufoj6 zr&UqWeeU{v#Fct7zOjV3CFY>g@(Q}M4m@7+ylYjxHkRsRF=5Zp3dy5VC*6A8;n-F% zmZlTp_7E(9nYwO$^417mzH)~GLMP%+ZP4Z<14_>sMzJwtrQ@e5Em5ZT7Rqck3%@8(>5)G}Jsbk4EuAu913d0hbsdsSibEiFF;K zI~}&tbvgt$G^oIT=%DC>2Bkr_RF5>*%!H-k=5G#s$~B9k1Dm)cc(7S#)MTIHa*^uq z5?Cb$u6*gMzCEeku?TPY7$y=bC^p+*3n8Czz!1!tE%(j7&M+JqD2FVH2Qu=N>B}_k zDK~#}lK*}eP!#+{GivP(C7^)-q@e*q(;|5Xy{bEHO&f_C`=TzMrET#o|C1S6teD4| zA)j{6Me;73EmUBlP7Im(0xy0OZRPf?kQuwSbr9#CIsE0cLkPW)!K!9fb*_C`p|jP=v==aB+g6}9++$zt!%76sp7_DTR235-FU2_UXj z3cV-Nf4U@Lav*6?9q;zwo4q?w>ii6j_)Na^5>Yes(bLN(x|1PkiY!$#x{|8Uq#vbH zsCR(HPYP^K3kJqwGt2?TmR|Dedy`SDPN5?M-#s*Z4lKPIBX!+F!E+C5)_s0@a?(o5 zj2b?qdy_eVm#ls3|0Ic!1oa)w5(aza5%di)_T%W_xODlr8_`>@cw}7G1k*4$(G|19 z5mjkv%T%ZfaDl#nVG&EYPaWP^4NF|y3gG=w z4~HqI=CQ(#j;Fy99IzQ*js?_=OGyeB5Y;WvuVUV>19L!60H^o5{IbZ|wCb^hNfUc3 z5_P?D9RjKmrF?7A{4?H2v0{)8n@=&2e|KrpXxdU?lo&OMtpZnVB$IqMm3O}(#fUbx*=Xayj7*j!lhkiCC za@RbtE%@h+y0&Or+4&UANhk$w?GTnL)3X_^@w0tEnFp?c6Ju+p3-9B8g8IL!;J!dw^kmIhofbF_^om_-vt~ zuOCAs;XlW5x{X7zD8`dEia}$8%DWM3kZcc{-a-*(%?DHP+^8B7Hbd%t^@X!r4F9Pl z3SiB2TR`17M-0DEWyTi2^GvMqAS*K?Hoa??cO@tE*Q@(?%Yt0@hZ0z>iahO&CPdH} zqpfgpP!lD0qAVIF6ZhI5w%VYPAGVPLv-+em(hDiF(rG{8YptA0m?uS2{ue9yH?`!+ ze7f`vqa+~vlJ3q|e!OoXLO9pUpbAr2?;8u8%0;Bfd~B?yN(9hG?rvVq=}r?U-kD7zQP4mn8Ig{Llen%OKH_6a z1dj(Wb~hNSX(C_{M%!m;nlFv8GsBNpR(q8p zC4YU|8%GA3f;fZp_tW$Bh~QDCaJ(KI5$Ez59kzpZa2S}k=lU#&gLt*l;=8^|kmMN& z%v1M-u~CTTk?C={3>17y{iW?azCrP7c0`>dad^%ynjt}2FeMK97y=#7e>Tgipw){X zPpgTn0Rs*Ekleb0%Wn^CqqbZH%mIP(4IKO|(CU2Pfcq}sM|}baP@cYqNl~JC!Le(B zjM6}Los3;n>k{kjhccA}AcKQC+$tCa4JtQ4w$_Zh^+?5rw=~QeKg*GU`LH{{0>?aM zMlae`yP0$Ul_qH?Ep`F%2Z^X#7*$aQRDf)5;l^4SXEL`HZd^=@l(oSnTzCs}BET zbWI6nA0H3e`YMH!%Ivy_{0i~Y==yBiWe_`=lAz#36=o(wTbNT^3MHo?;q5W^u~^%3 z;?9r9>spyM>uP<8DPGvH3bZp;(Tf04JOSFiX01Qd{aqxFEMy(OUo2n#wXFVI|TRjk1V>Ez*=lJVP92i!$CCpu`jq^Uy^ou7x0fcKE&m zgiqKDI@L@;RXh;o8zT=KD?|A^!u+!fCj~Mk){YuvHu4)t!Cj04_7FAM%Z^oOxx)qN zr_5aW^_=}nGi1S>-EN@6{a-@^!g+|BK~^Hd_YRsZb=pA_#H4W_ng|yxK;-~iKm-G! z40PZ_F-XMi1^;tK?Z3~g79`Fg_M%NBzu63^1{Wx0pinO%OD{{m=!_!5?u9%&;rxLY zSi;$QUmG#~(>H@|iGP;A9|)3%j5W{qcIy`hZ2@yYk&YsGz)Q^K{Y-+1ln(d`x*tUA z9ao$vUT$IG;3k$Bp<C;;|CCTTcSW8 zd*)7@fl{ng4F>X)nG2>ke&agBf~=B0Y~qfMGKx&~2Uz*^d=dE?h?P9C-Y+!6bqVGH z%al@`6e8x38B)KVNDT#af>aKwgcE(%>u%F?E!VY4LJa@QPB5&+=mh+jj0?MD4K!1P z+Llk)-M|QyVPTzHm106#miz1dOZr0&WrC*4yg^6(2lNy2U6>dMVsjL21&gQ<<`k{l zDAA{GgW9hj4#C$Ei;K@ZPKPeJYF5wog#gl~LULfPHH? z=rrLYHgGcUc+SOU=qgb&N{^OzgaIu-lSN;Gr+we%uQQGTGUTAJo1%YTwHp>>T|uWW zCPj?w1FCo?S^F@iMx24Xja)6_wg93Wjgd{BctGJIE_NjlU;14S`~QUhIYNH=zVtLS zbDVhH=10^6rQFQAkd-BuKfc#Ee11^$bm5*P5Y18})(xoeWg>Wj+)2Jr!$VkGV2SSi zVbp?$t;HdB=Y0qF1yk2aVPocnJG--?`dX{K?dzd)-TC{dt&v_VC_2Xy&8QiY+hWYb{P|T40uOldoEh^N)Dzfcy4rR z>OKoEpytjNTRl3vB7%g1o!K2vA3VTb*^gmnx*^uD+>5D1e;;?i|n-Q-~ zmq(HF#SA*T5_cDyLI{yf+rJiXm+x+IwmL|j1YSO9x0^k;;BN-ZES`OnV0)G)hv9o@F8VLrVj0y4vXbhug(PFohN5f#)6giNwd6AR zht(C)Nu4?ZjlvtIaW(abe$o!)Y6Vd;^2NowmD#71Plhj9(MfX)=hwaMEi7aP<0Lz+ zRvQ5=Zx8;m>KU?Zb*XA+BH3{TGH0USa!_P@)q_%? z_PJSs{M4+#Qq;yUy##dkM`gKpo#f15Gu82**gxC9h%=0cS&-$sF|DemiDs~aYOY$t zNN#X!ZI-Vep+{fO0a5r|=zcxRL3^O(NeVFCKB+1q-=rq%NGh3V!phNU+v8{EKxCWmh#%TC7ciu4Vt9 zAK!<{-QGhB%&l^bvYay8RN?g`-|@u=Enw{*9TIsatcFZ}k)1h8KWJW`b8)-MP5x}f zOmDXH-#|O>pRs3EZ!h1SC#>{&R?9r(Mf`cbFt+=dcATKgv~f+D=Wf>?(1$~p?sgaq zHpOHz^;9!>G2%vzL5_ONDg5lJ$J~B!<{%K$Lwm|;wAXXLQ(JnaiU+RSRgCSb=!al= zz@QVug6EbOy)2{KUI(AdzfL3rRt72rr26y%|Ni0xeWw=#xISdfq_2p6TlX|c)C}EK zylDSwMTA+i9@M!lTdLPUiJIO#(yBjI>vU-qCjLo3h;w+ckSpiLtAm+`(6UW>wBviA z9U+Ey<%9PIf{p#l2SS#66a$Drs{N+~wKXfg;3WH+!7{o_DH#vsxkn=7w|uwD9(Z%d zI~#~Ku3L{u?9El#M=E$uCN2M-o(@z=@$)>W%c;u>X_dLH4uqSu-yx+_nEg?l$tIdz zFM5^kLRi71Vp4&Nmlhj^9PMwcun-q`VXo1-o2t+KRm*KpIiv0eKDz`coX8=?ru>(? z=uxMxks6%PPRWLEqTwR^+ZkLU^&X_3p8zIjlBw*FGPBiKUtb;|Paxpt^o%#AU6?Ag(}m6fHa5fNN6}86MhV z)m}v-(CZ~ZU&_Yrx2%U(LjcHJOu1S%!-P|zjmemXdUHN>D{3eh4MDeU+lB)UNXTZJ z0%Ad*HpM|yJ>qz&Vj)8qPAKo&OMB_9u)Nq$Q8_U^BuFz3Jo`QP9qIdfU7L2u69Kg0 zvR-yi+UEJxkQb3(cxS;TSY2IfoxWb9g)5(@%PU2E$J+5Qu+CdvtG2MsV>E4X>I2ru z_icP~uJcgcOKwn^`egUg^Sx+2^+p@+g)L9C_I6Gcod$02%b?WSHbkrmrte=n_QFb# z;Gn!e?^FeKVGb>B@7qZnD8O0Tsn(cFhj>KHpQRj~x`Os(e($vyxG`6#(o!iZ>YKOC}Tux65_aP0GH-2Z4vOD8e$LvoZim#=thWHG) zhm5h8*ynXTMO#wlcXJ~IO076-fEsITl*6$FNLD8DXod5lH>w-X2B}Vd`(2+EjZWGN zg%vKIYZ*`fA{xVUP!e6ZJV?!Wb9RI|YGuUSS`X)0_RzL;c(u7P)Ogu)3qN+3yx${x zW_jo8*h5vS#=I-h{&Y9Iw#kt~#E4}x&@dzQC{5e0ZLF^FDO#x%!K0>1Vlg!37BQoF zkZ9vP0F&4JCB^MvXQfOsNROeBKnVhR$?K`~*6Ivsssv#lWkZHcM4NFwVyWjPs92at zI6C6sa@3QMwFy%00SlNF(;}s5din*j>>SN15Lr{bCKSj=+>$>5yV}#@qdzNunY!f= z3JxAfCzCIi*gb=bn;mvNcK&K7sEH|fByX0kDNbRuTg11U9VlL>$T|7 z^yJfKN|JGRBN!+zws?jv*ut-rW!sdpZ~TL9Id;SmZQS=i*)Nl=m?GUj?d;vpCh~qP z=E59ZacCqPtck18q(|NlSZ;+EK?q$h*TANH^*9ABYFe*}I={P) z1a}apMDU5SLlbD|E=qnt{m!U%y~3`z!ykaWGPum{xN!6#w)j%5q^2+Lrweb|`Yn)k zo#zGt;nsH~)dR?JRsD>j-zD{V!?;rHQCnE@$<-ocrD;2;o((`_aM;~1$Q>@Z-#EW! z(0f|mIM}}&u}pPPK~w=-Bu$Pq z|DK`~#d;L!c;w~%kY2h+QVqCok?83#2KB_{pR5N}ujBDHoS`4=Zrl64>J!rK+2cIC z=(P%TBdqGL#$?^?eSqLK>Wf+>Fqw~?cpgm8QH5Gr#S5qB^JyO{xcQA^<8eV=?T!LW z#9s|Ry=P-FFwL!v4r%W#_{6VzMumuy(tJLbQJbgFnTU@H&H76ILkq!H~GG> zGlE*IXO>#|k`>w|r=@n}Ev|j~;N+f8YfUyhv8@$`XHGQhjLvXvR2SV>iM?NbuhWkH zsEND#A$eugKEGUXft+d|-IvTHC~`N(dcdub7wu;qU%y1J7(TLGB(2$a>2itGf~F-F zc4Fgd%K;ap<815};U zpQb~^Elk9w8?xr?V_q}9^Sa>>60D&#O)%~lZfR)p8u7-2(Gzy))w`odR*FPREE4mf z&;(Arga^(Y{y^!x&cuPoKVw_WM#te#=c&Uu==2|c{lc3)Vze?`Ce>NKN9@uDUzoWc zVpj>BOxFCWDP~e6vV)05>g+8!u%id1jkI&^;^nAjYSlk<#vI#JGsSPsLg`W!TR{pB zFRosm4(nFncOl*q#Th{?cQO}sV-^e72b4I~f5-gN?Whi8>&jQp`mvuM8PAp9a!#_0FT% z9E;6reBh*>dJSmK(KN!KTQ+&-hog@N%xwu3rZVThpCs4K6OiXIU_`QNAUUkcXvT~j zHb2&o)cs90*4iIMx==x}Ns9iY8RO>DI3ELYUJ5~GEvL8Kv$Y3Lcj1zj73Y0hy)sIi z2q`amqEpnO;WLb_%-0~!<5pIfsc7yAn*RNn#b2eRlo$)NuxLXHdIO>Yez(+UL7~{_bcG+D`h#P8jI!ZeK(op>@E*47uFS* z$z&69t7T*EFJMbi5PO>hBX(6Z`N8L>8(tfi; zWlap*H=J#!U2d;LQ-;cndC}v4dA4oHfC7DL-B9Olhno!K0F4=yE^A=6-NugFqnu+Pi*ydV z#H*SeW`}sbHZRB`bBT7DK^;t|9PQqZki+@e&V%&Z_RlIzt0(IjA+ecEK?8keb^u;E#sG2&n{f_N$Ry z5>i&y*;WZ+9K&%)0&sFRfx9}4*$I>@_6X<@H)y#CjM(cu}NU%zKje;?>2cSF2IeX=dQ z*~bcyTBF{RTy#H;2v%lSV`{7;Wuim#3Tg#(X&X(NKq&N3fn(46@WuF!czH2LP7m;L`<;gQ$8eGJ7s*F|de4!YAm5)j&B)TNM zo}_Oe93B@Yti;?8R3$f?$QkY2|E7M<_4tS(PI*bZyaCR3bc z{xx;sCKaTR@wz2b^>?6hC)S>A|QyLPSi9eN13ta090_ejWxJ@yl*1v}Al7-o8d z((Eq6sMlFd=Ggh!F74*4lQX_MfW359afWe3)G!qsXfEj99+SMFcHG0wb zg^Ue-_xo2UV5~MV5Bj%sHCK^n>O2m)#M$_-oSu6tf_`@j2+0k{kW`HUO$~ba?GBx!8>J}A3jT6RC;nkS z9{C49BfO>d9cG$6q1%ji!JQj6Kfy)u+7`!lq?Zt~Xolk6+os?vDW!|$zDuRo$e(>M zl`jk~bdm>xpWk^5OiPX#%}Q8*`v`PiX+^mUe5%^naoiP!rq^S`!?0?;DKVq_Yh((W z@)u>}9PqW!2j5AJTa z*V_BsTc>L6eSdUSSO55`>#I5D9CM8KeZ~+bf@!CJn7l4vL=@6%b{OqlSH`jc)An>_ z+S>AIN6}?X3fKG~0VTC~pIm86Ss%%wv`o_;JKfN z+KE_)V01mKrv7ILGI($lZPb^>kV$dY=GBpOPA?X zA=c7wt63CTA}8IBeu+r&nv0xZi8eF(FR!1NbDtJ?$OIx_zYM7)Hp4!>J=%cTDT;nU z%z@13Z@d|^DvBbui5{fX=ReUuzwgiMMj)Gs)c9Q(#R#U1QOgBcO4Gu%*S5w42K!jG zo{fY}6ib-?Du{N{+qM|(+c>2H+xX$z9|0#y@~)*th<&V>>iXtaYhDU*$qUbE7h{ZX zo(3VEaF`%bYQ|3+3x}3d!wk1fDkHnV+eL?5`M>evY zepK>S^zyY=a|3q=)s2OU{KaznSyehkk8P}e0_NZI~7%-^Ey z1+Ra<880#GvzJHmhANOMh>PGa59zrESX8sKaR5O{1|6M*krj?MHWwWqMGm%i>4pqx z*tn&&6QIxnwZ*+!w3OErQp0zi4k@Jo|15?PMuql;02``|1%D#eK9Mv|s*x&9N!x$* z`BOD00WXf5MIhrer}atJ>Mn>&URP9V5t(4RN6&*c(stUXu87l_svk@3Ke%969 zDNT+6q##GeaE`39&jIsh9F^JEN^De?ukFB)dBzB_)tqS#8sb8L_@+O>TyJ63>1@iE zF?)DgPu+=)4W=-747S(=G=qJIKe4pxJI8y8oc@FWvY`+m5C{bvJUgluOR#h|73t-{ zNtrZU^`yklY3Fy$smrDom41Dd0b_$}Igz<}E8kyKOuy&IQ)$odSd$B2<^7rrfplYF zbL9!ZK@E8L(JXx0y3Y#F$J`@87&43V%(iLWAk?K)9IPl?2|~XR0$7)lv^a{1k9R|~ zTbF2{rCrl1x@SQw<28r3uP96({QO_Y3{Kq$$cbtZ94OvU1YY2aRx{(6R4GHFXzn=P zIIkVh3l$jG@o<);dO8eJ0$JZy4)=Oq7jo~QTVFlV^>#CF1y4FivrTyPJ<=t{*3xh` zyUQY-X<5eJt^KoZPdFK)1R_oE)4T{YR4Rw9efnY2vId&HT8xsuua4`Auq_aNhAZFd zw@V7|7Be>Vv;IvH z-&Sli z^`<_XOt!13!7#FgWQxPdQKIH}Qb}&e)}vA~15KGjVZ+wiC=6e0pWteGT;r!KYIG&= z)g!h=TXRFUw`aUPd7A6+=n-Un5ffYB5fI{=ZH3tS!R0_;-;3a#_JrPU$*NCVeC2L; z44dZ5Q?26T6~5ig{*zgc=0Qi#*_CYknbSRU@a=-W-Z6-(9 zvCH`1Li)-vp+g{2O1Lu5oGjJLuzxPh(IpGdBG_GjKYH?2o(QtrB-!wm(7ixhyB*sc zF!Wf0tE>EQlYf71f7T|6FMEC`L(%1v7cN89Sy67baXJ&~^8xAw>72S!c>kN$!anP1 zmz!BKoZU~!Z^=zxFvlYP_NFt^8Pm+?-iQEQen&O_%bZ@Q{o3m4OaHxUnff$;(yo`B zh0_u1pb-%pbr)3NF9*g2 zZD0|m%{c8CB2Hr2gxu1&WyCVhxXE%&c#zYaI*JG?Y9oblzYd_w$11$buz!s_g zIV@Tb3b~6Wtwq~8$1C5y!#&BZLIIdo!s3;dVnyJ+O^)>RklqheI&cEk~<_OKC;r@SHQ}aeq4{@;N#uKh={ZSoj#|N z?u4LJjLXE1>DjK~Kg(cXu>uci!BdsvIajh3glECjkX36lngcdOZV?`Blizy%485g$ zvAH_u6W7oP<)E1dxAK9p{Oh}h3iuy3#fbACp`TXourz+e^x z<$}H~*ba|&f1#iJwM~L}X8%@|J;Eq??lku?DPnLLSq9BKmjgaiRwT1l4}BjtqvdSi zoXNT#KPz-t9%A((?{N?93|Q9#HLSHTBmwFsOJWB}9GeNw$qIPV>pmi^HIif?V``g* zHClq4xEXQkCak$9E{DHm+>+K%a>mgBIK3YnT|0(Ym9Cun9?7lyfT04h<)lID4_c;dji|oqRT7gSEiF8)^4GJYm&+|+SoCAeJw$~DRsmG;cn(@+acB{ zZIbi$?=MR`#g2*)*b=~MUuQW#6O3}TRJ0@-{5X9QFpwb7f%4ANho;BJqVq7j&ld?jCE zga8*U=!MUf3&=($u0Dh7fGd-v%Fie_h9f4U7}`QbBR=SvlM=&@NgXHeDkUV#M_X5t zlaq6mTPpu7$O-u~TRe_ollDh6M6+5%PHP3Y(}Q-ccFfNNJ`FPlvY_<#k6a6;_uVn_ z{5nfKF=J{Ls@1yDZ=s)SzrnmMR76X&ALm*A6eY)A>&7-FEOql;;EH<>L0=}kYv#g! zm{0+Kn@jV2Ts3a5jCpwU zUG!O0Ep)~c!R_CYCT*F3?Z&;RvsI3PI|Zw4>VLi(hNORep9|vHRm{zvZ|tDUT=M*e z#xi}=TDQgMM(p4kIqh#{%h@0y@F&(K014`%9J1*jwMlZ7e8o?ef^rw`DIkGP9`;|q7Jm83cmk4)4G+}Tr5v+-P)R8iYki~E1;x!eU9*`HA5J9yVhFcxGdo&nx<hp2W0%Dmz=-uD1l8(qT*8jh zSkex8lfQ>HEX55Yqz&$$wKD$N9(6X8yP9!vNTmCD<|{ zIL=I@J1gx<5cxaU@N%Z`WjEHTm!0D4j^8#B2GkhE;Y#C(&SJL+qgn6GpM1#N`O{(V@7D{M!`HHmk&S@aD@R^w8(VScO?;u-1Y(esMBTG`)V|K}KkR_y!%@rwQ_-mtuy7sZl0 zaEL%-ZO?PjwL;UGlj!%+ZQL5zB*)cUqQz{G(IxT6B7UrYtQhvqeNxMV&64yk6N6f5 zmkA*pE^W2bqiMfe^R?N&1H>`wo&nap!R$+C`jTNn`D4;Q^=dv+Dp#k_)+P~FeG__P z#9f$Qly8f-gzIc~BT87ltmwS*@XW#3GRqy0j~8v>*o!KiDCdYc#}&DI>n-hfe;T%Z z&nAAm-+^y_s<6PdS_I&44X1f9k_Gco(2~q{U!te9S%;I9b&^KPM8Sio_ycWmXsseW z_~GO*_x=GiUisA_3gxWVqq^b1vhf_ks7m@W4X@z~R$AEl zTzvrvj@nnB!a?C$#bII74!tex-NK^iOBF-+=9rIvbBFQFKi)Utl~n8{od?>cWr?$lqJ;WhZQ#&@z}|93{U z48{`t`0Cdjq#odh7?6AfcuzZH@MTF~r0coIp8xWG{bVkrKzVWBPafUSIY^i$aen83rJ;{e}^gZQLA0#43^)KO_Z5vsmo8p4j)4O;1#0 zM%?Gy;A}PAx-=m`rkgYr&nRO(Z;>z^yDjj~3m0O7Cl{co)1`N%C+te)oVmgEBhUVus-yN2VX0?Hn+mw5kGQGfK#NHR8tyJLunKCL;p{E*b>ce zAJC-5?^F&_x=8gW{!^LwHX1_NsISW{p#GIF75ox^IQ4kdBgBa-yRZl5tOqz`fKkT5 z;l@({h}i%5j;BE6!If-Hy=WkWPDlQd1jA zEk9=arDJn0k75$gWyJNu`|GMr$Cu&kX6VWmmQ_w1O+S!j)+doyx+5ihm&{deYc5fp;Q|TULgo5ELLjqU?}Jla zWw%K=NMr2KW*Bhb1CF}ML>-FX>iy!PruTs(;-(F|Pu9FbI<3mvU&raVQ#qF!qr0+Z z33y6#g88Ur_b&*4WM4qR-uZNfiIt8+(HAJB%jsAHpA#qN(UM z!oNQ zK>@{vvl|(&>#>oedcv`I+Drbd~$S2qa)fDHjkQNAUJL9;;@n*(2kLC96y?qo*NLM&cr4L`bZ7_dlfgX~<&WnL zHvtG@c{(t+zY5XNH{5|C(L}bx?tqZzhW-TwJmai!dsi##yfoZEkRKH9^#*}_;$c;0!0m&80dY-h-W+J z`I)^Pkd=PCqFjT>)1eoer0X9we?^sFyJB^DjA>H4XJ4Jh)@hAJfMID%_0Pt4eCRw9 zuyP(AG1B7@X-rrM`ZDg~U}E9~kHS!b_ zkI!Pyz``FMb{^hDK8k=j7q+O+a3o6rSf~|jBon-Rb~wI_FE1mew)wYZUJr2zK9I=7 zJLrI1{4qB9{yxXP@&v*&wC5ugNpoSP#U*=B<7_^^mI4_$XLljCCO7Gv>g~YJNYKob zfMk=P{GhEyR20v)_81k>Tqw^!XgY;WNl+oYN>`RY0VaPYI8zs>Iu&kcd4Ed=I9xnn zv!Kw9Iqsp2=Ik`j;T>FEjx%P`TF;zoJ+<7nYTrGP3(=;!@x7JkDEN{EvcNj>g}!IZ zmOo}Hc}$_6R5+QM(7>mSgJg#j(tZ%o5@pxF)==OibmqeIWo@eAA5=}QP@)q&WtalN z@Mjp)c-vWu{%r!v==kY?^oWE=eRY_@h?HIveurl2_n@x`3cCvQ7t&HPQ5n{%I{v=@ z=zav2KwC=!^QUJNkSKFwR!WeQ+Wl6izvMqn&66UcITi`BwWk@ZbxZ>mQ|x>h}W5z?rYuiK?W3FPdLsoo?P-YkC)O{!)h^xCxN( zKD4X_!GCdFp^^sT!rLW{LZLiDUCqX#eR#TNEED1bcoVx_+b7lVW;v>|U6wvZ{cbp< z9$xR7VLRhYFS7(I$EAb!6p0G!%C>*{j~M)1;@EMLpctb06NRCu#D7!8&Wm7uEt{Y{ zs4N1SJ%*BmSO%t8y$@%K$OhW=$KI^u9p?b^ z5INRX7WIuL93wr(-c zrUUNw|S2X;i>wuvsClhaGqq{zt4p>eE0|8D$L!((zT}@33 zmykO|Btw|Ww$vPI+~H#QT+tEY>hpEObbbVs??P`;=vBB(h5$}-aAORGmMIm4fBS!q zMJELxRKeOghfG=sgaYb1pkt)|*(Lawb6!ai_IJXhL@wGh4J&sQ4I#%ztm6{Akc?vO z*zPKA&Bol{YBm?kH0rfhFp4AViEp|;%zxqL+L}9f3%T2x3*B643q1iRx{=4U_R&w8 z#1{?q6%Dn^n#W0prMB0z(9S#8<&2_v*~xthCssu2uKggEYe-e6cau=J`YO7X%$AS; zyf^=kwe$X9pDEw3z3mTDr>xNVHQq20KmzJJlb7#)j%659!0=IJa!7^3u?YzhBP{;& zx=`b)_b=yUNzrgCEk@A&Yg2h^3Y2-hHd&&ax9u8VL43@)%YS^%<4k$QlKlMu?pX^l zkr?~iYQw?|Is%`pr~(F#t_afpb*BAaqxb**A{H!6j6Aq|W8I6~b;#TUOhjEGygV^okE(^R%D=F9Bv?_J8W z5&pc0+SkVE4=Ff3?9rXrUhdvLh0KkiwiU>r;bf$DyHiwTl8=5Qtopuo8an$zM0%5i1#p&VY;6euI!wDp1I1I1xP(zrPR=d` zq%qz7zs6|vy?DDs@wI&zMt%5Sa!o>NG+S{WewpkK{UCj@5hK&Nsuktd;$a=0i zKl44Mq|znw{o1`psYnWr$jDNo`iZ99?A=EGta7`<*|`?19l?OR@y&pFyHa+z89xNM z6NY6+Cp0i!#~12J1t;3So2OaRaZnvJdw*XdTH@$!ywXT2<(}Q^^Pv0V_fV77r0HOL zMRG^rwL~rmIyg=c3hN2QWZAH+H`_Ygc-xz#Z$4jufO#RjO|pvYqCew&FkjzQ{d<`c z@XFuT>&_-q@B@cxf#IqS`Bmxb;PJYSOJ0Dpe&-reAdW8d2{<@Rl^0LxC7 z8u%7|%6dGz`_q{pId2A3tP72=bED6IJB z*OiykDWq)na2fV-d2~eJ5TE8!96$Ne-#h5LAxa_}LhDe$ejJ-D($!rNq`?Z{`W3u! z@KC}NI`XBiL9p0{TSX~sVnQ!iaon};<50tDP}hsY`7X0i5`scblAc&JQE8)4+eh7$ zl)T1!^h!O~T34!L@9Mk3SEOP%ksCNH@`PNHMj?(+V70t1Rvd3=8x!ZF|#m6 z`8ET?TN<^w#l_RCTy8gtCxk*ttyX*gEClFbnQPTrP*(zGoI8R5p03@nu5*-12K8tT zI7E^%`=^a6HP}^e4zx=}uh1R3*Yx0}tM&V_qYS6x6&^EzJGwmuB8J!LrvL)U=wFVn z0YkEwemTiWbf1Eh2vsAT{qUTZp-r*v3>OJs$zI0b9oTx@5=VaCBepGF6^S0WQY zZ^5k%udu9);7}iFKSN2##C)g1K{ja;BhGdkKFoaJQ#+O%3K&L;VzL$j` zRzHIJd#p}A*y$HnUyQlkYb-KqR+2naR^tjax@>UQ|3hy3Kf6h9rZ8p*KqmH4RM>9~ zfCBR}n!n4JMBMRXEyeK)nfkl(^Su>2nX%t@iMi~iw7ZZs^{8;8TRMSS{)&Y%!O!~* zcuhteBFabumcKl2N~)NOD-FLlj}{U!YTFf+8RnJr-}1&ms3|+QzP3EaVj?XqEY`qJ zn3Wo0ta~CEiOZVN7a~$K_V2Rs+)@-K9nqGrG`}>8R)ssW_Ll#Ca6j|8H(J-GSmA)i zsP#$9%bo1Ul+QoC-+N)af5VADm)T0Z+QT&~dNji_V6wb0)F$5kb@|<$Z;!EgmHM?a zlwC`(=^f>|clcrZQd|>$$FmoTU2DVJbak-SdEC>grtpE>O4V3DVt;Fnhm(*Y-CAUd zzuPo0wX%ZV0tYc6L}Yg1W+`0jWt?)A`^=`e@_siX*fBBiE9);jZ-E8q z@P?0%K!C-!L1j%Rnb@5&;l*2&i@7Z?EgER?VQQB(Cd}5GV+xmT1I0s9+UVD8VT9dU}`8~fs9qT;_4P$%TPMD1YOh!EgC`z7U zI8y%d(tXD_c&Bx4NemJ)Z&qt-1f#ksjH*ABykSKty{dym2_}9PcxZt}U+55|Ad4 z5x`P8nlUfTw+P3-R=2wMQo=}mDi>E`ygHp=nfI@|7%*xxy_SDH_Av+r#*!6%UK7Bl zqB2t8^IBTGg?^h1`ne-~SEXVp5R5EH9)g}2~a#vaCJPNR~$;%jpQNcjCh5xLh z#&h^(?jze%J-TQ;h$H)$-ap$M{?>v<_i!(YOB5K*yEFaTCgQrK{AJ~77&hjlYA&$ptDB<#SH(6m{KD>0({0tM zLubnR*L{D2+xp@c8^9~8Y}r>8FZ5c8Gt6XJ{+y()Qe1&%`br#}JinWi{DtdV?fXbA zrp&&|Zf7;>D4!`N|2Pi=zFmOrn-nv@qh&%>p1espzSCW&yP%Vf*B4U%H-~kfd~oNl z_0>pS)w1fVIsqDGaYB^ap6;{;?*X7;3UUOGP!;kexB*AqJuP6fimvgop5<7lnPEs4KI2Eef#i7l^klyYaoy)f%+@Ca z8BWZ(+AbPYe7p!rO_zXzE8`1lqPTdz;-&uqX#YS<&6h~^sZ<0X2j1W??$gS6$ekDc zg`E3m9W}%5&1uD7CR>OE>=*@}+gh*aLD_t2UljK!e)?YET_3GM31te#D6Sa>;vtkH zhDh#eWzN1YJEhV8ITbXt2n@KuU3;`cUcnWIVi)2MXUHI^rdUtm#G24+Pbv+%^iZc64$ffLL-EEqzb5RM!F1 z2|?Ih^pf2GY z8=~{$Vfk4}r5TzM0)LwY^rn^34dVHYSO0yqO1jZPkS$_IkFJgc z-d5{Z2RaO=L~pmGS^~;|N5h@5oCq%XS?=t!YdB`3{$9&(0yJYDgx{z0)yJ%YoNS1K zCt)A_nA8nK5;Yj1AX8R9Y481L0t--&sqyRgNG8r1B^p_%1GhWsHP5HOcfX{Y#H$iZ z6l$kcvp!a`-&YyKWLrzq>a&=>7_AF7UGDmiru$CPi%mo1mf%co<$4VKHG?QC7j@~- zbVn)+W^Mcj(K@6mJPhm8f{PYp6V+ zCY+DKkQO^bauNBT%M2tE(0L5tNcZoDLrydu7LrLCC!!CUk7Fi(?DFwc&svz)InzKF zh#*}7yo_4*GdQM%cxkaM^3)1~;EAre6ju@S2xvnFfEC3iwbSfvIL zd}{ZK5y`a1u41<(a$G*8LG<77+|qvHh3P(%Dp*T@=;upL;6#3~PmxbvWMtfhir|ye z*{Z^-9WO<$x9v1#TWPJ~B6jrA8=;9rh>O5F$;C)}QGBR<49cdBylSeZUGI~7rlTqm!TP8VSF;7N1>eBXRn?F=D45uj+ za2F**VtS@je)NYR!l?sidsw`7N?kG~s&7`QL&X9H_aR=K_9O>e-9I})T+E(*LMU%~ zs74dpXiG0nxO+a4sgfgI5XRKsIS$q5k4(1brw4WT^s8_8W98~Hz6PVjKb^nvYh@>z z!gzI=bxoGbOtFhzj*QNRLt`sk=~ zG0t=|?$EfsC=}Kr8Cbgn@vItia#fZodR`t%F=}f+97?2O)H@E3XrF5l{BYEA*z73% zaWVo!0jyQE_eCbSeR26>qb(h54)Hy=+o`;by0B+a!X-_pu(UnX)hEC05oOwAMh@2_ z_Qoz=KCw^jSBK^aeOjKV8ZfGsGxs7F7bm$35ev<{dDV20R(F$w;TRY7w7Pd$NKOb! zDl?UOS%hc6&A}$qbpK~<`rkQpZ;&tnWYTyx^idq`$x?WC`JDqmaLH+G>$inZfeTjy z*IDjl5kQmM^=DXPmFNVoHFF%Coe6>k%*6S_Rc zfFX1NhrC(J4o3{<$%5T-@jw~iiy8|WGYIN-ujo|Q`&|q4TdXseA+^qDP*7s0A;@p<=nwEz+{tX>@-Dl85c;FLdP!|;N~bJs{Z<{6Cm3ZQyx4jlVFsgDt_ckx<~?zA^7nxd;< zB?f-{f`FvUcb@lG{^_9W_BJQkGhIYz^8{F_S~fo&uXDEkJB9Ak2Xa=&Fv!4YShQ(x z@em3>J;@6d6U9+1`65W8oSXRnvAq5VZ})$zp@-i)`!}I2Uart_u}tiEz09&8rR3>06J>FlOxj_*O8=+0wkI97f;q7AW3_)=yeBT^rNaRM_$AU}uFz4Fpq+#u* z&#xN;rPN?J-(%VJHkuD}8xUfhzUC4B&_^pYxN$`i@9_I{hDkdwaZr^s9fD);PAeZ% z#VvwVsm9rL-ijsyBo8645#GU4jxXwv7XMre6Mqt{2GLrYvsG%5?;C4f>~$KnUbp6v zq0fo{A`j`Q)J1%Q;5gT>%1i(#N|!4NaG)zCQsi0wS_$FhrYS$bNY z)l#OYL7j~gfwLnhM#(+T2WhqVQff#g+p*zb7(EdCyeLL8vL}x5L@R zWOIr*OuBZM1Wzp&$r~3rg>j5tp=4@7adb04B1a|Zdy(mGmtyE-|1L!4of^rWR}=S! zq@Jz_sgP^cfd1prwG}P=by7mQ%6`JAC(_YwkwV@xP@!}Sz68-mQy4BV z!n;s4MOyoQwh`H%C&ag!hNa2bR>~EKs8WI#mO#9M0pEXNGc{blMYZ2cy*}(&R1uBG(;%$bTJy{z0=3?%C^( z=y!Ny2sq?VI)iso*TBD1 z*ZyqSlr!;Pn6MXOB*>uvcq01ZPWM>KihFilY(6J7;`m-wzuumP)uxfFdV3py$}M(G zSX!G2#;7Dqi_yhr4?~u`_;2x=XyWq3!-wgx-}9S&G0H0xJ~G!P}PG=&hJ2% zxuF6b-E4{87l*&Z-6z{*7@*Gs^wG9K&p;?t{5(w3$Ay=v7EhZ^%vR+Rs;viw39t9; zMLSzvPfxjR(ryG3gEsf|jff5}ha|(vAA{*rSGEft@OIBGcHbPdTrQg;;wLRSN(eYs zUEZ{WoI>YS{WU!!qh#2{#0v%T@)8Wi@x|3@FakymWAG5nzeFb3Qduy0y;lT{i=Ew0 zm2Pc`Zup%?nnBXXA$;1hN17SwoN)Fh!|U>$E#7Jcz2)mvz7Og@^Cx8eJ$Mw1##XF6 zoh!p961M2%PH_;3m@*gIKF)j;g!7>2ILZdg2+oB9g#W%{(#T|_aWl~^xh7KYF?0>? zy{uM`LQFYHSkG|9mEMRM^{2r<5rvp*BnAIlHt|h36W-2*)3ls=bc*{D{F#2qCD|p8 z;?rW>EWxbjt!*$!Lm=H8byTB{_0qUcp>E%!5jtit{3zO8nY`0H^7Al|H|k)WqUx#{ zW9c0ZVRDIv{htfJkchoY*4DQ!d+tQ( zGa6f%Bciy;qgKe0{5vqZW4g9pN%P~b5V4V%J6Q`SNCMXR#qWOc$G13FBwt6$B|#+- zuY%t6Z?LJxy+tp}fHYCnZ+%Mhxay`oiDy5~b&ajRwJhhVBdc5w?qTBRBK7hcpdB5w z^V3)0>@hUUw$PPd;`$4DH%K~CK+cVSHPJcPNvqO0@R|A9iF(+)NlIdeCg@sI7GUkn z0^xpv!SIU3R^6$2kaOQGOp?P?9GE{ks$P#9c|fEP?VdI8J7#WEp1UAfRqyUMfhv5T zu>Nkk=!o-_Wgb~NTxMd+)Ki@7Gf3+E6~qm;W_#p6cvxkiZHpPQT8h%Z9Fxo-Wna;N zqz(i2W`&3$39(O!Ol1eh4Jz`IoEu#KEXw<25a9P>TPJ)6{h5iTsT)yxR4~oufTFh`9%L6Nu{q2MWwH^ZZWvOk>^7^)2Wh6lXY*MjWm!n z(&hDW$>+X@PiE|MF245;^0TuwaRG&1&&3$uFUNM>B~sqzt%jpdFnU%PX%IafgD_a>lh+OUNWukAQIGMN7)~=4OEOKvsi?*wGP|@f4@8D)`ge!?NkAHQyLf z6aLk!c3YI>txZ<2wYiT%rL`V<5cLKxhiv0l&h2`m2Cd^HR=oS0os8bk^nM~@$-m{U zTZo;^ni>zS(r_u@O!)=&G&N7MTCnNsz16~KQEt10UIP54YA$tu`ubBN`v6jMgyeyV zk&Cj1z4tjQaYS7s(518?FDI_tN)=kvfN<0OH}RBDnAMWV^;yFMB)Q>EcW{fQ&dv!{ zWYJX6Q*5n>VFGePFDp202^4E3}#=ADkgm;FBTcz7KWM23M6} z+|%iC@a^eSqaL@;Ij@8e%UG62bK|Xbhwq7cC~6y6S)4gdtLDV*SyaQ}E?`7&tHH@E z0PXw4SXbpw6HK|2{h`uUVMou-5o2`sES->;acM__)tHs+#q41olY)LtE-d96DowRE z?Oec<`l2%agZzK#5#vKcg#h@eK>+u1F;J{Fc{S*k|L48x6=%AvMDX<4`DFhkG+csR zPKzD>!xCQYLp_js?`6)VE$ISQJe3u;_C<_+{?}a{%C9X#WuAc@3}8Oe^HBi8`>|!B z_nG_Ma` z@;yRqh_MU?M|qhOf~^`Ck3;Mii?YWNOwGk$KwazO6m zT1{l(C^MVSZ$YR?p!2BWf(!q+%OzgL{GCqo>l2)(L(Wrzf}^NsXLwJvp!l*IVD+%e zO*|EJH4PZ;by$ou#npi`<=x%d$F@l-W(Z6|y#%D7s3>VwDp|R0p9RKFx$2kDJCMZS z_A-s+J|K(5gtLj$>t7&xeIw*mW+7f(?WSOqd{Hez{ek5P1C&`m?StH@(u;%QF0� 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 z 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%0DU$am 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 literal 0 HcmV?d00001 diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp b/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp new file mode 100644 index 000000000..cab9e0697 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp @@ -0,0 +1,214 @@ +// +// Tree.hpp +// Docker_Dependencies +// +// Created by Wang Yi on 7/4/17. +// Copyright © 2017 Wang Yiyiak.co. All rights reserved. +// + +#ifndef Tree_hpp +#define Tree_hpp + +#include +#include +using std::vector; +#include +#include +#include +#include +using std::unordered_map; +using std::pair; +using std::stack; +using std::queue; +using std::set; + +#include +using std::string; + +#include +using std::shared_ptr; + +class TreeNode { +public: + TreeNode(string name):img(name), parent(nullptr), m_pos(0){}; + TreeNode(const TreeNode& nd) + { + if (this != &nd) + { + this->img = nd.img; + this->children = nd.children; + this->parent = nd.parent; + this->m_pos = nd.m_pos; + } + } + + TreeNode& operator = (const TreeNode& nd){ + if (this != &nd) + { + this->img = nd.img; + this->children = nd.children; + this->parent = nd.parent; + this->m_pos = nd.m_pos; + } + return *this; + } + + virtual ~TreeNode(){ + for (auto child : children){ + delete child; + } + }; + + void add(TreeNode* child){children.push_back(child);}; + void set_pos(int pos){this->m_pos = pos;}; + + vector wfs(); + // please refer to this question: http://stackoverflow.com/questions/1549930/c-equivalent-of-java-tostring for more details + string _str() const {return string(" Node: <") + this->img + string("> ");} + virtual std::ostream& dump(std::ostream& o) const { + return o << _str(); + } + + string img; + vector children; + TreeNode* parent; + int m_pos; + +}; + +std::ostream& operator<<(std::ostream& o, const TreeNode& t); + +vector& build_children(TreeNode* parent, vector imgs, unordered_map visited); +vector build_Tree_Merged(vector>& edges); +shared_ptr> DockerBuildDependency(vector>& Relation); + +#define TAIL "└──" +#define NORMAL_NODE "├──" +#define INDENT_PREFIX "| " +#define INDENT_PREFIX_FOR_LAST " " +#define ROOT_PREFIX "───" +#define INDENT_STEP 3 + +template class _tree_node_printer { +public: + _tree_node_printer(Tree* t=nullptr): m_tree(t){}; + _tree_node_printer(const _tree_node_printer& nd) + { + if (this != &nd) + { + m_tree = nd.m_tree; + prefix = nd.prefix; + isRoot = nd.isRoot; + isTail = nd.isTail; + } + } + + _tree_node_printer& operator = (const _tree_node_printer& nd) + { + if (this != &nd) + { + m_tree = nd.m_tree; + prefix = nd.prefix; + isRoot = nd.isRoot; + isTail = nd.isTail; + } + return *this; + } + + virtual ~_tree_node_printer() + { + for (auto child : children){ + delete child; + } + } + + string _str(); + vector<_tree_node_printer*> build_children() + { + if (m_tree->children.size() != 0 && children.size() == 0) + { + int i=0; + for (i=0; i < m_tree->children.size() - 1; i++) + { + Tree* child = m_tree->children[i]; + _tree_node_printer* nd = new _tree_node_printer(child); + nd->prefix = string(NORMAL_NODE); + children.push_back(nd); + } + + if (m_tree->children.size() - 1 >= 0) + { + Tree* child = m_tree->children[m_tree->children.size() - 1]; + _tree_node_printer* nd = new _tree_node_printer(child); + nd->prefix = string(TAIL); + nd->isTail = true; + children.push_back(nd); + } + + } + + return children; + } + + virtual std::ostream& dump(std::ostream& o) { + return o << _str(); + } + +private: + Tree* m_tree; + + // fmt info + string prefix = ""; + string indent = ""; + bool isRoot = false; + bool isTail = false; + + vector<_tree_node_printer*> children; +}; + +typedef _tree_node_printer TreeNodePrinter; + +template +string +_tree_node_printer::_str() { + vector temp; + string ret; + stack<_tree_node_printer*> s; + + this->prefix = string("\n") + string(ROOT_PREFIX); + this->isRoot = true; + this->isTail = true; + + s.push(this); + vector<_tree_node_printer*> children; + _tree_node_printer* curr=nullptr; + + + while(!s.empty()) + { + curr = s.top(); s.pop(); + string indent = curr->indent; + + // visit func + temp.push_back(indent + curr->prefix + curr->m_tree->_str() + string("\n")); + + auto children = curr->build_children(); + std::reverse(children.begin(), children.end()); + for(auto child : children) + { + string curr_indent = curr->isTail == true ? string(INDENT_PREFIX_FOR_LAST) : string(INDENT_PREFIX); + child->indent = indent + curr_indent; + s.push(child); + } + + } + + // we can use boost::algorithm::join(vec, delim) here + for (string el : temp) + { + ret += el; + } + return ret; +} + +#endif /* Tree_hpp */ diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile b/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile new file mode 100644 index 000000000..272540d06 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile @@ -0,0 +1,71 @@ +PWD=. +project_name=DockerCircles +TARGET=$(project_name) + +exclude_dirs= include bin lib +CXX=clang++ +CC=gcc +RM=rm -rf + +exec=./bin +include=./include +lib=./lib + +LIBS=-lm -L/usr/local/Cellar/glog/0.3.4_1/lib \ + -L/usr/local/Cellar/boost157/1.57.0/lib \ + -L/usr/local/lib\ + -lglog + +CFLAGS= -Wall -c +CPPFLAGS= -g -Wall -Wno-unused -Wno-write-strings \ + -I/usr/local/Cellar/boost157/1.57.0/include/ \ + -I/usr/local/Cellar/glog/0.3.4_1/include/ \ + -I/usr/local/include/ + +SRCS=$(wildcard *.cpp) \ + $(wildcard $(SRCS_DIR)/*.cpp) +CSRCS=$(wildcard $(SRCS_DIR)/*.c) + +SRCS_DIR=./src +# OBJ=$(SRCS: .cpp=.o) +OBJ=$(patsubst %.cpp, %.o, $(SRCS)) +COBJ=$(patsubst %.c, %.o, $(CSRCS)) + +# LINK WITH link flags +$(TARGET): $(OBJ) $(COBJ) + $(CXX) -v $(CPPFLAGS) -I$(include) -std=c++11 -stdlib=libc++ $^ $(LIBS) -o $@ + mv $@ $(exec)/ + +# COMPILE with compile flagsa +%.o : %.c + $(CC) -v -std=gnu99 -I$(include) $(CFLAGS) -c $< -o $@ + @echo $(GREEN) [INFO] $(COLOR_OFF) "find C sources: " $(CSRCS) +%.o : %.cpp + $(CXX) -v -std=c++11 -stdlib=libc++ -I$(include) $(CPPFLAGS) -c $< -o $@ + @echo $(GREEN) [INFO] $(COLOR_OFF) "find CPP sources: " $(SRCS) + +.PHONY: clean +clean: + @echo $(GREEN) [INFO] $(COLOR_OFF) "find objs: " $(OBJ) $(COBJ) + $(RM) $(OBJ) $(exec)/$(TARGET) + +all: $(TARGET) + @echo $(GREEN) [INFO] $(COLOR_OFF) "find sources: " $(SRCS) + @echo $(GREEN) [INFO] $(COLOR_OFF) "target has been complied!" + +run: $(TARGET) + $(exec)/$(TARGET) + +COLOR_OFF='\033[0m' +GREEN='\033[0;32m' + +headers=$(wildcard $(include)/*.h) \ + $(wildcard $(include)/*.hpp) + +init: + @ echo $(GREEN) [INFO] $(COLOR_OFF) "headers are : " "$(headers)" + @ echo $(GREEN) [INFO] $(COLOR_OFF) "srcs are" : "$(SRCS)" + @[ -d include ] || (mkdir include && -mv "$(HEADERS)" --target-directory=include/) + @[ -d bin ] || mkdir bin + @[ -d lib ] || mkdir lib + @[ -d src ] || (mkdir src && mv "$(SRCS)" --target-directory=src/) diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp new file mode 100644 index 000000000..4a11754a3 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp @@ -0,0 +1,153 @@ +// +// Tree.cpp +// Docker_Dependencies +// +// Created by Wang Yi on 7/4/17. +// Copyright © 2017 Wang Yiyiak.co. All rights reserved. +// + +#include "Tree.hpp" +std::ostream& operator<<(std::ostream& o, const TreeNode& t) +{ + return t.dump(o); +} + +vector +TreeNode::wfs() +{ + vector ret; + queue q; + q.push(this); + vector children; + int depth = 1; + TreeNode* curr = nullptr; + int curr_no = 1, next_no = 0; + + while (!q.empty()) + { + curr = q.front(); q.pop(); + + // visit + ret.push_back(curr); + curr_no --; + + auto children = curr->children; + next_no += (int)children.size(); + + if (curr_no == 0){ + depth++; + curr_no = next_no; + next_no = 0; + } + + for(auto child : children) + { + q.push(child); + } + + } + + return ret; + +} + +// typedef _treenode TreeNode; + +vector& build_children(TreeNode* parent, vector imgs, unordered_map visited) +{ + int i=0; + for(i=0; iset_pos(i); + nd->parent = parent; + parent->children.push_back(nd); + + } + return parent->children; +} + +vector build_Tree_Merged(vector>& edges) +{ + unordered_map> g_edges; + stack s; + unordered_map visited; + TreeNode* curr; + TreeNode* p; + vector forest; + vector ret; + TreeNode sentinel("Sentinel") ; + + for(auto edge : edges) + { + // base tree or directed graph egdes build + string name = edge.second; + if(g_edges.find(name) != g_edges.end()) + { + g_edges[name].push_back(edge.first); + } else { + vector children(1, edge.first); + g_edges[name] = children; + forest.push_back(new TreeNode(name)); + } + } + + // merge trees + for(auto tree: forest){ + s.push(tree); + + while(!s.empty()){ + curr = s.top(); s.pop(); + if (visited.find(curr->img) != visited.end()) + { + // a circle find + p = curr->parent; + if (p != nullptr) + p->children.erase(p->children.begin() + curr->m_pos); + else { curr->parent = &sentinel; curr->set_pos(sentinel.m_pos++); } + continue; + } + visited[curr->img] = curr; + vector imgs = g_edges[curr->img]; + auto children = build_children(curr, imgs, visited); + for (auto child : children){ s.push(child); } + + } // end while + + } // end for + + // be considered susptect for copy cost + for(auto tree : forest){ + if (tree->parent == nullptr){ + TreeNodePrinter tnp(tree); + std::cout << "------" << std::endl; + std::cout << tnp._str(); + ret.push_back(tree); + } + } + + return ret; +} + +shared_ptr> DockerBuildDependency(vector>& Relation) +{ + shared_ptr> ret(new vector()); + vector forest = build_Tree_Merged(Relation); + for (auto tree : forest) + { + vector nd_seq = tree->wfs(); + vector imgs_seq; + for(auto nd : nd_seq) + { + imgs_seq.push_back(nd->img); + } + ret->insert(ret->end(), imgs_seq.begin(), imgs_seq.end()); + } + return ret; +} diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o new file mode 100644 index 0000000000000000000000000000000000000000..05785b0a6a69753b55bdb6fc785a7f8caa8303e8 GIT binary patch literal 1277872 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%0AF$JOZ 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 +#include +#include +#include +using std::string; +#include +using std::pair; +using std::make_pair; +#include "Tree.hpp" + +#define FOR(s, e) \ +for(s=0; s < e; s++) { +#define END ;} + +int main(int argc, const char * argv[]) { + int N; + std::cout << "Input the Number of imgs dependencies: "; + std::cin >> N; + vector> Rel(N); + vector item(2); + std::stringstream split, kw; + string line; + string temp, part; + + std::getline(std::cin, line); + + int i=0, j; + while(i < N) { + std::getline(std::cin, line); + split << line; + while (split >> temp && i < N){ + kw.str(temp); + j = 0; + while (std::getline(kw, part, ',') && j < 2) + { + item[j++] = part; + } + Rel.at(i++) = pair(item[0],item[1]); + kw.clear(); + } + + } + + shared_ptr> ret = DockerBuildDependency(Rel); + + for (auto item : *ret) + { + std::cout << item << ' '; + } + std::cout << std::endl; + + return 0; +} \ No newline at end of file diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o new file mode 100644 index 0000000000000000000000000000000000000000..c86ae53332addd6a1dee1de85a9843b3d4d0cc66 GIT binary patch literal 274904 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

ti20Hm$ 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 literal 0 HcmV?d00001 diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in new file mode 100644 index 000000000..de75bc22d --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in @@ -0,0 +1,2 @@ +7 +Ubuntu10.1,Master Ubuntu10.2,Master Ubuntu10.3,Master vm1,Ubuntu10.9 vm2,Ubuntu10.2 division1,Ubuntu10.2 Ubuntu11.2,google-server diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out new file mode 100644 index 000000000..30245dff9 --- /dev/null +++ b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out @@ -0,0 +1,17 @@ +Input the Number of imgs dependencies: ------ + +─── Node: + ├── Node: + ├── Node: + | ├── Node: + | └── Node: + └── Node: +------ + +─── Node: + └── Node: +------ + +─── Node: + └── Node: +Master Ubuntu10.1 Ubuntu10.2 Ubuntu10.3 vm2 division1 Ubuntu10.9 vm1 google-server Ubuntu11.2 From 8c947bc90549c625acd2e0df9f3191f58762e24f Mon Sep 17 00:00:00 2001 From: yiakwy Date: Thu, 13 Apr 2017 07:56:53 +0800 Subject: [PATCH 117/256] add new problem --- .gitconfig | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitconfig diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 000000000..e5adb6835 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,4 @@ +[alias] + lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all + lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all + lg = !"git lg1" From 109c6d6df35178e3be2d9c8753331f9ef2d10a00 Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 27 Jan 2018 20:52:29 +0800 Subject: [PATCH 118/256] =?UTF-8?q?=E6=9D=A8=E6=B0=8F=E7=9F=A9=E9=98=B5?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../searchA2DMatrixII/SearchA2DMatrixII.java | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java diff --git a/README.md b/README.md index 543f2f097..01634afa2 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ LeetCode |257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [C++](./algorithms/cpp/binaryTreePaths/binaryTreePaths.cpp)|Easy| |242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp)|Easy| |241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)|[C++](./algorithms/cpp/differentWaysToAddParentheses/DifferentWaysToAddParentheses.cpp)|Medium| -|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp)|Medium| +|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp), [Java](./algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java)|Medium| |239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [C++](./algorithms/cpp/slidingWindowMaximum/SlidingWindowMaximum.cpp)|Hard| |238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [C++](./algorithms/cpp/productOfArrayExceptSelf/ProductOfArrayExceptSelf.cpp)|Medium| |237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [C++](./algorithms/cpp/deleteNodeInALinkedList/DeleteNodeInALinkedList.cpp)|Easy| diff --git a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java new file mode 100644 index 000000000..1b6251b05 --- /dev/null +++ b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java @@ -0,0 +1,58 @@ +// Source : https://leetcode.com/problems/search-a-2d-matrix-ii/description/ +// Author : Tianming Cao +// Date : 2018-01-27 +/********************************************************************************** + * Write an efficient algorithm that searches for a value in an m x n matrix. + * This matrix has the following properties: + * + * Integers in each row are sorted in ascending from left to right. + * Integers in each column are sorted in ascending from top to bottom. + * For example, + * + * Consider the following matrix: + * + * [ + * [1, 4, 7, 11, 15], + * [2, 5, 8, 12, 19], + * [3, 6, 9, 16, 22], + * [10, 13, 14, 17, 24], + * [18, 21, 23, 26, 30] + * ] + * Given target = 5, return true. + * + * Given target = 20, return false. + * + * Notice: + * 此题为杨氏矩阵典型例题,且与74题解法类似 + * 思路: + * 永远选取右上角的数字rightTopNumber和target进行比较,直到找到或者指针越界。 + * 1、若相等,直接返回; + * 2、若target比rightTopNumber大,则行指针下移 + * 3、若target比rightTopNumber小,则列指针左移 + **********************************************************************************/ +package searchA2DMatrixII; + +public class SearchA2DMatrixII { + public boolean searchMatrix(int[][] matrix, int target) { + if (matrix == null || matrix.length == 0 || matrix[0].length == 0) { + return false; + } else { + int m=matrix.length; + int n=matrix[0].length; + int row=0; + int col=n-1; + while(row=0){ + int rightTopNumber=matrix[row][col]; + if(rightTopNumber==target){ + return true; + }else if(target>rightTopNumber){ + row++; + }else{ + col--; + } + } + return false; + } + } + +} From 70f6a5915bdd43260d6b2dc3838fb7cdba0d6700 Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 27 Jan 2018 22:43:39 +0800 Subject: [PATCH 119/256] Test for problem 240 --- .../searchA2DMatrixII/SearchA2DMatrixII.java | 11 +++++------ .../java/src/searchA2DMatrixII/Test_240.java | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 algorithms/java/src/searchA2DMatrixII/Test_240.java diff --git a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java index 1b6251b05..6b76ed697 100644 --- a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java +++ b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java @@ -23,12 +23,11 @@ * Given target = 20, return false. * * Notice: - * 此题为杨氏矩阵典型例题,且与74题解法类似 - * 思路: - * 永远选取右上角的数字rightTopNumber和target进行比较,直到找到或者指针越界。 - * 1、若相等,直接返回; - * 2、若target比rightTopNumber大,则行指针下移 - * 3、若target比rightTopNumber小,则列指针左移 + * This probleam is similar to problem 74(https://leetcode.com/problems/search-a-2d-matrix/description/). + * One solution is: + * Compare rightTopNumber with target to judge rowIndex and colIndex which place to move, + * until thay out of range or find target. + * Another solution is using binarySearch. **********************************************************************************/ package searchA2DMatrixII; diff --git a/algorithms/java/src/searchA2DMatrixII/Test_240.java b/algorithms/java/src/searchA2DMatrixII/Test_240.java new file mode 100644 index 000000000..b70d0ef40 --- /dev/null +++ b/algorithms/java/src/searchA2DMatrixII/Test_240.java @@ -0,0 +1,19 @@ +package searchA2DMatrixII; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 240. Search a 2D Matrix II + */ +public class Test_240 { + @Test + public void test() { + SearchA2DMatrixII solution = new SearchA2DMatrixII(); + int[][] matrix = {{1, 4, 7, 11, 15}, {2, 5, 8, 12, 19}, + {3, 6, 9, 16, 22}, {10, 13, 14, 17, 24}, {18, 21, 23, 26, 30}}; + int target = 5; + Assert.assertTrue(solution.searchMatrix(matrix, target)); + target = 20; + Assert.assertTrue(!solution.searchMatrix(matrix, target)); + } +} From 1a6c424e344e49bdeae9668b78c5eaf7a0bd2f3b Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 27 Jan 2018 22:49:08 +0800 Subject: [PATCH 120/256] Comments for problem 240 --- .../java/src/searchA2DMatrixII/SearchA2DMatrixII.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java index 6b76ed697..ca38cabb4 100644 --- a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java +++ b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java @@ -22,15 +22,15 @@ * * Given target = 20, return false. * - * Notice: + **********************************************************************************/ +package searchA2DMatrixII; +/********************************************************************************** * This probleam is similar to problem 74(https://leetcode.com/problems/search-a-2d-matrix/description/). * One solution is: * Compare rightTopNumber with target to judge rowIndex and colIndex which place to move, * until thay out of range or find target. * Another solution is using binarySearch. **********************************************************************************/ -package searchA2DMatrixII; - public class SearchA2DMatrixII { public boolean searchMatrix(int[][] matrix, int target) { if (matrix == null || matrix.length == 0 || matrix[0].length == 0) { From fb1dc6e26a9008d863c79683699800415699f99e Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 27 Jan 2018 20:52:29 +0800 Subject: [PATCH 121/256] =?UTF-8?q?=E6=9D=A8=E6=B0=8F=E7=9F=A9=E9=98=B5?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../searchA2DMatrixII/SearchA2DMatrixII.java | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java diff --git a/README.md b/README.md index 543f2f097..01634afa2 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ LeetCode |257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [C++](./algorithms/cpp/binaryTreePaths/binaryTreePaths.cpp)|Easy| |242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp)|Easy| |241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)|[C++](./algorithms/cpp/differentWaysToAddParentheses/DifferentWaysToAddParentheses.cpp)|Medium| -|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp)|Medium| +|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp), [Java](./algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java)|Medium| |239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [C++](./algorithms/cpp/slidingWindowMaximum/SlidingWindowMaximum.cpp)|Hard| |238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [C++](./algorithms/cpp/productOfArrayExceptSelf/ProductOfArrayExceptSelf.cpp)|Medium| |237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [C++](./algorithms/cpp/deleteNodeInALinkedList/DeleteNodeInALinkedList.cpp)|Easy| diff --git a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java new file mode 100644 index 000000000..1b6251b05 --- /dev/null +++ b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java @@ -0,0 +1,58 @@ +// Source : https://leetcode.com/problems/search-a-2d-matrix-ii/description/ +// Author : Tianming Cao +// Date : 2018-01-27 +/********************************************************************************** + * Write an efficient algorithm that searches for a value in an m x n matrix. + * This matrix has the following properties: + * + * Integers in each row are sorted in ascending from left to right. + * Integers in each column are sorted in ascending from top to bottom. + * For example, + * + * Consider the following matrix: + * + * [ + * [1, 4, 7, 11, 15], + * [2, 5, 8, 12, 19], + * [3, 6, 9, 16, 22], + * [10, 13, 14, 17, 24], + * [18, 21, 23, 26, 30] + * ] + * Given target = 5, return true. + * + * Given target = 20, return false. + * + * Notice: + * 此题为杨氏矩阵典型例题,且与74题解法类似 + * 思路: + * 永远选取右上角的数字rightTopNumber和target进行比较,直到找到或者指针越界。 + * 1、若相等,直接返回; + * 2、若target比rightTopNumber大,则行指针下移 + * 3、若target比rightTopNumber小,则列指针左移 + **********************************************************************************/ +package searchA2DMatrixII; + +public class SearchA2DMatrixII { + public boolean searchMatrix(int[][] matrix, int target) { + if (matrix == null || matrix.length == 0 || matrix[0].length == 0) { + return false; + } else { + int m=matrix.length; + int n=matrix[0].length; + int row=0; + int col=n-1; + while(row=0){ + int rightTopNumber=matrix[row][col]; + if(rightTopNumber==target){ + return true; + }else if(target>rightTopNumber){ + row++; + }else{ + col--; + } + } + return false; + } + } + +} From 59eee6f49cc744ce3814613d3e8dae88fcb20490 Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 27 Jan 2018 22:43:39 +0800 Subject: [PATCH 122/256] Test for problem 240 --- .../searchA2DMatrixII/SearchA2DMatrixII.java | 11 +++++------ .../java/src/searchA2DMatrixII/Test_240.java | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 algorithms/java/src/searchA2DMatrixII/Test_240.java diff --git a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java index 1b6251b05..6b76ed697 100644 --- a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java +++ b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java @@ -23,12 +23,11 @@ * Given target = 20, return false. * * Notice: - * 此题为杨氏矩阵典型例题,且与74题解法类似 - * 思路: - * 永远选取右上角的数字rightTopNumber和target进行比较,直到找到或者指针越界。 - * 1、若相等,直接返回; - * 2、若target比rightTopNumber大,则行指针下移 - * 3、若target比rightTopNumber小,则列指针左移 + * This probleam is similar to problem 74(https://leetcode.com/problems/search-a-2d-matrix/description/). + * One solution is: + * Compare rightTopNumber with target to judge rowIndex and colIndex which place to move, + * until thay out of range or find target. + * Another solution is using binarySearch. **********************************************************************************/ package searchA2DMatrixII; diff --git a/algorithms/java/src/searchA2DMatrixII/Test_240.java b/algorithms/java/src/searchA2DMatrixII/Test_240.java new file mode 100644 index 000000000..b70d0ef40 --- /dev/null +++ b/algorithms/java/src/searchA2DMatrixII/Test_240.java @@ -0,0 +1,19 @@ +package searchA2DMatrixII; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 240. Search a 2D Matrix II + */ +public class Test_240 { + @Test + public void test() { + SearchA2DMatrixII solution = new SearchA2DMatrixII(); + int[][] matrix = {{1, 4, 7, 11, 15}, {2, 5, 8, 12, 19}, + {3, 6, 9, 16, 22}, {10, 13, 14, 17, 24}, {18, 21, 23, 26, 30}}; + int target = 5; + Assert.assertTrue(solution.searchMatrix(matrix, target)); + target = 20; + Assert.assertTrue(!solution.searchMatrix(matrix, target)); + } +} From eee437f55f98beceb382fa62cdc80bd22d04f2b1 Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 27 Jan 2018 22:49:08 +0800 Subject: [PATCH 123/256] Comments for problem 240 --- .../java/src/searchA2DMatrixII/SearchA2DMatrixII.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java index 6b76ed697..ca38cabb4 100644 --- a/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java +++ b/algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java @@ -22,15 +22,15 @@ * * Given target = 20, return false. * - * Notice: + **********************************************************************************/ +package searchA2DMatrixII; +/********************************************************************************** * This probleam is similar to problem 74(https://leetcode.com/problems/search-a-2d-matrix/description/). * One solution is: * Compare rightTopNumber with target to judge rowIndex and colIndex which place to move, * until thay out of range or find target. * Another solution is using binarySearch. **********************************************************************************/ -package searchA2DMatrixII; - public class SearchA2DMatrixII { public boolean searchMatrix(int[][] matrix, int target) { if (matrix == null || matrix.length == 0 || matrix[0].length == 0) { From f037a8eb78818d8319368dec31129363f6b46e89 Mon Sep 17 00:00:00 2001 From: tangyumeng Date: Mon, 18 Sep 2017 19:48:41 +0800 Subject: [PATCH 124/256] read me format --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 01634afa2..37e919536 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ LeetCode ======== -###LeetCode Algorithm +### LeetCode Algorithm (Notes: "♥" means you need to buy a book from Leetcode) @@ -328,7 +328,7 @@ LeetCode |1|[Two Sum](https://oj.leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)|Medium| -###LeetCode Shell +### LeetCode Shell | # | Title | Solution | Difficulty | @@ -338,7 +338,8 @@ LeetCode |2|[Valid Phone Numbers](https://leetcode.com/problems/valid-phone-numbers/)| [Bash](./shell/ValidPhoneNumbers.sh)|Easy| |1|[Word Frequency](https://leetcode.com/problems/word-frequency/)| [Bash](./shell/WordFrequency.sh)|Medium| -###LintCode +### LintCode + | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |1|[Search in a big sorted array](http://www.lintcode.com/en/problem/search-in-a-big-sorted-array/)|[Java](./algorithms/java/src/searchInABigSortedArray/searchInABigSortedArray.java)|Medium| From b4b73ecfe4ccc4c3bcc999936a470f896ce3695d Mon Sep 17 00:00:00 2001 From: Karan Chawla Date: Sun, 8 Oct 2017 09:59:03 -0500 Subject: [PATCH 125/256] handle cases with input array size < 3 --- algorithms/cpp/3Sum/3Sum.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/algorithms/cpp/3Sum/3Sum.cpp b/algorithms/cpp/3Sum/3Sum.cpp index 354584fad..3b638ae6f 100644 --- a/algorithms/cpp/3Sum/3Sum.cpp +++ b/algorithms/cpp/3Sum/3Sum.cpp @@ -47,6 +47,7 @@ using namespace std; vector > threeSum(vector &num) { vector< vector > result; + if(num.size()==0 || num.size()==1 || num.size() == 2) return result; //sort the array, this is the key sort(num.begin(), num.end()); From 92562b3fc92c7bc5dd96968f99c727c678f1d10c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?changong=28=E9=BE=9A=E6=BE=84=29?= Date: Mon, 5 Jun 2017 10:59:15 +0800 Subject: [PATCH 126/256] added database support --- database/README.md | 6 ++++++ database/TripsAndUsers.sql | 9 +++++++++ 2 files changed, 15 insertions(+) create mode 100644 database/README.md create mode 100644 database/TripsAndUsers.sql diff --git a/database/README.md b/database/README.md new file mode 100644 index 000000000..930500a76 --- /dev/null +++ b/database/README.md @@ -0,0 +1,6 @@ +### LeetCode Database + + +| # | Title | Solution | Difficulty | +|---| ----- | -------- | ---------- | +|1|[Trips and Users](https://leetcode.com/problems/trips-and-users/)| [MySQL](./TripsAndUsers.sql)|Hard| diff --git a/database/TripsAndUsers.sql b/database/TripsAndUsers.sql new file mode 100644 index 000000000..ed57bf8c3 --- /dev/null +++ b/database/TripsAndUsers.sql @@ -0,0 +1,9 @@ +SELECT t.`Request_at` AS Day, +ROUND(COUNT(CASE WHEN t.`Status` = 'cancelled_by_driver' OR t.`Status` = 'cancelled_by_client' THEN 1 END) / COUNT(*), 2) AS "Cancellation Rate" +FROM Trips t +INNER JOIN Users u +ON t.Client_Id = u.Users_Id +WHERE u.Banned = 'No' +AND t.Request_at >= '2013-10-01' +AND t.Request_at <= '2013-10-03' +GROUP BY t.Request_at \ No newline at end of file From ca71b675103f407ea531459a310ebecf7ceb5d18 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 1 Feb 2018 19:45:54 +0800 Subject: [PATCH 127/256] Leetcode changed the frontend to GraphQL API, the scripts need to adapt it. fix issue #138 --- scripts/comments.sh | 77 ++++++++++++++++++++++++------------ scripts/lib/query_problem.sh | 42 ++++++++++++++++++++ scripts/readme.sh | 27 ++++++++++--- 3 files changed, 116 insertions(+), 30 deletions(-) create mode 100644 scripts/lib/query_problem.sh diff --git a/scripts/comments.sh b/scripts/comments.sh index 6fe2e15f2..91294f963 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -2,12 +2,19 @@ set -e AUTHOR="NOBODY" -LEETCODE_URL=https://leetcode.com/problems/ -LEETCODE_NEW_URL=https://leetcode.com/problems/ -LEETCODE_OLD_URL=https://oj.leetcode.com/problems/ COMMENT_TAG="//" FILE_EXT=".cpp" +pushd `dirname $0` > /dev/null +SCRIPTPATH=`pwd -P` +popd > /dev/null +SCRIPTFILE=`basename $0` + +COLOR_INFO='\033[0;36m' +COLOR_NONE='\033[0m' + +source ${SCRIPTPATH}/lib/query_problem.sh + function usage() { @@ -99,6 +106,7 @@ function install_xidel() } + if [ $# -lt 1 ] || [[ "${1}" != ${LEETCODE_NEW_URL}* ]] && [[ "${1}" != ${LEETCODE_OLD_URL}* ]]; then usage exit 255 @@ -108,17 +116,29 @@ if [[ "${1}" == ${LEETCODE_OLD_URL}* ]]; then LEETCODE_URL=${LEETCODE_OLD_URL} fi -IS_SHELL=`curl ${1} 2>/dev/null | grep Bash |wc -l` -if [ ${IS_SHELL} -gt 0 ]; then - COMMENT_TAG='#' - FILE_EXT='.sh' -fi - leetcode_url=$1 current_time=`date +%Y-%m-%d` platform=`detect_os` +get_question_slug ${leetcode_url} + + +TRUE_CMD=`which true` +xidel=`type -P xidel || ${TRUE_CMD}` +if [ -z "${xidel}" ]; then + echo "xidel not found !" + install_xidel +fi + +#grab the problem information +query_problem ${leetcode_url} ${QUESTION_TITLE_SLUG} + +if [ ${QUESTION_CATEGORY} == "Shell" ]; then + COMMENT_TAG='#' + FILE_EXT='.sh' +fi + if [ $# -gt 1 ] && [ -f $2 ]; then source_file=$2 if [[ "$platform" == "linux" ]]; then @@ -127,8 +147,8 @@ if [ $# -gt 1 ] && [ -f $2 ]; then current_time=`stat -f %a ${source_file} | xargs -I time date -r time +%Y-%m-%d` fi else - source_file=${1#${LEETCODE_URL}} - source_file=${source_file::${#source_file}-1} + source_file=$QUESTION_TITLE_SLUG + #source_file=${source_file::${#source_file}-1} source_file=`echo $source_file | awk -F '-' '{for (i=1; i<=NF; i++) printf("%s", toupper(substr($i,1,1)) substr($i,2)) }'`${FILE_EXT} if [ ! -f ${source_file} ]; then @@ -144,6 +164,7 @@ else fi fi + # the source file is existed but it is empty, add a line, # otherwise it could casue the comments inserts failed. if [ ! -s $source_file ]; then @@ -162,38 +183,44 @@ if ! grep -Fq "${COMMENT_TAG} Author :" $source_file ; then rm ${source_file}.bak fi -#grab the problem description and add the comments -TRUE_CMD=`which true` -xidel=`type -P xidel || ${TRUE_CMD}` -if [ -z "${xidel}" ]; then - echo "xidel not found !" - install_xidel -fi -# using xidel grab the problem description + +#echo "$QUESTION_CONTENT" +#echo $QUESTION_DIFFICULTY +#echo $QUESTION_TITLE +#echo $QUESTION_ID +#echo $QUESTION_CATEGORY + + +TMP_FILE=/tmp/tmp.txt + # 1) the `fold` command is used to wrap the text at centain column # 2) the last two `sed` commands are used to add the comments tags case $FILE_EXT in - .cpp ) xidel ${leetcode_url} -q -e "css('div.question-content')" | \ - grep -v ' ' | sed '/^$/N;/^\n$/D' | fold -w 85 -s |\ + .cpp ) echo "$QUESTION_CONTENT" |\ + grep -v ' ' | sed '/^$/N;/^\n$/D' | fold -w 85 -s |\ sed 's/^/ * /' | sed '1i\'$'\n'"/*$(printf '%.0s*' {0..85}) "$'\n' |\ sed '2i\'$'\n''!@#$%'$'\n' | sed 's/!@#$%/ */' | \ sed '$a\'$'\n'"*$(printf '%.0s*' {0..85})*/"$'\n'| \ - sed 's/^*/ /' > /tmp/tmp.txt + sed 's/^*/ /' > ${TMP_FILE} ;; - .sh ) xidel ${leetcode_url} -q -e "css('div.question-content')" | \ + .sh ) echo "$QUESTION_CONTENT" |\ grep -v ' ' |sed '/^$/N;/^\n$/D' | fold -w 85 -s| \ sed 's/^/# /' | sed '1i\'$'\n'"#$(printf '%.0s#' {0..85}) "$'\n' | \ sed '2i\'$'\n''#'$'\n' | sed '$a\'$'\n'"#$(printf '%.0s#' {0..85})"$'\n'\ - > /tmp/tmp.txt + > ${TMP_FILE} ;; * ) echo "Bad file extension!" exit 1; esac +#remove the ^M chars +cat -v ${TMP_FILE} | tr -d '^M' > ${TMP_FILE}.1 +mv ${TMP_FILE}.1 ${TMP_FILE} + #insert the problem description into the source file, and remove it -sed -i.bak '4 r /tmp/tmp.txt' ${source_file} +sed -i.bak '4 r '${TMP_FILE}'' ${source_file} rm -f ${source_file}.bak rm -f /tmp/tmp.txt diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh new file mode 100644 index 000000000..c7e090486 --- /dev/null +++ b/scripts/lib/query_problem.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +LEETCODE_URL=https://leetcode.com/problems/ +LEETCODE_NEW_URL=https://leetcode.com/problems/ +LEETCODE_OLD_URL=https://oj.leetcode.com/problems/ + + +function get_question_slug() +{ + QUESTION_TITLE_SLUG=${1#${LEETCODE_URL}} + QUESTION_TITLE_SLUG=$(echo $QUESTION_TITLE_SLUG | sed 's/\/.*//g') # remove the needless url path +} + +function query_problem() +{ + TMP_JSON_FILE=tmp.json + + curl -s 'https://leetcode.com/graphql' \ + -H 'origin: https://leetcode.com' \ + -H 'accept-encoding: gzip, deflate, br' \ + -H 'accept-language: zh-CN,zh;q=0.9,und;q=0.8,en;q=0.7' \ + -H 'cookie: __atuvc=3%7C8%2C0%7C9%2C0%7C10%2C0%7C11%2C11%7C12; _ga=GA1.2.714733890.1464506754; __cfduid=d0091b1a13637142e21e82f5f43f8f3c61517304755; _gid=GA1.2.846248999.1517304756; csrftoken=W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12; _gat=1' \ + -H 'x-csrftoken: W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12' \ + -H 'pragma: no-cache' \ + -H 'content-type: application/json' \ + -H 'accept: */*' -H 'cache-control: no-cache' \ + -H 'authority: leetcode.com' \ + -H "referer: ${1}" \ + --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n questionTitleSlug\n content\n difficulty\n stats\n contributors\n companyTags\n topicTags\n similarQuestions\n discussUrl\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n discussCategoryId\n discussSolutionCategoryId\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n }\n timeOptions {\n id\n name\n }\n stageOptions {\n id\n name\n }\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} + + QUESTION_CONTENT=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.content' | sed -e 's/<[^>]*>//g') + + QUESTION_DIFFICULTY=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.difficulty') + + QUESTION_TITLE=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.questionTitle') + + QUESTION_ID=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.questionId') + + QUESTION_CATEGORY=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.categoryTitle') + + rm -f $TMP_JSON_FILE +} diff --git a/scripts/readme.sh b/scripts/readme.sh index 356c9613c..f390752f9 100755 --- a/scripts/readme.sh +++ b/scripts/readme.sh @@ -1,5 +1,14 @@ #!/bin/bash +pushd `dirname $0` > /dev/null +SCRIPTPATH=`pwd -P` +popd > /dev/null +SCRIPTFILE=`basename $0` + +COLOR_INFO='\033[0;36m' +COLOR_NONE='\033[0m' + +source ${SCRIPTPATH}/lib/query_problem.sh function usage() { @@ -23,11 +32,19 @@ DIR=`cd $(dirname ${1}) && pwd -P` FILE=${DIR}/$(basename ${1}) URL=`grep Source ${FILE} | awk '{print $4}'` -title_str=`xidel ${URL} -q -e "css('div.question-title h3')"` -NUM=`echo ${title_str} | awk -F '.' '{print $1}'` -TITLE=`echo ${title_str} | awk -F '.' '{print $2}' | sed -e 's/^[[:space:]]*//'` -DIFFCULT=`xidel ${URL} -q -e "css('.question-info')" | grep Difficulty | awk '{print $2}'` + +URL=$(echo $URL | sed -e 's/oj\.leetcode\.com/leetcode\.com/g') + +get_question_slug ${URL} +query_problem ${URL} ${QUESTION_TITLE_SLUG} + +#echo "$QUESTION_CONTENT" +#echo $QUESTION_DIFFICULTY +#echo $QUESTION_TITLE +#echo $QUESTION_ID +#echo $QUESTION_CATEGORY + FILE=`echo ${FILE} | sed "s/.*\/algorithms/\.\/algorithms/"` -echo "|${NUM}|[${TITLE}](${URL}) | [C++](${FILE})|${DIFFCULT}|" +echo "|${QUESTION_ID}|[${QUESTION_TITLE}](${URL}) | [C++](${FILE})|${QUESTION_DIFFICULTY}|" From 2338d1f62656212fcf8829dc98ec3f9188f1f2a9 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 2 Feb 2018 10:03:41 +0800 Subject: [PATCH 128/256] move the xidel installation script from comments.sh to lib/query_problem.sh, and update the lastest version of the xidel --- scripts/comments.sh | 52 ----------------------------- scripts/lib/query_problem.sh | 64 ++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 52 deletions(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index 91294f963..bb21735e5 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -54,58 +54,6 @@ function detect_os() echo ${platform} } -function install_xidel() -{ - echo "Install xidel ..." - if [ ! -d ./xidel ]; then - mkdir xidel - fi - cd xidel - - platform=`detect_os` - - if [[ "$platform" == "unknown" ]]; then - echo "Unknown platform, please install 'xidel' manually!" - exit 1; - fi - - #install the xidel on Linux platform - if [[ "$platform" == "linux" ]]; then - hardware=`uname -m` - xidel_tar=xidel-0.8.4.linux64.tar.gz - case $hardware in - x86_64 ) xidel_tar=xidel-0.8.4.linux64.tar.gz - ;; - i686 ) xidel_tar=xidel-0.8.4.linux32.tar.gz - ;; - * ) echo "Cannot install xidel, please install it manually!" - exit 1; - esac - if [ ! -f ${xidel_tar} ]; then - echo "Downloading xidel......" - curl -L http://softlayer-sng.dl.sourceforge.net/project/videlibri/Xidel/Xidel%200.8.4/${xidel_tar} -o ${xidel_tar} - fi - tar -zxvf ${xidel_tar} - ./install.sh - fi - - #install the xidel on MacOS platform - #refer to: https://www.evernote.com/shard/s69/sh/ff1e78f3-a369-4855-b18f-6184ce789c45/f3511927d0fb356ce883835f2eb712e0 - if [[ "$platform" == "macos" ]]; then - echo "Downloading xidel......" - xidel_zip=xidel.zip - if [ ! -f ${xidel_zip} ]; then - curl -L https://www.evernote.com/shard/s69/sh/ff1e78f3-a369-4855-b18f-6184ce789c45/f3511927d0fb356ce883835f2eb712e0/res/9f156868-01b4-4838-9c2f-935d7a236e05/${xidel_zip} -o ${xidel_zip} - fi - unzip ${xidel_zip} - mv xidel /usr/local/bin/ - fi - - cd .. - echo "Install xidel successfullly !" -} - - if [ $# -lt 1 ] || [[ "${1}" != ${LEETCODE_NEW_URL}* ]] && [[ "${1}" != ${LEETCODE_OLD_URL}* ]]; then usage diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index c7e090486..7eb6ac8c1 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -40,3 +40,67 @@ function query_problem() rm -f $TMP_JSON_FILE } + +function detect_os() +{ + platform='unknown' + ostype=`uname` + if [[ "$ostype" == 'Linux' ]]; then + platform='linux' + elif [[ "$ostype" == 'Darwin' ]]; then + platform='macos' + fi + echo ${platform} +} + +function install_xidel() +{ + echo "Install xidel ..." + if [ ! -d ./xidel ]; then + mkdir xidel + fi + cd xidel + + platform=`detect_os` + + if [[ "$platform" == "unknown" ]]; then + echo "Unknown platform, please install 'xidel' manually!" + exit 1; + fi + + #install the xidel on Linux platform + xidel_ver=0.9.6 + if [[ "$platform" == "linux" ]]; then + hardware=`uname -m` + xidel_tar=xidel-${xidel_ver}.linux64.tar.gz + case $hardware in + x86_64 ) xidel_tar=xidel-${xidel_ver}.linux64.tar.gz + ;; + i686 ) xidel_tar=xidel-${xidel_ver}.linux32.tar.gz + ;; + * ) echo "Cannot install xidel, please install it manually!" + exit 1; + esac + if [ ! -f ${xidel_tar} ]; then + echo "Downloading xidel......" + curl -L http://softlayer-sng.dl.sourceforge.net/project/videlibri/Xidel/Xidel%20${xidel_ver}/${xidel_tar} -o ${xidel_tar} + fi + tar -zxvf ${xidel_tar} + ./install.sh + fi + + #install the xidel on MacOS platform + #refer to: https://www.evernote.com/shard/s69/sh/ff1e78f3-a369-4855-b18f-6184ce789c45/f3511927d0fb356ce883835f2eb712e0 + if [[ "$platform" == "macos" ]]; then + echo "Downloading xidel......" + xidel_zip=xidel.zip + if [ ! -f ${xidel_zip} ]; then + curl -L https://www.evernote.com/shard/s69/sh/ff1e78f3-a369-4855-b18f-6184ce789c45/f3511927d0fb356ce883835f2eb712e0/res/de33e89a-cdc6-42b5-a476-32e2df1cf4bc/${xidel_zip} -o ${xidel_zip} + fi + unzip ${xidel_zip} + mv xidel /usr/local/bin/ + fi + + cd .. + echo "Install xidel successfullly !" +} From dffcf2eab2b8ddba19ddbef92f1db6032dc3335e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 2 Feb 2018 16:09:10 +0800 Subject: [PATCH 129/256] typo fix, close #120 --- algorithms/cpp/3Sum/3Sum.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/3Sum/3Sum.cpp b/algorithms/cpp/3Sum/3Sum.cpp index 3b638ae6f..ada7dba86 100644 --- a/algorithms/cpp/3Sum/3Sum.cpp +++ b/algorithms/cpp/3Sum/3Sum.cpp @@ -30,7 +30,7 @@ using namespace std; /* - * Simlar like "Two Number" problem, we can have the simlar solution. + * Similar like "Two Number" problem, we can have the simlar solution. * * Suppose the input array is S[0..n-1], 3SUM can be solved in O(n^2) time on average by * inserting each number S[i] into a hash table, and then for each index i and j, From 551993ae8a7bfbd31799db05a7bf8e2818af897c Mon Sep 17 00:00:00 2001 From: Tianming Cao <31379401+kosoraYintai@users.noreply.github.com> Date: Fri, 2 Feb 2018 16:15:00 +0800 Subject: [PATCH 130/256] Create firstMd.md --- firstMd.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 firstMd.md diff --git a/firstMd.md b/firstMd.md new file mode 100644 index 000000000..297bede5a --- /dev/null +++ b/firstMd.md @@ -0,0 +1,3 @@ +Hello,Test!!haha +
+![](https://raw.githubusercontent.com/wiki/kosoraYintai/leetcode/me.jpg) From 4712378f1431f924c1e2b4ea9ad108243b03b5b3 Mon Sep 17 00:00:00 2001 From: Tianming Cao <31379401+kosoraYintai@users.noreply.github.com> Date: Fri, 2 Feb 2018 16:16:09 +0800 Subject: [PATCH 131/256] Update firstMd.md --- firstMd.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/firstMd.md b/firstMd.md index 297bede5a..5173a1965 100644 --- a/firstMd.md +++ b/firstMd.md @@ -1,3 +1 @@ Hello,Test!!haha -
-![](https://raw.githubusercontent.com/wiki/kosoraYintai/leetcode/me.jpg) From b5729f651351b17698158bf8a39d78d98202debc Mon Sep 17 00:00:00 2001 From: Tianming Cao <31379401+kosoraYintai@users.noreply.github.com> Date: Fri, 2 Feb 2018 16:18:35 +0800 Subject: [PATCH 132/256] Update firstMd.md --- firstMd.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/firstMd.md b/firstMd.md index 5173a1965..ba8cf25d9 100644 --- a/firstMd.md +++ b/firstMd.md @@ -1 +1,5 @@ -Hello,Test!!haha +How! +![myHead][1] + + + [1]: https://raw.githubusercontent.com/wiki/kosoraYintai/leetcode/me.jpg From 2b133cef06911a4d5f7282172abb1e1c8fc22d21 Mon Sep 17 00:00:00 2001 From: kosora Date: Fri, 2 Feb 2018 16:23:10 +0800 Subject: [PATCH 133/256] deleteMd haha --- firstMd.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 firstMd.md diff --git a/firstMd.md b/firstMd.md deleted file mode 100644 index ba8cf25d9..000000000 --- a/firstMd.md +++ /dev/null @@ -1,5 +0,0 @@ -How! -![myHead][1] - - - [1]: https://raw.githubusercontent.com/wiki/kosoraYintai/leetcode/me.jpg From 1b630ca3ed5f9d7a6c83ca76aad8f0c55adf7543 Mon Sep 17 00:00:00 2001 From: kosora Date: Fri, 2 Feb 2018 23:53:48 +0800 Subject: [PATCH 134/256] =?UTF-8?q?Some=20array=E3=80=81stack=E3=80=81queu?= =?UTF-8?q?e=20solution=20for=20leetcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/src/_155_minStack/MinStack.java | 60 +++++++++++ .../java/src/_155_minStack/TestMinStack.java | 22 ++++ .../src/_189_rotateArray/RotateArray.java | 55 ++++++++++ .../src/_189_rotateArray/TestRotateArray.java | 27 +++++ algorithms/java/src/_225_myStack/MyStack.java | 94 ++++++++++++++++ .../java/src/_225_myStack/TestMyStack.java | 23 ++++ algorithms/java/src/_232_myQueue/MyQueue.java | 102 ++++++++++++++++++ .../java/src/_232_myQueue/TestMyQueue.java | 23 ++++ .../RemoveDuplicatesFromSortedArray.java | 38 +++++++ .../TestRemoveDuplicates.java | 27 +++++ 10 files changed, 471 insertions(+) create mode 100644 algorithms/java/src/_155_minStack/MinStack.java create mode 100644 algorithms/java/src/_155_minStack/TestMinStack.java create mode 100644 algorithms/java/src/_189_rotateArray/RotateArray.java create mode 100644 algorithms/java/src/_189_rotateArray/TestRotateArray.java create mode 100644 algorithms/java/src/_225_myStack/MyStack.java create mode 100644 algorithms/java/src/_225_myStack/TestMyStack.java create mode 100644 algorithms/java/src/_232_myQueue/MyQueue.java create mode 100644 algorithms/java/src/_232_myQueue/TestMyQueue.java create mode 100644 algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java create mode 100644 algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java diff --git a/algorithms/java/src/_155_minStack/MinStack.java b/algorithms/java/src/_155_minStack/MinStack.java new file mode 100644 index 000000000..80e002633 --- /dev/null +++ b/algorithms/java/src/_155_minStack/MinStack.java @@ -0,0 +1,60 @@ +// Source : https://leetcode.com/problems/min-stack/description/ +// Author : Tianming Cao +// Date : 2018-02-02 + +/********************************************************************************** + * Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. + * + * push(x) -- Push element x onto stack. + * pop() -- Removes the element on top of the stack. + * top() -- Get the top element. + * getMin() -- Retrieve the minimum element in the stack. + * Example: + * MinStack minStack = new MinStack(); + * minStack.push(-2); + * minStack.push(0); + * minStack.push(-3); + * minStack.getMin(); --> Returns -3. + * minStack.pop(); + * minStack.top(); --> Returns 0. + * minStack.getMin(); --> Returns -2. + * + **********************************************************************************/ +package _155_minStack; + +import java.util.Stack; + +public class MinStack { + public Stack mainStack; + /** + * Call an extra stack named assistStack to store the min value. + * While we doing push operation, compare x with the top of assistStack and push the smaller value into assistStack. + * The other operations pop,top and getMin is very simple. + **/ + public Stack assistStack; + public MinStack() { + mainStack = new Stack(); + assistStack = new Stack(); + } + public void push(int x) { + mainStack.push(x); + if (assistStack.isEmpty()) { + assistStack.push(x); + } else { + assistStack.push(Math.min(x, getMin())); + } + } + + public void pop() { + mainStack.pop(); + assistStack.pop(); + } + + public int top() { + return mainStack.peek(); + } + + public int getMin() { + return assistStack.peek(); + } +} diff --git a/algorithms/java/src/_155_minStack/TestMinStack.java b/algorithms/java/src/_155_minStack/TestMinStack.java new file mode 100644 index 000000000..5adbb43f0 --- /dev/null +++ b/algorithms/java/src/_155_minStack/TestMinStack.java @@ -0,0 +1,22 @@ +package _155_minStack; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 155. Min Stack + */ +public class TestMinStack { + @Test + public void test() { + MinStack minStack = new MinStack(); + minStack.push(3); + minStack.push(4); + minStack.push(1); + minStack.push(2); + Assert.assertTrue(minStack.getMin() == 1); + minStack.pop(); + minStack.pop(); + Assert.assertTrue(minStack.getMin() == 3); + } +} diff --git a/algorithms/java/src/_189_rotateArray/RotateArray.java b/algorithms/java/src/_189_rotateArray/RotateArray.java new file mode 100644 index 000000000..c60da01a1 --- /dev/null +++ b/algorithms/java/src/_189_rotateArray/RotateArray.java @@ -0,0 +1,55 @@ +// Source : https://leetcode.com/problems/rotate-array/description/ +// Author : Tianming Cao +// Date : 2018-02-02 + +/********************************************************************************** + * Rotate an array of n elements to the right by k steps. + * + * For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4]. + * + * Note: + * Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem. + * + * Hint: + * Could you do it in-place with O(1) extra space? + * Related problem: Reverse Words in a String II + * + **********************************************************************************/ +package _189_rotateArray; +/********************************************************************************** + * + * For example, with n = 9 and k = 4, the array is [1,2,3,4,5,6,7,8,9] + * The train of thought is: + * 1. Reverse 1-5 to [5,4,3,2,1] + * 2. Reverse 6-9 to [9,8,7,6] + * 3. Reverse the entire array [5,4,3,2,1,9,8,7,6] to [6,7,8,9,1,2,3,4,5] + * This is a liner time and in-place algorithm + * + **********************************************************************************/ +public class RotateArray { + + public void rotate(int[] nums, int k) { + //bounds check + if (nums == null || nums.length == 0 || k == 0) { + return; + } + int n = nums.length; + //k may be larger than n + k = k % n; + rotateRange(0, n - k - 1, nums); + rotateRange(n - k, n - 1, nums); + rotateRange(0, n - 1, nums); + } + + private void rotateRange(int start, int end, int[] array) { + for (int i = start, j = end; i < j; i++, j--) { + swap(array, i, j); + } + } + private void swap(int[] array, int i, int j) { + int t = array[i]; + array[i] = array[j]; + array[j] = t; + } + +} diff --git a/algorithms/java/src/_189_rotateArray/TestRotateArray.java b/algorithms/java/src/_189_rotateArray/TestRotateArray.java new file mode 100644 index 000000000..fcc192c70 --- /dev/null +++ b/algorithms/java/src/_189_rotateArray/TestRotateArray.java @@ -0,0 +1,27 @@ +package _189_rotateArray; + +import java.util.Arrays; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 189. Rotate Array + * + */ +public class TestRotateArray { + @Test + public void test() { + RotateArray solution = new RotateArray(); + int[] array1 = {1, 2, 3, 4, 5, 6, 7}; + int k1 = 24; + solution.rotate(array1, k1); + int[] expectArray1 = {5, 6, 7, 1, 2, 3, 4}; + Assert.assertTrue(Arrays.equals(array1, expectArray1)); + int[] array2 = {1, 2, 3, 4, 5, 6, 7, 8, 9}; + int k2 = 4; + solution.rotate(array2, k2); + int[] expectArray2 = {6, 7, 8, 9, 1, 2, 3, 4, 5}; + Assert.assertTrue(Arrays.equals(array2, expectArray2)); + } +} diff --git a/algorithms/java/src/_225_myStack/MyStack.java b/algorithms/java/src/_225_myStack/MyStack.java new file mode 100644 index 000000000..ae3016d3d --- /dev/null +++ b/algorithms/java/src/_225_myStack/MyStack.java @@ -0,0 +1,94 @@ +// Source : https://leetcode.com/problems/implement-stack-using-queues/description/ +// Author : Tianming Cao +// Date : 2018-02-02 + +/********************************************************************************** + * Implement the following operations of a stack using queues. + + * push(x) -- Push element x onto stack. + * pop() -- Removes the element on top of the stack. + * top() -- Get the top element. + * empty() -- Return whether the stack is empty. + * Notes: + * You must use only standard operations of a queue -- which means only push to back, peek/pop from front, size, and is empty operations are valid. + * Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue. + * You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack). + * + **********************************************************************************/ +package _225_myStack; + +import java.util.LinkedList; +import java.util.Queue; +/********************************************************************************** + * This problem is a sibling of problem 232(https://leetcode.com/problems/implement-queue-using-stacks/description/). + * The train of thought is: + * If we want to pop a element,first we should judge which queue is not empty assumed queue1,another empty queue assumed queue2. + * Next,we pop all element from queue1 and push them into queue2 util queue1's size is 1. + * Finally the last element in queue1 is the correct pop value. + * If queue1 is empty and queue2 is not empty,the step is symmetric. + * The top operation is similar with pop operation. + **********************************************************************************/ +public class MyStack { + public Queue queue1; + public Queue queue2; + public int flag; + public int size; + public MyStack() { + queue1=new LinkedList(); + queue2=new LinkedList(); + flag=1; + size=0; + } + + public void push(int x) { + if(flag==1){ + queue1.offer(x); + }else{ + queue2.offer(x); + } + size++; + } + + public int pop() { + int value; + if(flag==1){ + while(queue1.size()>1){ + queue2.offer(queue1.poll()); + } + value=queue1.poll(); + flag=2; + }else{ + while(queue2.size()>1){ + queue1.offer(queue2.poll()); + } + value=queue2.poll(); + flag=1; + } + size--; + return value; + } + + public int top() { + if(flag==1){ + while(queue1.size()>1){ + queue2.offer(queue1.poll()); + } + int value=queue1.poll(); + queue2.offer(value); + flag=2; + return value; + }else{ + while(queue2.size()>1){ + queue1.offer(queue2.poll()); + } + int value=queue2.poll(); + queue1.offer(value); + flag=1; + return value; + } + } + + public boolean empty() { + return size==0?true:false; + } +} diff --git a/algorithms/java/src/_225_myStack/TestMyStack.java b/algorithms/java/src/_225_myStack/TestMyStack.java new file mode 100644 index 000000000..4df54c2bd --- /dev/null +++ b/algorithms/java/src/_225_myStack/TestMyStack.java @@ -0,0 +1,23 @@ +package _225_myStack; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 225. Implement Stack using Queues + */ +public class TestMyStack { +@Test +public void test(){ + MyStack stack=new MyStack(); + stack.push(1); + stack.push(2); + stack.push(3); + stack.push(4); + Assert.assertTrue(stack.empty()==false); + Assert.assertTrue(stack.pop()==4); + Assert.assertTrue(stack.pop()==3); + Assert.assertTrue(stack.top()==2); + stack.push(5); + Assert.assertTrue(stack.top()==5); +} +} diff --git a/algorithms/java/src/_232_myQueue/MyQueue.java b/algorithms/java/src/_232_myQueue/MyQueue.java new file mode 100644 index 000000000..204ff92dd --- /dev/null +++ b/algorithms/java/src/_232_myQueue/MyQueue.java @@ -0,0 +1,102 @@ +// Source : https://leetcode.com/problems/implement-queue-using-stacks/description/ +// Author : Tianming Cao +// Date : 2018-02-02 + +/********************************************************************************** + * Implement the following operations of a queue using stacks. + * + * push(x) -- Push element x to the back of queue. + * pop() -- Removes the element from in front of queue. + * peek() -- Get the front element. + * empty() -- Return whether the queue is empty. + * + * Notes: + * You must use only standard operations of a stack -- which means only push to top, peek/pop from top, size, and is empty operations are valid. + * Depending on your language, stack may not be supported natively. You may simulate a stack by using a list or deque (double-ended queue), as long as you use only standard operations of a stack. + * You may assume that all operations are valid (for example, no pop or peek operations will be called on an empty queue). + * + **********************************************************************************/ +package _232_myQueue; + +import java.util.Stack; + +/** + * This problem is a sibling of problem 225(https://leetcode.com/problems/implement-stack-using-queues/description/) + * The solution is: + * 1. stack1 is always in charge of push operation + * 2. stack2 is always in charge of peek and pop operation + * 3. if we want to do peek or pop operation, but stack2 is empty, + * we should first pop all the elements from stack1 and push them into stack2 in turn. + * Give a Example: + * + * First, push numbers "1,2,3,4,5" to stack1, then stack1's structure is: + * + * |5| + * |4| + * |3| + * |2| + * |1| + * + * Second, if we want to get the front element "1",we should pop all the elements of stack1 and push them into stack2, + * after this, stack1 is empty, and stack2's structrue is: + * + * |1| + * |2| + * |3| + * |4| + * |5| + * + * So we can get stack2's top element "1" as the front element of queue. + * + * Next, if we want to push "6" to the back of queue, we should push "6" into stack1 as before, so stack1's structure is: + * + * |6| + * + * Finally, if we want to do pop operation twice ,we should remove the top element of stack2 twice, so stack2's structure is: + * + * |3| + * |4| + * |5| + * + * as expect, the removed element is "1" and "2". + */ +public class MyQueue { + public Stack stack1; + public Stack stack2; + public int size; + public MyQueue() { + stack1 = new Stack(); + stack2 = new Stack(); + size = 0; + } + + public void push(int x) { + stack1.push(x); + size++; + } + + public int pop() { + if (stack2.isEmpty()) { + while (!stack1.isEmpty()) { + stack2.push(stack1.pop()); + } + } + int value = stack2.pop(); + size--; + return value; + } + + public int peek() { + if (stack2.isEmpty()) { + while (!stack1.isEmpty()) { + stack2.push(stack1.pop()); + } + } + int value = stack2.peek(); + return value; + } + + public boolean empty() { + return size == 0 ? true : false; + } +} diff --git a/algorithms/java/src/_232_myQueue/TestMyQueue.java b/algorithms/java/src/_232_myQueue/TestMyQueue.java new file mode 100644 index 000000000..84d6ca03d --- /dev/null +++ b/algorithms/java/src/_232_myQueue/TestMyQueue.java @@ -0,0 +1,23 @@ +package _232_myQueue; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 232. Implement Queue using Stacks + */ +public class TestMyQueue { + @Test + public void test(){ + MyQueue queue=new MyQueue(); + Assert.assertTrue(queue.empty()); + queue.push(1); + queue.push(2); + queue.push(3); + queue.push(4); + Assert.assertTrue(queue.pop()==1); + Assert.assertTrue(queue.pop()==2); + queue.push(5); + Assert.assertTrue(queue.peek()==3); + Assert.assertTrue(!queue.empty()); + } +} diff --git a/algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java b/algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java new file mode 100644 index 000000000..3d5b59189 --- /dev/null +++ b/algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java @@ -0,0 +1,38 @@ +// Source : https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/ +// Author : Tianming Cao +// Date : 2018-02-02 + +/********************************************************************************** + * Implement the following operations of a stack using queues. + + * Given a sorted array, remove the duplicates in-place such that each element appear only once and return the new length. + + * Do not allocate extra space for another array, + * you must do this by modifying the input array in-place with O(1) extra memory. + + * Example: + + * Given nums = [1,1,2], + + * Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. + * It doesn't matter what you leave beyond the new length. + * + **********************************************************************************/ +package _26_removeDuplicates; + +public class RemoveDuplicatesFromSortedArray { + public int removeDuplicates(int[] nums) { + if (nums == null || nums.length == 0) { + return 0; + } + int n = nums.length; + int len = 0; + for (int i = 1; i < n; i++) { + if (nums[i] != nums[len]) { + nums[len + 1] = nums[i]; + len++; + } + } + return len + 1; + } +} diff --git a/algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java b/algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java new file mode 100644 index 000000000..8c6933468 --- /dev/null +++ b/algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java @@ -0,0 +1,27 @@ +package _26_removeDuplicates; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 26. Remove Duplicates from Sorted Array + */ +public class TestRemoveDuplicates { + @Test + public void test() { + int[] nums1 = {0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4}; + RemoveDuplicatesFromSortedArray solution = new RemoveDuplicatesFromSortedArray(); + int len1 = solution.removeDuplicates(nums1); + Assert.assertTrue(len1 == 5); + assertSorted(nums1, len1); + int[] nums2 = {1, 2, 2, 2, 3, 4, 5, 6, 6, 7, 7, 7, 8}; + int len2 = solution.removeDuplicates(nums2); + Assert.assertTrue(len2 == 8); + assertSorted(nums2, len2); + } + private void assertSorted(int[] array, int len) { + for (int i = 0; i < len - 1; i++) { + Assert.assertTrue(array[i] < array[i + 1]); + } + } +} From cf79335e5b051cd0df786edfddc0601f6ad9f0e3 Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 3 Feb 2018 00:21:31 +0800 Subject: [PATCH 135/256] Readme.md for problem 26, problem 155, problem 189, problem 225 and problem 232 --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 22796d384..39a0f961d 100644 --- a/README.md +++ b/README.md @@ -112,14 +112,14 @@ LeetCode |235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinarySearchTree/LowestCommonAncestorOfABinarySearchTree.cpp)|Easy| |234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [C++](./algorithms/cpp/palindromeLinkedList/PalindromeLinkedList.cpp)|Easy| |233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [C++](./algorithms/cpp/numberOfDigitOne/NumberOfDigitOne.cpp)|Medium| -|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp)|Easy| +|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp), [Java](./algorithms/java/src/_232_myQueue/MyQueue.java)|Easy| |231|[Power of Two](https://leetcode.com/problems/power-of-two/)| [C++](./algorithms/cpp/powerOfTwo/PowerOfTwo.cpp)|Easy| |230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp)|Medium| |229|[Majority Element II](https://oj.leetcode.com/problems/majority-element-ii/) | [C++](./algorithms/cpp/majorityElement/majorityElement.II.cpp)|Medium| |228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [C++](./algorithms/cpp/summaryRanges/SummaryRanges.cpp)|Easy| |227|[Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.II.cpp)|Medium| |226|[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)| [C++](./algorithms/cpp/invertBinaryTree/InvertBinaryTree.cpp)|Easy| -|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [C++](./algorithms/cpp/implementStackUsingQueues/ImplementStackUsingQueues.cpp)|Medium| +|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [C++](./algorithms/cpp/implementStackUsingQueues/ImplementStackUsingQueues.cpp), [Java](./algorithms/java/src/_225_myStack/MyStack.java)|Medium| |224|[Basic Calculator](https://leetcode.com/problems/basic-calculator/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.cpp)|Medium| |223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [C++](./algorithms/cpp/rectangleArea/RectangleArea.cpp)|Easy| |222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [C++](./algorithms/cpp/countCompleteTreeNodes/CountCompleteTreeNodes.cpp)|Medium| @@ -149,7 +149,7 @@ LeetCode |198|[House Robber](https://leetcode.com/problems/house-robber/)| [C++](./algorithms/cpp/houseRobber/houseRobber.cpp)|Easy| |191|[Number of 1 Bits](https://oj.leetcode.com/problems/number-of-1-bits/)| [C++](./algorithms/cpp/numberOf1Bits/numberOf1Bits.cpp)|Easy| |190|[Reverse Bits](https://oj.leetcode.com/problems/reverse-bits/)| [C++](./algorithms/cpp/reverseBits/reverseBits.cpp)|Easy| -|189|[Rotate Array](https://oj.leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp)|Easy| +|189|[Rotate Array](https://oj.leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp), [Java](./algorithms/java/src/_189_rotateArray/RotateArray.java)|Easy| |188|[Best Time to Buy and Sell Stock IV](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp)|Hard| |187|[Repeated DNA Sequences](https://oj.leetcode.com/problems/repeated-dna-sequences/)| [C++](./algorithms/cpp/repeatedDNASequences/repeatedDNASequences.cpp)|Medium| |186|[Reverse Words in a String II](https://oj.leetcode.com/problems/reverse-words-in-a-string-ii/) ♥ | [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.II.cpp)|Medium| @@ -173,7 +173,7 @@ LeetCode |158|[Read N Characters Given Read4 II - Call multiple times](https://oj.leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.II.cpp)|Hard| |157|[Read N Characters Given Read4](https://oj.leetcode.com/problems/read-n-characters-given-read4/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.cpp)|Easy| |156|[Binary Tree Upside Down](https://oj.leetcode.com/problems/binary-tree-upside-down/) ♥ | [C++](./algorithms/cpp/binaryTreeUpsideDown/binaryTreeUpsideDown.cpp)|Medium| -|155|[Min Stack](https://oj.leetcode.com/problems/min-stack/)| [C++](./algorithms/cpp/minStack/minStack.cpp)|Easy| +|155|[Min Stack](https://oj.leetcode.com/problems/min-stack/)| [C++](./algorithms/cpp/minStack/minStack.cpp), [Java](./algorithms/java/src/_155_minStack/MinStack.java)|Easy| |154|[Find Minimum in Rotated Sorted Array II](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.II.cpp)|Hard| |153|[Find Minimum in Rotated Sorted Array](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp), [Java](./algorithms/java/src/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.java)|Medium| |152|[Maximum Product Subarray](https://oj.leetcode.com/problems/maximum-product-subarray/)| [C++](./algorithms/cpp/maximumProductSubarray/maximumProductSubarray.cpp)|Medium| @@ -302,7 +302,7 @@ LeetCode |29|[Divide Two Integers](https://oj.leetcode.com/problems/divide-two-integers/)| [C++](./algorithms/cpp/divideTwoInt/divideTwoInt.cpp)|Medium| |28|[Implement strStr()](https://oj.leetcode.com/problems/implement-strstr/)| [C++](./algorithms/cpp/strStr/strStr.cpp), [Java](./algorithms/java/src/strStr/strStr.java)|Easy| |27|[Remove Element](https://oj.leetcode.com/problems/remove-element/)| [C++](./algorithms/cpp/removeElement/removeElement.cpp)|Easy| -|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp)|Easy| +|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java)|Easy| |25|[Reverse Nodes in k-Group](https://oj.leetcode.com/problems/reverse-nodes-in-k-group/)| [C++](./algorithms/cpp/reverseNodesInKGroup/reverseNodesInKGroup.cpp)|Hard| |24|[Swap Nodes in Pairs](https://oj.leetcode.com/problems/swap-nodes-in-pairs/)| [C++](./algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp)|Medium| |23|[Merge k Sorted Lists](https://oj.leetcode.com/problems/merge-k-sorted-lists/)| [C++](./algorithms/cpp/mergeKSortedLists/mergeKSortedLists.cpp)|Hard| From 7b83329abd3dd4b736a8b0d2438098f1ec10481b Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 3 Feb 2018 23:19:53 +0800 Subject: [PATCH 136/256] rename dir/file --- README.md | 10 +++++----- .../java/src/{_155_minStack => minStack}/MinStack.java | 2 +- .../src/{_155_minStack => minStack}/TestMinStack.java | 2 +- .../java/src/{_232_myQueue => myQueue}/MyQueue.java | 2 +- .../src/{_232_myQueue => myQueue}/TestMyQueue.java | 2 +- .../java/src/{_225_myStack => myStack}/MyStack.java | 2 +- .../src/{_225_myStack => myStack}/TestMyStack.java | 2 +- .../RemoveDuplicatesFromSortedArray.java | 2 +- .../TestRemoveDuplicates.java | 2 +- .../{_189_rotateArray => rotateArray}/RotateArray.java | 4 ++-- .../TestRotateArray.java | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) rename algorithms/java/src/{_155_minStack => minStack}/MinStack.java (98%) rename algorithms/java/src/{_155_minStack => minStack}/TestMinStack.java (94%) rename algorithms/java/src/{_232_myQueue => myQueue}/MyQueue.java (99%) rename algorithms/java/src/{_232_myQueue => myQueue}/TestMyQueue.java (95%) rename algorithms/java/src/{_225_myStack => myStack}/MyStack.java (99%) rename algorithms/java/src/{_225_myStack => myStack}/TestMyStack.java (95%) rename algorithms/java/src/{_26_removeDuplicates => removeDuplicates}/RemoveDuplicatesFromSortedArray.java (97%) rename algorithms/java/src/{_26_removeDuplicates => removeDuplicates}/TestRemoveDuplicates.java (96%) rename algorithms/java/src/{_189_rotateArray => rotateArray}/RotateArray.java (95%) rename algorithms/java/src/{_189_rotateArray => rotateArray}/TestRotateArray.java (95%) diff --git a/README.md b/README.md index 39a0f961d..8b5b31ee3 100644 --- a/README.md +++ b/README.md @@ -112,14 +112,14 @@ LeetCode |235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinarySearchTree/LowestCommonAncestorOfABinarySearchTree.cpp)|Easy| |234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [C++](./algorithms/cpp/palindromeLinkedList/PalindromeLinkedList.cpp)|Easy| |233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [C++](./algorithms/cpp/numberOfDigitOne/NumberOfDigitOne.cpp)|Medium| -|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp), [Java](./algorithms/java/src/_232_myQueue/MyQueue.java)|Easy| +|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp), [Java](./algorithms/java/src/myQueue/MyQueue.java)|Easy| |231|[Power of Two](https://leetcode.com/problems/power-of-two/)| [C++](./algorithms/cpp/powerOfTwo/PowerOfTwo.cpp)|Easy| |230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp)|Medium| |229|[Majority Element II](https://oj.leetcode.com/problems/majority-element-ii/) | [C++](./algorithms/cpp/majorityElement/majorityElement.II.cpp)|Medium| |228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [C++](./algorithms/cpp/summaryRanges/SummaryRanges.cpp)|Easy| |227|[Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.II.cpp)|Medium| |226|[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)| [C++](./algorithms/cpp/invertBinaryTree/InvertBinaryTree.cpp)|Easy| -|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [C++](./algorithms/cpp/implementStackUsingQueues/ImplementStackUsingQueues.cpp), [Java](./algorithms/java/src/_225_myStack/MyStack.java)|Medium| +|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [C++](./algorithms/cpp/implementStackUsingQueues/ImplementStackUsingQueues.cpp), [Java](./algorithms/java/src/myStack/MyStack.java)|Medium| |224|[Basic Calculator](https://leetcode.com/problems/basic-calculator/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.cpp)|Medium| |223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [C++](./algorithms/cpp/rectangleArea/RectangleArea.cpp)|Easy| |222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [C++](./algorithms/cpp/countCompleteTreeNodes/CountCompleteTreeNodes.cpp)|Medium| @@ -149,7 +149,7 @@ LeetCode |198|[House Robber](https://leetcode.com/problems/house-robber/)| [C++](./algorithms/cpp/houseRobber/houseRobber.cpp)|Easy| |191|[Number of 1 Bits](https://oj.leetcode.com/problems/number-of-1-bits/)| [C++](./algorithms/cpp/numberOf1Bits/numberOf1Bits.cpp)|Easy| |190|[Reverse Bits](https://oj.leetcode.com/problems/reverse-bits/)| [C++](./algorithms/cpp/reverseBits/reverseBits.cpp)|Easy| -|189|[Rotate Array](https://oj.leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp), [Java](./algorithms/java/src/_189_rotateArray/RotateArray.java)|Easy| +|189|[Rotate Array](https://oj.leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp), [Java](./algorithms/java/src/rotateArray/RotateArray.java)|Easy| |188|[Best Time to Buy and Sell Stock IV](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp)|Hard| |187|[Repeated DNA Sequences](https://oj.leetcode.com/problems/repeated-dna-sequences/)| [C++](./algorithms/cpp/repeatedDNASequences/repeatedDNASequences.cpp)|Medium| |186|[Reverse Words in a String II](https://oj.leetcode.com/problems/reverse-words-in-a-string-ii/) ♥ | [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.II.cpp)|Medium| @@ -173,7 +173,7 @@ LeetCode |158|[Read N Characters Given Read4 II - Call multiple times](https://oj.leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.II.cpp)|Hard| |157|[Read N Characters Given Read4](https://oj.leetcode.com/problems/read-n-characters-given-read4/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.cpp)|Easy| |156|[Binary Tree Upside Down](https://oj.leetcode.com/problems/binary-tree-upside-down/) ♥ | [C++](./algorithms/cpp/binaryTreeUpsideDown/binaryTreeUpsideDown.cpp)|Medium| -|155|[Min Stack](https://oj.leetcode.com/problems/min-stack/)| [C++](./algorithms/cpp/minStack/minStack.cpp), [Java](./algorithms/java/src/_155_minStack/MinStack.java)|Easy| +|155|[Min Stack](https://oj.leetcode.com/problems/min-stack/)| [C++](./algorithms/cpp/minStack/minStack.cpp), [Java](./algorithms/java/src/minStack/MinStack.java)|Easy| |154|[Find Minimum in Rotated Sorted Array II](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.II.cpp)|Hard| |153|[Find Minimum in Rotated Sorted Array](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp), [Java](./algorithms/java/src/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.java)|Medium| |152|[Maximum Product Subarray](https://oj.leetcode.com/problems/maximum-product-subarray/)| [C++](./algorithms/cpp/maximumProductSubarray/maximumProductSubarray.cpp)|Medium| @@ -302,7 +302,7 @@ LeetCode |29|[Divide Two Integers](https://oj.leetcode.com/problems/divide-two-integers/)| [C++](./algorithms/cpp/divideTwoInt/divideTwoInt.cpp)|Medium| |28|[Implement strStr()](https://oj.leetcode.com/problems/implement-strstr/)| [C++](./algorithms/cpp/strStr/strStr.cpp), [Java](./algorithms/java/src/strStr/strStr.java)|Easy| |27|[Remove Element](https://oj.leetcode.com/problems/remove-element/)| [C++](./algorithms/cpp/removeElement/removeElement.cpp)|Easy| -|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java)|Easy| +|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java)|Easy| |25|[Reverse Nodes in k-Group](https://oj.leetcode.com/problems/reverse-nodes-in-k-group/)| [C++](./algorithms/cpp/reverseNodesInKGroup/reverseNodesInKGroup.cpp)|Hard| |24|[Swap Nodes in Pairs](https://oj.leetcode.com/problems/swap-nodes-in-pairs/)| [C++](./algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp)|Medium| |23|[Merge k Sorted Lists](https://oj.leetcode.com/problems/merge-k-sorted-lists/)| [C++](./algorithms/cpp/mergeKSortedLists/mergeKSortedLists.cpp)|Hard| diff --git a/algorithms/java/src/_155_minStack/MinStack.java b/algorithms/java/src/minStack/MinStack.java similarity index 98% rename from algorithms/java/src/_155_minStack/MinStack.java rename to algorithms/java/src/minStack/MinStack.java index 80e002633..7129779d9 100644 --- a/algorithms/java/src/_155_minStack/MinStack.java +++ b/algorithms/java/src/minStack/MinStack.java @@ -20,7 +20,7 @@ * minStack.getMin(); --> Returns -2. * **********************************************************************************/ -package _155_minStack; +package minStack; import java.util.Stack; diff --git a/algorithms/java/src/_155_minStack/TestMinStack.java b/algorithms/java/src/minStack/TestMinStack.java similarity index 94% rename from algorithms/java/src/_155_minStack/TestMinStack.java rename to algorithms/java/src/minStack/TestMinStack.java index 5adbb43f0..3c1f9c5f3 100644 --- a/algorithms/java/src/_155_minStack/TestMinStack.java +++ b/algorithms/java/src/minStack/TestMinStack.java @@ -1,4 +1,4 @@ -package _155_minStack; +package minStack; import org.junit.Assert; import org.junit.Test; diff --git a/algorithms/java/src/_232_myQueue/MyQueue.java b/algorithms/java/src/myQueue/MyQueue.java similarity index 99% rename from algorithms/java/src/_232_myQueue/MyQueue.java rename to algorithms/java/src/myQueue/MyQueue.java index 204ff92dd..1abde5b6f 100644 --- a/algorithms/java/src/_232_myQueue/MyQueue.java +++ b/algorithms/java/src/myQueue/MyQueue.java @@ -16,7 +16,7 @@ * You may assume that all operations are valid (for example, no pop or peek operations will be called on an empty queue). * **********************************************************************************/ -package _232_myQueue; +package myQueue; import java.util.Stack; diff --git a/algorithms/java/src/_232_myQueue/TestMyQueue.java b/algorithms/java/src/myQueue/TestMyQueue.java similarity index 95% rename from algorithms/java/src/_232_myQueue/TestMyQueue.java rename to algorithms/java/src/myQueue/TestMyQueue.java index 84d6ca03d..cc77ca169 100644 --- a/algorithms/java/src/_232_myQueue/TestMyQueue.java +++ b/algorithms/java/src/myQueue/TestMyQueue.java @@ -1,4 +1,4 @@ -package _232_myQueue; +package myQueue; import org.junit.Assert; import org.junit.Test; diff --git a/algorithms/java/src/_225_myStack/MyStack.java b/algorithms/java/src/myStack/MyStack.java similarity index 99% rename from algorithms/java/src/_225_myStack/MyStack.java rename to algorithms/java/src/myStack/MyStack.java index ae3016d3d..1c995c554 100644 --- a/algorithms/java/src/_225_myStack/MyStack.java +++ b/algorithms/java/src/myStack/MyStack.java @@ -15,7 +15,7 @@ * You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack). * **********************************************************************************/ -package _225_myStack; +package myStack; import java.util.LinkedList; import java.util.Queue; diff --git a/algorithms/java/src/_225_myStack/TestMyStack.java b/algorithms/java/src/myStack/TestMyStack.java similarity index 95% rename from algorithms/java/src/_225_myStack/TestMyStack.java rename to algorithms/java/src/myStack/TestMyStack.java index 4df54c2bd..0dd54382b 100644 --- a/algorithms/java/src/_225_myStack/TestMyStack.java +++ b/algorithms/java/src/myStack/TestMyStack.java @@ -1,4 +1,4 @@ -package _225_myStack; +package myStack; import org.junit.Assert; import org.junit.Test; diff --git a/algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java b/algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java similarity index 97% rename from algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java rename to algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java index 3d5b59189..98a7aa70e 100644 --- a/algorithms/java/src/_26_removeDuplicates/RemoveDuplicatesFromSortedArray.java +++ b/algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java @@ -18,7 +18,7 @@ * It doesn't matter what you leave beyond the new length. * **********************************************************************************/ -package _26_removeDuplicates; +package removeDuplicates; public class RemoveDuplicatesFromSortedArray { public int removeDuplicates(int[] nums) { diff --git a/algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java b/algorithms/java/src/removeDuplicates/TestRemoveDuplicates.java similarity index 96% rename from algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java rename to algorithms/java/src/removeDuplicates/TestRemoveDuplicates.java index 8c6933468..fab6a54b6 100644 --- a/algorithms/java/src/_26_removeDuplicates/TestRemoveDuplicates.java +++ b/algorithms/java/src/removeDuplicates/TestRemoveDuplicates.java @@ -1,4 +1,4 @@ -package _26_removeDuplicates; +package removeDuplicates; import org.junit.Assert; import org.junit.Test; diff --git a/algorithms/java/src/_189_rotateArray/RotateArray.java b/algorithms/java/src/rotateArray/RotateArray.java similarity index 95% rename from algorithms/java/src/_189_rotateArray/RotateArray.java rename to algorithms/java/src/rotateArray/RotateArray.java index c60da01a1..899f53be8 100644 --- a/algorithms/java/src/_189_rotateArray/RotateArray.java +++ b/algorithms/java/src/rotateArray/RotateArray.java @@ -15,7 +15,7 @@ * Related problem: Reverse Words in a String II * **********************************************************************************/ -package _189_rotateArray; +package rotateArray; /********************************************************************************** * * For example, with n = 9 and k = 4, the array is [1,2,3,4,5,6,7,8,9] @@ -23,7 +23,7 @@ * 1. Reverse 1-5 to [5,4,3,2,1] * 2. Reverse 6-9 to [9,8,7,6] * 3. Reverse the entire array [5,4,3,2,1,9,8,7,6] to [6,7,8,9,1,2,3,4,5] - * This is a liner time and in-place algorithm + * It's a liner time and in-place algorithm * **********************************************************************************/ public class RotateArray { diff --git a/algorithms/java/src/_189_rotateArray/TestRotateArray.java b/algorithms/java/src/rotateArray/TestRotateArray.java similarity index 95% rename from algorithms/java/src/_189_rotateArray/TestRotateArray.java rename to algorithms/java/src/rotateArray/TestRotateArray.java index fcc192c70..15a41ca77 100644 --- a/algorithms/java/src/_189_rotateArray/TestRotateArray.java +++ b/algorithms/java/src/rotateArray/TestRotateArray.java @@ -1,4 +1,4 @@ -package _189_rotateArray; +package rotateArray; import java.util.Arrays; From 1da21efbfc5de0da58c1a658346728de5d5470c7 Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 3 Feb 2018 23:28:00 +0800 Subject: [PATCH 137/256] rename dir/file --- .../RemoveDuplicatesFromSortedArray.java | 2 +- .../TestRemoveDuplicates.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename algorithms/java/src/{removeDuplicates => removeDuplicatesFromSortedArray}/RemoveDuplicatesFromSortedArray.java (96%) rename algorithms/java/src/{removeDuplicates => removeDuplicatesFromSortedArray}/TestRemoveDuplicates.java (94%) diff --git a/algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java b/algorithms/java/src/removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.java similarity index 96% rename from algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java rename to algorithms/java/src/removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.java index 98a7aa70e..fb877c838 100644 --- a/algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java +++ b/algorithms/java/src/removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.java @@ -18,7 +18,7 @@ * It doesn't matter what you leave beyond the new length. * **********************************************************************************/ -package removeDuplicates; +package removeDuplicatesFromSortedArray; public class RemoveDuplicatesFromSortedArray { public int removeDuplicates(int[] nums) { diff --git a/algorithms/java/src/removeDuplicates/TestRemoveDuplicates.java b/algorithms/java/src/removeDuplicatesFromSortedArray/TestRemoveDuplicates.java similarity index 94% rename from algorithms/java/src/removeDuplicates/TestRemoveDuplicates.java rename to algorithms/java/src/removeDuplicatesFromSortedArray/TestRemoveDuplicates.java index fab6a54b6..7756f45b6 100644 --- a/algorithms/java/src/removeDuplicates/TestRemoveDuplicates.java +++ b/algorithms/java/src/removeDuplicatesFromSortedArray/TestRemoveDuplicates.java @@ -1,4 +1,4 @@ -package removeDuplicates; +package removeDuplicatesFromSortedArray; import org.junit.Assert; import org.junit.Test; From f31071eed43d675cf54e0eabf5df62429d0d443c Mon Sep 17 00:00:00 2001 From: kosora Date: Sat, 3 Feb 2018 23:30:36 +0800 Subject: [PATCH 138/256] rename dir/file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b5b31ee3..a93a4aded 100644 --- a/README.md +++ b/README.md @@ -302,7 +302,7 @@ LeetCode |29|[Divide Two Integers](https://oj.leetcode.com/problems/divide-two-integers/)| [C++](./algorithms/cpp/divideTwoInt/divideTwoInt.cpp)|Medium| |28|[Implement strStr()](https://oj.leetcode.com/problems/implement-strstr/)| [C++](./algorithms/cpp/strStr/strStr.cpp), [Java](./algorithms/java/src/strStr/strStr.java)|Easy| |27|[Remove Element](https://oj.leetcode.com/problems/remove-element/)| [C++](./algorithms/cpp/removeElement/removeElement.cpp)|Easy| -|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/removeDuplicates/RemoveDuplicatesFromSortedArray.java)|Easy| +|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.java)|Easy| |25|[Reverse Nodes in k-Group](https://oj.leetcode.com/problems/reverse-nodes-in-k-group/)| [C++](./algorithms/cpp/reverseNodesInKGroup/reverseNodesInKGroup.cpp)|Hard| |24|[Swap Nodes in Pairs](https://oj.leetcode.com/problems/swap-nodes-in-pairs/)| [C++](./algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp)|Medium| |23|[Merge k Sorted Lists](https://oj.leetcode.com/problems/merge-k-sorted-lists/)| [C++](./algorithms/cpp/mergeKSortedLists/mergeKSortedLists.cpp)|Hard| From eb6b03157341d4eba5147affc7d8dd4af715961b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 4 Feb 2018 12:14:05 +0800 Subject: [PATCH 139/256] remove `DockerCircles` and add problem description for sentence sereen fitting --- README.md | 3 +- .../P1/Description.md | 43 ---- .../P1/bin/DockerCircles | Bin 278860 -> 0 bytes .../P1/images/demo1.png | Bin 148648 -> 0 bytes .../P1/images/demo2.png | Bin 513439 -> 0 bytes .../P1/include/Tree.hpp | 214 ------------------ .../cpp/DockerCircles2017-DriveAI/P1/makefile | 71 ------ .../DockerCircles2017-DriveAI/P1/src/Tree.cpp | 153 ------------- .../DockerCircles2017-DriveAI/P1/src/Tree.o | Bin 1277872 -> 0 bytes .../DockerCircles2017-DriveAI/P1/src/main.cpp | 61 ----- .../DockerCircles2017-DriveAI/P1/src/main.o | Bin 274904 -> 0 bytes .../P1/tests/Docker_Three_Layers.in | 2 - .../P1/tests/Docker_Three_Layers.out | 17 -- algorithms/cpp/sentenceScreenFitting/main.cpp | 2 +- .../{OJ#418.cpp => sentenceScreenFitting.cpp} | 73 +++++- .../{OJ#418.h => sentenceScreenFitting.h} | 0 16 files changed, 73 insertions(+), 566 deletions(-) delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md delete mode 100755 algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/images/demo1.png delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/images/demo2.png delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.cpp delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in delete mode 100644 algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out rename algorithms/cpp/sentenceScreenFitting/{OJ#418.cpp => sentenceScreenFitting.cpp} (67%) rename algorithms/cpp/sentenceScreenFitting/{OJ#418.h => sentenceScreenFitting.h} (100%) diff --git a/README.md b/README.md index a93a4aded..3ae2ba35e 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| -|419|[DockerCircles](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/blob/master/DockerCircles2017-DriveAI/P1/Description.md) ♥ | [c++](./algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp) |Hard| -|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/OJ#418.cpp)|Easy| +|418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md b/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md deleted file mode 100644 index 9736b5e76..000000000 --- a/algorithms/cpp/DockerCircles2017-DriveAI/P1/Description.md +++ /dev/null @@ -1,43 +0,0 @@ -Docker Build Dependencies -========================= - - (Lei Wang, yiak.wy@gmail.com RECALL the problem and made his own version, ALL RIGHTS RESERVED!) - -Engineers use docker to build environment. It is a little bit like using Virutal Machine \(Virtual Box from Oracle, or VMware\). -Fetch the docker image from repository, you can build software directly upon it. e.g: - -> if an engineer A insall python in a docker image or server, say Master, another engineer B can use python directly and install other dependencies like py-test. - -People can also publish images B from existing image A. For example: - -> we already have image Master, we can build another image Ubuntu \(ip: 0.0.10.1\) and install django inside it. Now, docker image Ubuntu 10.1 is now available for retrieving. You can hereby develop a new image upon it. - -## Taks Specification - -Engineers want to install a new software, which may depend on a series of Docker images. This may frequently happen anywhere in Docker World! Docker build system should execute an routine to update whole system's patches, which subject to the following easy understood conditions: - -1. each docker image should have dependency upon another docker image; we call it is the parent of the docker image. In this game, it is unique. -2. a patch cannot be added into the current image only after its parent finish updating. -3. if a series of docker images has a circle, we cannot build patches upon them; we need to discard them temporally. - -Given a sequence of docker dependences: - -```c++ -// , , ... -vector> Relation -``` - -Try to give a build order by solving the following function - -```c++ -shared_ptr> BuildDocker(vector>) -``` - -You can specify additional structures, classes or helper functions. The codes should be finished in C++14. - -Give your answer within at most 1 hour! - -Here is a solution from yiak \(yaik.wy@gmail.com\), for more information please refer to course "Graphics and Basic Tree Operations" - -![demo1](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/raw/master/DockerCircles2017-DriveAI/P1/images/demo1.png) -![demo2](https://github.com/yiakwy/Onsite-Blackboard-Code-Interview/raw/master/DockerCircles2017-DriveAI/P1/images/demo2.png) diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles b/algorithms/cpp/DockerCircles2017-DriveAI/P1/bin/DockerCircles deleted file mode 100755 index fa6483301346d5c20d1f331a0657e16a66973e6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278860 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
72AhAj06=dT+HP!K3hd-U@LkWkrriUNIedY)o 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ℜ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

`+4pb0b?G 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%0DPHULK{_wnmD8bK3nC^-7knnUv-2Vg+y_ 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]f5S4_XAF`Fn(I|#-&|PI<8lcHU%9|zu(FZ%v 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

HB&P9Qxw=b%9)WIK}b_F+gfeD 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

#IC!iJ^xk9G>(ks<`jl=)22 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� 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 z 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%0DU$am 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 diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp b/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp deleted file mode 100644 index cab9e0697..000000000 --- a/algorithms/cpp/DockerCircles2017-DriveAI/P1/include/Tree.hpp +++ /dev/null @@ -1,214 +0,0 @@ -// -// Tree.hpp -// Docker_Dependencies -// -// Created by Wang Yi on 7/4/17. -// Copyright © 2017 Wang Yiyiak.co. All rights reserved. -// - -#ifndef Tree_hpp -#define Tree_hpp - -#include -#include -using std::vector; -#include -#include -#include -#include -using std::unordered_map; -using std::pair; -using std::stack; -using std::queue; -using std::set; - -#include -using std::string; - -#include -using std::shared_ptr; - -class TreeNode { -public: - TreeNode(string name):img(name), parent(nullptr), m_pos(0){}; - TreeNode(const TreeNode& nd) - { - if (this != &nd) - { - this->img = nd.img; - this->children = nd.children; - this->parent = nd.parent; - this->m_pos = nd.m_pos; - } - } - - TreeNode& operator = (const TreeNode& nd){ - if (this != &nd) - { - this->img = nd.img; - this->children = nd.children; - this->parent = nd.parent; - this->m_pos = nd.m_pos; - } - return *this; - } - - virtual ~TreeNode(){ - for (auto child : children){ - delete child; - } - }; - - void add(TreeNode* child){children.push_back(child);}; - void set_pos(int pos){this->m_pos = pos;}; - - vector wfs(); - // please refer to this question: http://stackoverflow.com/questions/1549930/c-equivalent-of-java-tostring for more details - string _str() const {return string(" Node: <") + this->img + string("> ");} - virtual std::ostream& dump(std::ostream& o) const { - return o << _str(); - } - - string img; - vector children; - TreeNode* parent; - int m_pos; - -}; - -std::ostream& operator<<(std::ostream& o, const TreeNode& t); - -vector& build_children(TreeNode* parent, vector imgs, unordered_map visited); -vector build_Tree_Merged(vector>& edges); -shared_ptr> DockerBuildDependency(vector>& Relation); - -#define TAIL "└──" -#define NORMAL_NODE "├──" -#define INDENT_PREFIX "| " -#define INDENT_PREFIX_FOR_LAST " " -#define ROOT_PREFIX "───" -#define INDENT_STEP 3 - -template class _tree_node_printer { -public: - _tree_node_printer(Tree* t=nullptr): m_tree(t){}; - _tree_node_printer(const _tree_node_printer& nd) - { - if (this != &nd) - { - m_tree = nd.m_tree; - prefix = nd.prefix; - isRoot = nd.isRoot; - isTail = nd.isTail; - } - } - - _tree_node_printer& operator = (const _tree_node_printer& nd) - { - if (this != &nd) - { - m_tree = nd.m_tree; - prefix = nd.prefix; - isRoot = nd.isRoot; - isTail = nd.isTail; - } - return *this; - } - - virtual ~_tree_node_printer() - { - for (auto child : children){ - delete child; - } - } - - string _str(); - vector<_tree_node_printer*> build_children() - { - if (m_tree->children.size() != 0 && children.size() == 0) - { - int i=0; - for (i=0; i < m_tree->children.size() - 1; i++) - { - Tree* child = m_tree->children[i]; - _tree_node_printer* nd = new _tree_node_printer(child); - nd->prefix = string(NORMAL_NODE); - children.push_back(nd); - } - - if (m_tree->children.size() - 1 >= 0) - { - Tree* child = m_tree->children[m_tree->children.size() - 1]; - _tree_node_printer* nd = new _tree_node_printer(child); - nd->prefix = string(TAIL); - nd->isTail = true; - children.push_back(nd); - } - - } - - return children; - } - - virtual std::ostream& dump(std::ostream& o) { - return o << _str(); - } - -private: - Tree* m_tree; - - // fmt info - string prefix = ""; - string indent = ""; - bool isRoot = false; - bool isTail = false; - - vector<_tree_node_printer*> children; -}; - -typedef _tree_node_printer TreeNodePrinter; - -template -string -_tree_node_printer::_str() { - vector temp; - string ret; - stack<_tree_node_printer*> s; - - this->prefix = string("\n") + string(ROOT_PREFIX); - this->isRoot = true; - this->isTail = true; - - s.push(this); - vector<_tree_node_printer*> children; - _tree_node_printer* curr=nullptr; - - - while(!s.empty()) - { - curr = s.top(); s.pop(); - string indent = curr->indent; - - // visit func - temp.push_back(indent + curr->prefix + curr->m_tree->_str() + string("\n")); - - auto children = curr->build_children(); - std::reverse(children.begin(), children.end()); - for(auto child : children) - { - string curr_indent = curr->isTail == true ? string(INDENT_PREFIX_FOR_LAST) : string(INDENT_PREFIX); - child->indent = indent + curr_indent; - s.push(child); - } - - } - - // we can use boost::algorithm::join(vec, delim) here - for (string el : temp) - { - ret += el; - } - return ret; -} - -#endif /* Tree_hpp */ diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile b/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile deleted file mode 100644 index 272540d06..000000000 --- a/algorithms/cpp/DockerCircles2017-DriveAI/P1/makefile +++ /dev/null @@ -1,71 +0,0 @@ -PWD=. -project_name=DockerCircles -TARGET=$(project_name) - -exclude_dirs= include bin lib -CXX=clang++ -CC=gcc -RM=rm -rf - -exec=./bin -include=./include -lib=./lib - -LIBS=-lm -L/usr/local/Cellar/glog/0.3.4_1/lib \ - -L/usr/local/Cellar/boost157/1.57.0/lib \ - -L/usr/local/lib\ - -lglog - -CFLAGS= -Wall -c -CPPFLAGS= -g -Wall -Wno-unused -Wno-write-strings \ - -I/usr/local/Cellar/boost157/1.57.0/include/ \ - -I/usr/local/Cellar/glog/0.3.4_1/include/ \ - -I/usr/local/include/ - -SRCS=$(wildcard *.cpp) \ - $(wildcard $(SRCS_DIR)/*.cpp) -CSRCS=$(wildcard $(SRCS_DIR)/*.c) - -SRCS_DIR=./src -# OBJ=$(SRCS: .cpp=.o) -OBJ=$(patsubst %.cpp, %.o, $(SRCS)) -COBJ=$(patsubst %.c, %.o, $(CSRCS)) - -# LINK WITH link flags -$(TARGET): $(OBJ) $(COBJ) - $(CXX) -v $(CPPFLAGS) -I$(include) -std=c++11 -stdlib=libc++ $^ $(LIBS) -o $@ - mv $@ $(exec)/ - -# COMPILE with compile flagsa -%.o : %.c - $(CC) -v -std=gnu99 -I$(include) $(CFLAGS) -c $< -o $@ - @echo $(GREEN) [INFO] $(COLOR_OFF) "find C sources: " $(CSRCS) -%.o : %.cpp - $(CXX) -v -std=c++11 -stdlib=libc++ -I$(include) $(CPPFLAGS) -c $< -o $@ - @echo $(GREEN) [INFO] $(COLOR_OFF) "find CPP sources: " $(SRCS) - -.PHONY: clean -clean: - @echo $(GREEN) [INFO] $(COLOR_OFF) "find objs: " $(OBJ) $(COBJ) - $(RM) $(OBJ) $(exec)/$(TARGET) - -all: $(TARGET) - @echo $(GREEN) [INFO] $(COLOR_OFF) "find sources: " $(SRCS) - @echo $(GREEN) [INFO] $(COLOR_OFF) "target has been complied!" - -run: $(TARGET) - $(exec)/$(TARGET) - -COLOR_OFF='\033[0m' -GREEN='\033[0;32m' - -headers=$(wildcard $(include)/*.h) \ - $(wildcard $(include)/*.hpp) - -init: - @ echo $(GREEN) [INFO] $(COLOR_OFF) "headers are : " "$(headers)" - @ echo $(GREEN) [INFO] $(COLOR_OFF) "srcs are" : "$(SRCS)" - @[ -d include ] || (mkdir include && -mv "$(HEADERS)" --target-directory=include/) - @[ -d bin ] || mkdir bin - @[ -d lib ] || mkdir lib - @[ -d src ] || (mkdir src && mv "$(SRCS)" --target-directory=src/) diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp deleted file mode 100644 index 4a11754a3..000000000 --- a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.cpp +++ /dev/null @@ -1,153 +0,0 @@ -// -// Tree.cpp -// Docker_Dependencies -// -// Created by Wang Yi on 7/4/17. -// Copyright © 2017 Wang Yiyiak.co. All rights reserved. -// - -#include "Tree.hpp" -std::ostream& operator<<(std::ostream& o, const TreeNode& t) -{ - return t.dump(o); -} - -vector -TreeNode::wfs() -{ - vector ret; - queue q; - q.push(this); - vector children; - int depth = 1; - TreeNode* curr = nullptr; - int curr_no = 1, next_no = 0; - - while (!q.empty()) - { - curr = q.front(); q.pop(); - - // visit - ret.push_back(curr); - curr_no --; - - auto children = curr->children; - next_no += (int)children.size(); - - if (curr_no == 0){ - depth++; - curr_no = next_no; - next_no = 0; - } - - for(auto child : children) - { - q.push(child); - } - - } - - return ret; - -} - -// typedef _treenode TreeNode; - -vector& build_children(TreeNode* parent, vector imgs, unordered_map visited) -{ - int i=0; - for(i=0; iset_pos(i); - nd->parent = parent; - parent->children.push_back(nd); - - } - return parent->children; -} - -vector build_Tree_Merged(vector>& edges) -{ - unordered_map> g_edges; - stack s; - unordered_map visited; - TreeNode* curr; - TreeNode* p; - vector forest; - vector ret; - TreeNode sentinel("Sentinel") ; - - for(auto edge : edges) - { - // base tree or directed graph egdes build - string name = edge.second; - if(g_edges.find(name) != g_edges.end()) - { - g_edges[name].push_back(edge.first); - } else { - vector children(1, edge.first); - g_edges[name] = children; - forest.push_back(new TreeNode(name)); - } - } - - // merge trees - for(auto tree: forest){ - s.push(tree); - - while(!s.empty()){ - curr = s.top(); s.pop(); - if (visited.find(curr->img) != visited.end()) - { - // a circle find - p = curr->parent; - if (p != nullptr) - p->children.erase(p->children.begin() + curr->m_pos); - else { curr->parent = &sentinel; curr->set_pos(sentinel.m_pos++); } - continue; - } - visited[curr->img] = curr; - vector imgs = g_edges[curr->img]; - auto children = build_children(curr, imgs, visited); - for (auto child : children){ s.push(child); } - - } // end while - - } // end for - - // be considered susptect for copy cost - for(auto tree : forest){ - if (tree->parent == nullptr){ - TreeNodePrinter tnp(tree); - std::cout << "------" << std::endl; - std::cout << tnp._str(); - ret.push_back(tree); - } - } - - return ret; -} - -shared_ptr> DockerBuildDependency(vector>& Relation) -{ - shared_ptr> ret(new vector()); - vector forest = build_Tree_Merged(Relation); - for (auto tree : forest) - { - vector nd_seq = tree->wfs(); - vector imgs_seq; - for(auto nd : nd_seq) - { - imgs_seq.push_back(nd->img); - } - ret->insert(ret->end(), imgs_seq.begin(), imgs_seq.end()); - } - return ret; -} diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/Tree.o deleted file mode 100644 index 05785b0a6a69753b55bdb6fc785a7f8caa8303e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277872 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%0AF$JOZ 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 -#include -#include -#include -using std::string; -#include -using std::pair; -using std::make_pair; -#include "Tree.hpp" - -#define FOR(s, e) \ -for(s=0; s < e; s++) { -#define END ;} - -int main(int argc, const char * argv[]) { - int N; - std::cout << "Input the Number of imgs dependencies: "; - std::cin >> N; - vector> Rel(N); - vector item(2); - std::stringstream split, kw; - string line; - string temp, part; - - std::getline(std::cin, line); - - int i=0, j; - while(i < N) { - std::getline(std::cin, line); - split << line; - while (split >> temp && i < N){ - kw.str(temp); - j = 0; - while (std::getline(kw, part, ',') && j < 2) - { - item[j++] = part; - } - Rel.at(i++) = pair(item[0],item[1]); - kw.clear(); - } - - } - - shared_ptr> ret = DockerBuildDependency(Rel); - - for (auto item : *ret) - { - std::cout << item << ' '; - } - std::cout << std::endl; - - return 0; -} \ No newline at end of file diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o b/algorithms/cpp/DockerCircles2017-DriveAI/P1/src/main.o deleted file mode 100644 index c86ae53332addd6a1dee1de85a9843b3d4d0cc66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274904 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

ti20Hm$ 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 diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in deleted file mode 100644 index de75bc22d..000000000 --- a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.in +++ /dev/null @@ -1,2 +0,0 @@ -7 -Ubuntu10.1,Master Ubuntu10.2,Master Ubuntu10.3,Master vm1,Ubuntu10.9 vm2,Ubuntu10.2 division1,Ubuntu10.2 Ubuntu11.2,google-server diff --git a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out b/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out deleted file mode 100644 index 30245dff9..000000000 --- a/algorithms/cpp/DockerCircles2017-DriveAI/P1/tests/Docker_Three_Layers.out +++ /dev/null @@ -1,17 +0,0 @@ -Input the Number of imgs dependencies: ------ - -─── Node: - ├── Node: - ├── Node: - | ├── Node: - | └── Node: - └── Node: ------- - -─── Node: - └── Node: ------- - -─── Node: - └── Node: -Master Ubuntu10.1 Ubuntu10.2 Ubuntu10.3 vm2 division1 Ubuntu10.9 vm1 google-server Ubuntu11.2 diff --git a/algorithms/cpp/sentenceScreenFitting/main.cpp b/algorithms/cpp/sentenceScreenFitting/main.cpp index 8ee89954d..b713ec859 100644 --- a/algorithms/cpp/sentenceScreenFitting/main.cpp +++ b/algorithms/cpp/sentenceScreenFitting/main.cpp @@ -11,7 +11,7 @@ #include #include #include -#include "OJ#418.h" +#include "sentenceScreenFitting.h" #define N 100 #define M 10 diff --git a/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp b/algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp similarity index 67% rename from algorithms/cpp/sentenceScreenFitting/OJ#418.cpp rename to algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp index ca2dc9c5c..b6d7542b8 100644 --- a/algorithms/cpp/sentenceScreenFitting/OJ#418.cpp +++ b/algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp @@ -6,7 +6,76 @@ // Copyright (c) 2016 Wang Yi. All rights reserved. // -#include "OJ#418.h" + +/********************************************************************************** + * + * Given a rows x cols screen and a sentence represented by a list of words, find + * how many times the given sentence can be fitted on the screen. + * + * Note: + * + * A word cannot be split into two lines. + * The order of words in the sentence must remain unchanged. + * Two consecutive words in a line must be separated by a single space. + * Total words in the sentence won't exceed 100. + * Length of each word won't exceed 10. + * 1 ≤ rows, cols ≤ 20,000. + * + * + * + * Example 1: + * + * Input: + * rows = 2, cols = 8, sentence = ["hello", "world"] + * + * Output: + * 1 + * + * Explanation: + * hello--- + * world--- + * + * The character '-' signifies an empty space on the screen. + * + * + * + * Example 2: + * + * Input: + * rows = 3, cols = 6, sentence = ["a", "bcd", "e"] + * + * Output: + * 2 + * + * Explanation: + * a-bcd- + * e-a--- + * bcd-e- + * + * The character '-' signifies an empty space on the screen. + * + * + * + * Example 3: + * + * Input: + * rows = 4, cols = 5, sentence = ["I", "had", "apple", "pie"] + * + * Output: + * 1 + * + * Explanation: + * I-had + * apple + * pie-I + * had-- + * + * The character '-' signifies an empty space on the screen. + * + * *********************************************************************************/ + + +#include "sentenceScreenFitting.h" #include #include #include @@ -125,4 +194,4 @@ int Solution::wordsTyping(vector& sentence, int rows, int cols) END return ret; -} \ No newline at end of file +} diff --git a/algorithms/cpp/sentenceScreenFitting/OJ#418.h b/algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.h similarity index 100% rename from algorithms/cpp/sentenceScreenFitting/OJ#418.h rename to algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.h From 9e4c01b4d175dbfd5e765705836f9de325177053 Mon Sep 17 00:00:00 2001 From: andyli Date: Sat, 12 Aug 2017 10:59:00 +0800 Subject: [PATCH 140/256] fix the bug --- algorithms/cpp/majorityElement/majorityElement.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/algorithms/cpp/majorityElement/majorityElement.cpp b/algorithms/cpp/majorityElement/majorityElement.cpp index 2df47d1ef..802ef6283 100644 --- a/algorithms/cpp/majorityElement/majorityElement.cpp +++ b/algorithms/cpp/majorityElement/majorityElement.cpp @@ -32,7 +32,7 @@ int majorityElement(vector &num) { cnt++; }else{ majority == num[i] ? cnt++ : cnt --; - if (cnt >= num.size()/2) return majority; + if (cnt > num.size()/2) return majority; } } return majority; @@ -59,7 +59,8 @@ vector split(const string &s, char delim) { int main(int argc, char** argv) { - string array = "1,2,1,2,1,2,1,2,1,2,1"; + //string array = "1,2,1,2,1,2,1,2,1,2,1"; + string array = "2,2,1,1,1"; if (argc > 1){ array = argv[1]; } From cfd929334a9d1af7792f1d9ad5db10e3e290e5ba Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 6 Feb 2018 00:18:28 +0800 Subject: [PATCH 141/256] [Linux]fix the download link - xidel download link seems use different domain, and should use sudo install the xidel --- scripts/lib/query_problem.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index 7eb6ac8c1..66b7c5737 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -83,10 +83,10 @@ function install_xidel() esac if [ ! -f ${xidel_tar} ]; then echo "Downloading xidel......" - curl -L http://softlayer-sng.dl.sourceforge.net/project/videlibri/Xidel/Xidel%20${xidel_ver}/${xidel_tar} -o ${xidel_tar} + curl -s -L https://jaist.dl.sourceforge.net/project/videlibri/Xidel/Xidel%20${xidel_ver}/${xidel_tar} -o ${xidel_tar} fi tar -zxvf ${xidel_tar} - ./install.sh + sudo ./install.sh fi #install the xidel on MacOS platform From 0fdf1005493af2397d8ad381996590c6d6054d9e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 6 Feb 2018 00:19:20 +0800 Subject: [PATCH 142/256] fix: the xidel rename the -q option to -s after 0.9.4 version, so we have to check the option automatically --- scripts/lib/query_problem.sh | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index 66b7c5737..b803cdf9b 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -28,15 +28,33 @@ function query_problem() -H "referer: ${1}" \ --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n questionTitleSlug\n content\n difficulty\n stats\n contributors\n companyTags\n topicTags\n similarQuestions\n discussUrl\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n discussCategoryId\n discussSolutionCategoryId\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n }\n timeOptions {\n id\n name\n }\n stageOptions {\n id\n name\n }\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} - QUESTION_CONTENT=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.content' | sed -e 's/<[^>]*>//g') + # xidel change the -q option to -s after 0.9.4 version, so we have to check that + # if xidel has -q option, then it will return error. - QUESTION_DIFFICULTY=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.difficulty') + OPT= - QUESTION_TITLE=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.questionTitle') + set +e + xidel -q 2>/dev/null + if [ $? -ne 0 ]; then + OPT=-q + else + # if xidel has -s option, then it will return error. + xidel -s 2>/dev/null + if [ $? -ne 0 ]; then + OPT=-s + fi + fi + set -e - QUESTION_ID=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.questionId') + QUESTION_CONTENT=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.content' | sed -e 's/<[^>]*>//g') - QUESTION_CATEGORY=$(xidel -q ${TMP_JSON_FILE} -e '$json("data").question.categoryTitle') + QUESTION_DIFFICULTY=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.difficulty') + + QUESTION_TITLE=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.questionTitle') + + QUESTION_ID=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.questionId') + + QUESTION_CATEGORY=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.categoryTitle') rm -f $TMP_JSON_FILE } From 726e76220491e77ffc3b63543c8b93b13c732abc Mon Sep 17 00:00:00 2001 From: kosora Date: Sun, 11 Feb 2018 13:12:36 +0800 Subject: [PATCH 143/256] =?UTF-8?q?Java=20Solution=20for=209=E3=80=8138?= =?UTF-8?q?=E3=80=8150=E3=80=8158=E3=80=8192=E3=80=81125=E3=80=81151?= =?UTF-8?q?=E3=80=81206=E3=80=81242,=20KMP=20for=20problem=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 +-- .../java/src/countAndSay/CountAndSay.java | 66 +++++++++ .../java/src/countAndSay/TestCountAndSay.java | 17 +++ .../lengthOfLastWord/LengthOfLastWord.java | 44 ++++++ .../TestLengthOfLastWord.java | 18 +++ .../palindromeNumber/PalindromeNumber.java | 51 +++++++ .../TestPalindromeNumber.java | 20 +++ algorithms/java/src/powXn/PowXn.java | 98 ++++++++++++++ algorithms/java/src/powXn/TestPowXn.java | 18 +++ .../java/src/reverseLinkedList/ListNode.java | 46 +++++++ .../reverseLinkedList/ReverseLinkedList.java | 58 ++++++++ .../TestReverseLinkedList.java | 22 +++ .../src/reverseLinkedListII/ListNode.java | 46 +++++++ .../ReverseLinkedListII.java | 53 ++++++++ .../TestReverseLinkedListII.java | 24 ++++ .../ReverseWordsInAString.java | 35 +++++ .../TestReverseWordsInAString.java | 17 +++ algorithms/java/src/strStr/StrStrKmp.java | 126 ++++++++++++++++++ algorithms/java/src/strStr/TestStrStrKmp.java | 25 ++++ .../src/validAnagram/TestValidAnagram.java | 16 +++ .../java/src/validAnagram/ValidAnagram.java | 53 ++++++++ .../validPalindrome/TestValidPalindrome.java | 17 +++ .../src/validPalindrome/ValidPalindrome.java | 59 ++++++++ 23 files changed, 938 insertions(+), 9 deletions(-) create mode 100644 algorithms/java/src/countAndSay/CountAndSay.java create mode 100644 algorithms/java/src/countAndSay/TestCountAndSay.java create mode 100644 algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java create mode 100644 algorithms/java/src/lengthOfLastWord/TestLengthOfLastWord.java create mode 100644 algorithms/java/src/palindromeNumber/PalindromeNumber.java create mode 100644 algorithms/java/src/palindromeNumber/TestPalindromeNumber.java create mode 100644 algorithms/java/src/powXn/PowXn.java create mode 100644 algorithms/java/src/powXn/TestPowXn.java create mode 100644 algorithms/java/src/reverseLinkedList/ListNode.java create mode 100644 algorithms/java/src/reverseLinkedList/ReverseLinkedList.java create mode 100644 algorithms/java/src/reverseLinkedList/TestReverseLinkedList.java create mode 100644 algorithms/java/src/reverseLinkedListII/ListNode.java create mode 100644 algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java create mode 100644 algorithms/java/src/reverseLinkedListII/TestReverseLinkedListII.java create mode 100644 algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java create mode 100644 algorithms/java/src/reverseWordsInAString/TestReverseWordsInAString.java create mode 100644 algorithms/java/src/strStr/StrStrKmp.java create mode 100644 algorithms/java/src/strStr/TestStrStrKmp.java create mode 100644 algorithms/java/src/validAnagram/TestValidAnagram.java create mode 100644 algorithms/java/src/validAnagram/ValidAnagram.java create mode 100644 algorithms/java/src/validPalindrome/TestValidPalindrome.java create mode 100644 algorithms/java/src/validPalindrome/ValidPalindrome.java diff --git a/README.md b/README.md index 3ae2ba35e..95dafc516 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ LeetCode |260|[Single Number III](https://leetcode.com/problems/single-number-iii/)| [C++](./algorithms/cpp/singleNumber/singleNumber.III.cpp)|Medium| |258|[Add Digits](https://leetcode.com/problems/add-digits/)| [C++](./algorithms/cpp/addDigits/addDigits.cpp)|Easy| |257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [C++](./algorithms/cpp/binaryTreePaths/binaryTreePaths.cpp)|Easy| -|242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp)|Easy| +|242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp), [Java](./algorithms/java/src/validAnagram/ValidAnagram.java)|Easy| |241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)|[C++](./algorithms/cpp/differentWaysToAddParentheses/DifferentWaysToAddParentheses.cpp)|Medium| |240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp), [Java](./algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java)|Medium| |239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [C++](./algorithms/cpp/slidingWindowMaximum/SlidingWindowMaximum.cpp)|Hard| @@ -137,7 +137,7 @@ LeetCode |209|[Minimum Size Subarray Sum](https://leetcode.com/problems/minimum-size-subarray-sum/)| [C++](./algorithms/cpp/minimumSizeSubarraySum/MinimumSizeSubarraySum.cpp)|Medium| |208|[Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/)| [C++](./algorithms/cpp/implementTriePrefixTree/ImplementTriePrefixTree.cpp)|Medium| |207|[Course Schedule](https://leetcode.com/problems/course-schedule/)| [C++](./algorithms/cpp/courseSchedule/CourseSchedule.cpp)|Medium| -|206|[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.cpp)|Easy| +|206|[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.cpp), [Java](./algorithms/java/src/reverseLinkedList/ReverseLinkedList.java)|Easy| |205|[Isomorphic Strings](https://leetcode.com/problems/isomorphic-strings/)| [C++](./algorithms/cpp/isomorphicStrings/IsomorphicStrings.cpp)|Easy| |204|[Count Primes](https://leetcode.com/problems/count-primes/)| [C++](./algorithms/cpp/countPrimes/CountPrimes.cpp)|Easy| |203|[Remove Linked List Elements](https://leetcode.com/problems/remove-linked-list-elements/)| [C++](./algorithms/cpp/removeLinkedListElements/RemoveLinkedListElements.cpp)|Easy| @@ -176,7 +176,7 @@ LeetCode |154|[Find Minimum in Rotated Sorted Array II](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.II.cpp)|Hard| |153|[Find Minimum in Rotated Sorted Array](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp), [Java](./algorithms/java/src/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.java)|Medium| |152|[Maximum Product Subarray](https://oj.leetcode.com/problems/maximum-product-subarray/)| [C++](./algorithms/cpp/maximumProductSubarray/maximumProductSubarray.cpp)|Medium| -|151|[Reverse Words in a String](https://oj.leetcode.com/problems/reverse-words-in-a-string/)| [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp)|Medium| +|151|[Reverse Words in a String](https://oj.leetcode.com/problems/reverse-words-in-a-string/)| [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp), [Java](./algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java)|Medium| |150|[Evaluate Reverse Polish Notation](https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/)| [C++](./algorithms/cpp/evaluateReversePolishNotation/evaluateReversePolishNotation.cpp)|Medium| |149|[Max Points on a Line](https://oj.leetcode.com/problems/max-points-on-a-line/)| [C++](./algorithms/cpp/maxPointsOnALine/maxPointsOnALine.cpp)|Hard| |148|[Sort List](https://oj.leetcode.com/problems/sort-list/)| [C++](./algorithms/cpp/sortList/sortList.cpp)|Medium| @@ -202,7 +202,7 @@ LeetCode |128|[Longest Consecutive Sequence](https://oj.leetcode.com/problems/longest-consecutive-sequence/)| [C++](./algorithms/cpp/longestConsecutiveSequence/longestConsecutiveSequence.cpp)|Hard| |127|[Word Ladder](https://oj.leetcode.com/problems/word-ladder/)| [C++](./algorithms/cpp/wordLadder/wordLadder.cpp)|Medium| |126|[Word Ladder II](https://oj.leetcode.com/problems/word-ladder-ii/)| [C++](./algorithms/cpp/wordLadder/wordLadder.II.cpp)|Hard| -|125|[Valid Palindrome](https://oj.leetcode.com/problems/valid-palindrome/)| [C++](./algorithms/cpp/validPalindrome/validPalindrome.cpp)|Easy| +|125|[Valid Palindrome](https://oj.leetcode.com/problems/valid-palindrome/)| [C++](./algorithms/cpp/validPalindrome/validPalindrome.cpp), [Java](./algorithms/java/src/validPalindrome/ValidPalindrome.java)|Easy| |124|[Binary Tree Maximum Path Sum](https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/)| [C++](./algorithms/cpp/binaryTreeMaximumPathSum/binaryTreeMaximumPathSum.cpp), [Java](./algorithms/java/src/binaryTreeMaximumPathSum/binaryTreeMaximumPathSum.java)|Hard| |123|[Best Time to Buy and Sell Stock III](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp)|Hard| |122|[Best Time to Buy and Sell Stock II](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp)|Medium| @@ -235,7 +235,7 @@ LeetCode |95|[Unique Binary Search Trees II](https://oj.leetcode.com/problems/unique-binary-search-trees-ii/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.II.cpp)|Medium| |94|[Binary Tree Inorder Traversal](https://oj.leetcode.com/problems/binary-tree-inorder-traversal/)| [C++](./algorithms/cpp/binaryTreeInorderTraversal/binaryTreeInorderTraversal.cpp)|Medium| |93|[Restore IP Addresses](https://oj.leetcode.com/problems/restore-ip-addresses/)| [C++](./algorithms/cpp/restoreIPAddresses/restoreIPAddresses.cpp)|Medium| -|92|[Reverse Linked List II](https://oj.leetcode.com/problems/reverse-linked-list-ii/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.II.cpp)|Medium| +|92|[Reverse Linked List II](https://oj.leetcode.com/problems/reverse-linked-list-ii/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.II.cpp), [Java](./algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java)|Medium| |91|[Decode Ways](https://oj.leetcode.com/problems/decode-ways/)| [C++](./algorithms/cpp/decodeWays/decodeWays.cpp)|Medium| |90|[Subsets II](https://oj.leetcode.com/problems/subsets-ii/)| [C++](./algorithms/cpp/subsets/subsets.II.cpp), [Java](./algorithms/java/src/subsets/subsetsII.java)|Medium| |89|[Gray Code](https://oj.leetcode.com/problems/gray-code/)| [C++](./algorithms/cpp/grayCode/grayCode.cpp)|Medium| @@ -269,7 +269,7 @@ LeetCode |61|[Rotate List](https://oj.leetcode.com/problems/rotate-list/)| [C++](./algorithms/cpp/rotateList/rotateList.cpp)|Medium| |60|[Permutation Sequence](https://oj.leetcode.com/problems/permutation-sequence/)| [C++](./algorithms/cpp/permutationSequence/permutationSequence.cpp)|Medium| |59|[Spiral Matrix II](https://oj.leetcode.com/problems/spiral-matrix-ii/)| [C++](./algorithms/cpp/spiralMatrix/spiralMatrix.II.cpp)|Medium| -|58|[Length of Last Word](https://oj.leetcode.com/problems/length-of-last-word/)| [C++](./algorithms/cpp/lengthOfLastWord/lengthOfLastWord.cpp)|Easy| +|58|[Length of Last Word](https://oj.leetcode.com/problems/length-of-last-word/)| [C++](./algorithms/cpp/lengthOfLastWord/lengthOfLastWord.cpp), [Java](./algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java)|Easy| |57|[Insert Interval](https://oj.leetcode.com/problems/insert-interval/)| [C++](./algorithms/cpp/insertInterval/insertInterval.cpp)|Hard| |56|[Merge Intervals](https://oj.leetcode.com/problems/merge-intervals/)| [C++](./algorithms/cpp/mergeIntervals/mergeIntervals.cpp)|Hard| |55|[Jump Game](https://oj.leetcode.com/problems/jump-game/)| [C++](./algorithms/cpp/jumpGame/jumpGame.cpp)|Medium| @@ -277,7 +277,7 @@ LeetCode |53|[Maximum Subarray](https://oj.leetcode.com/problems/maximum-subarray/)| [C++](./algorithms/cpp/maximumSubArray/maximumSubArray.cpp)|Medium| |52|[N-Queens II](https://oj.leetcode.com/problems/n-queens-ii/)| [C++](./algorithms/cpp/nQueens/nQueuens.II.cpp)|Hard| |51|[N-Queens](https://oj.leetcode.com/problems/n-queens/)| [C++](./algorithms/cpp/nQueens/nQueuens.cpp)|Hard| -|50|["Pow(x, n)"](https://oj.leetcode.com/problems/powx-n/)| [C++](./algorithms/cpp/pow/pow.cpp)|Medium| +|50|["Pow(x, n)"](https://oj.leetcode.com/problems/powx-n/)| [C++](./algorithms/cpp/pow/pow.cpp), [Java](./algorithms/java/src/powXn/PowXn.java)|Medium| |49|[Group Anagrams](https://oj.leetcode.com/problems/anagrams/)| [C++](./algorithms/cpp/anagrams/GroupAnagrams.cpp)|Medium| |48|[Rotate Image](https://oj.leetcode.com/problems/rotate-image/)| [C++](./algorithms/cpp/rotateImage/rotateImage.cpp)|Medium| |47|[Permutations II](https://oj.leetcode.com/problems/permutations-ii/)| [C++](./algorithms/cpp/permutations/permutations.II.cpp)|Hard| @@ -289,7 +289,7 @@ LeetCode |41|[First Missing Positive](https://oj.leetcode.com/problems/first-missing-positive/)| [C++](./algorithms/cpp/firstMissingPositive/firstMissingPositive.cpp)|Hard| |40|[Combination Sum II](https://oj.leetcode.com/problems/combination-sum-ii/)| [C++](./algorithms/cpp/combinationSum/combinationSum.II.cpp)|Medium| |39|[Combination Sum](https://oj.leetcode.com/problems/combination-sum/)| [C++](./algorithms/cpp/combinationSum/combinationSum.cpp)|Medium| -|38|[Count and Say](https://oj.leetcode.com/problems/count-and-say/)| [C++](./algorithms/cpp/countAndSay/countAndSay.cpp)|Easy| +|38|[Count and Say](https://oj.leetcode.com/problems/count-and-say/)| [C++](./algorithms/cpp/countAndSay/countAndSay.cpp), [Java](./algorithms/java/src/countAndSay/CountAndSay.java)|Easy| |37|[Sudoku Solver](https://oj.leetcode.com/problems/sudoku-solver/)| [C++](./algorithms/cpp/sudokuSolver/sudokuSolver.cpp)|Hard| |36|[Valid Sudoku](https://oj.leetcode.com/problems/valid-sudoku/)| [C++](./algorithms/cpp/validSudoku/validSudoku.cpp)|Easy| |35|[Search Insert Position](https://oj.leetcode.com/problems/search-insert-position/)| [C++](./algorithms/cpp/searchInsertPosition/searchInsertPosition.cpp), [Java](./algorithms/java/src/searchInsertPosition/searchInsertPosition.java)|Medium| @@ -318,7 +318,7 @@ LeetCode |12|[Integer to Roman](https://oj.leetcode.com/problems/integer-to-roman/)| [C++](./algorithms/cpp/integerToRoman/integerToRoman.cpp)|Medium| |11|[Container With Most Water](https://oj.leetcode.com/problems/container-with-most-water/)| [C++](./algorithms/cpp/containerWithMostWater/containerWithMostWater.cpp)|Medium| |10|[Regular Expression Matching](https://oj.leetcode.com/problems/regular-expression-matching/)| [C++](./algorithms/cpp/regularExpressionMatching/regularExpressionMatching.cpp)|Hard| -|9|[Palindrome Number](https://oj.leetcode.com/problems/palindrome-number/)| [C++](./algorithms/cpp/palindromeNumber/palindromeNumber.cpp)|Easy| +|9|[Palindrome Number](https://oj.leetcode.com/problems/palindrome-number/)| [C++](./algorithms/cpp/palindromeNumber/palindromeNumber.cpp), [Java](./algorithms/java/src/palindromeNumber/PalindromeNumber.java)|Easy| |8|[String to Integer (atoi)](https://oj.leetcode.com/problems/string-to-integer-atoi/)| [C++](./algorithms/cpp/stringToIntegerAtoi/stringToIntegerAtoi.cpp)|Easy| |7|[Reverse Integer](https://oj.leetcode.com/problems/reverse-integer/)| [C++](./algorithms/cpp/reverseInteger/reverseInteger.cpp)|Easy| |6|[ZigZag Conversion](https://oj.leetcode.com/problems/zigzag-conversion/)| [C++](./algorithms/cpp/zigZagConversion/zigZagConversion.cpp)|Easy| diff --git a/algorithms/java/src/countAndSay/CountAndSay.java b/algorithms/java/src/countAndSay/CountAndSay.java new file mode 100644 index 000000000..28a5151ad --- /dev/null +++ b/algorithms/java/src/countAndSay/CountAndSay.java @@ -0,0 +1,66 @@ +// Source : https://leetcode.com/problems/count-and-say/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * The count-and-say sequence is the sequence of integers with the first five terms as following: + * + * 1. 1 + * 2. 11 + * 3. 21 + * 4. 1211 + * 5. 111221 + * 1 is read off as "one 1" or 11. + * 11 is read off as "two 1s" or 21. + * 21 is read off as "one 2, then one 1" or 1211. + * Given an integer n, generate the nth term of the count-and-say sequence. + * + * Note: Each term of the sequence of integers will be represented as a string. + * + * Example 1: + * + * Input: 1 + * Output: "1" + * + * Example 2: + * + * Input: 4 + * Output: "1211" + * + **********************************************************************************/ +package countAndSay; + +public class CountAndSay { + + public String nextString(String str) { + StringBuilder next = new StringBuilder(); + int len = str.length(); + int i = 0; + while (i < len) { + int j = i; + int count = 0; + char currentNumber = str.charAt(i); + while (j < len && str.charAt(j) == currentNumber) { + j++; + count++; + } + next.append(count).append(currentNumber); + i = j; + } + return next.toString(); + } + public String countAndSay(int n) { + if (n <= 1) { + return "1"; + } else { + String p = "1"; + for (int i = 2; i <= n; i++) { + String next = nextString(p); + p = next; + } + return p; + } + } + +} diff --git a/algorithms/java/src/countAndSay/TestCountAndSay.java b/algorithms/java/src/countAndSay/TestCountAndSay.java new file mode 100644 index 000000000..50e4b5be1 --- /dev/null +++ b/algorithms/java/src/countAndSay/TestCountAndSay.java @@ -0,0 +1,17 @@ +package countAndSay; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 38. Count and Say + */ +public class TestCountAndSay { + @Test + public void test() { + CountAndSay solution = new CountAndSay(); + String next5 = solution.countAndSay(5); + Assert.assertTrue(next5.equals("111221")); + String next6 = solution.countAndSay(6); + Assert.assertTrue(next6.equals("312211")); + } +} diff --git a/algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java b/algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java new file mode 100644 index 000000000..2e661629a --- /dev/null +++ b/algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java @@ -0,0 +1,44 @@ +// Source : https://leetcode.com/problems/length-of-last-word/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. + * + * If the last word does not exist, return 0. + * + * Note: A word is defined as a character sequence consists of non-space characters only. + * + * Example: + * + * Input: "Hello World" + * Output: 5 + * + **********************************************************************************/ +package lengthOfLastWord; + +public class LengthOfLastWord { + + public int lengthOfLastWord(String s) { + // don't forget rangeCheck + if (s == null || s.length() == 0) { + return 0; + } + int len = s.length(); + int i = len - 1; + while (i >= 0 && s.charAt(i) == ' ') { + i--; + } + if (i == -1) { + return 0; + } + int count = 0; + while (i >= 0 && s.charAt(i) != ' ') { + count++; + i--; + } + return count; + } + +} diff --git a/algorithms/java/src/lengthOfLastWord/TestLengthOfLastWord.java b/algorithms/java/src/lengthOfLastWord/TestLengthOfLastWord.java new file mode 100644 index 000000000..936cb0f75 --- /dev/null +++ b/algorithms/java/src/lengthOfLastWord/TestLengthOfLastWord.java @@ -0,0 +1,18 @@ +package lengthOfLastWord; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 58. Length of Last Word + */ +public class TestLengthOfLastWord { + @Test + public void test() { + LengthOfLastWord solution = new LengthOfLastWord(); + String str1 = "Hello World"; + Assert.assertTrue(solution.lengthOfLastWord(str1) == 5); + String str2 = "Thank you very much "; + Assert.assertTrue(solution.lengthOfLastWord(str2) == 4); + } +} diff --git a/algorithms/java/src/palindromeNumber/PalindromeNumber.java b/algorithms/java/src/palindromeNumber/PalindromeNumber.java new file mode 100644 index 000000000..bfce311e6 --- /dev/null +++ b/algorithms/java/src/palindromeNumber/PalindromeNumber.java @@ -0,0 +1,51 @@ +// Source : https://leetcode.com/problems/valid-palindrome/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Determine whether an integer is a palindrome. Do this without extra space. + * + * Some hints: + * Could negative integers be palindromes? (ie, -1) + * + * If you are thinking of converting the integer to string, note the restriction of using extra space. + * + * You could also try reversing an integer. + * However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. + * How would you handle such case? + * + * There is a more generic way of solving this problem. + * + **********************************************************************************/ +package palindromeNumber; + +public class PalindromeNumber { + + /** + * The simple way is : + * Reverse x to reverseX and judge whether reverseX is equal to x + * For example: + * x is 1234321, then reverseX is 1234321, they are equal, so 1234321 is palindrome + * x is 1234123, then reverseX is 3214321, they are not equal, so 1234123 is not palindrome + */ + public boolean isPalindrome(int x) { + if (x < 0) { + return false; + } + if (x < 10) { + return true; + } + int n = x; + int reverseX = 0; + while (n > 0) { + reverseX = 10 * reverseX + n % 10; + n /= 10; + } + if (reverseX == x) { + return true; + } else { + return false; + } + } +} diff --git a/algorithms/java/src/palindromeNumber/TestPalindromeNumber.java b/algorithms/java/src/palindromeNumber/TestPalindromeNumber.java new file mode 100644 index 000000000..d8462abdb --- /dev/null +++ b/algorithms/java/src/palindromeNumber/TestPalindromeNumber.java @@ -0,0 +1,20 @@ +package palindromeNumber; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 9. Palindrome Number + */ +public class TestPalindromeNumber { + @Test + public void test() { + PalindromeNumber solution = new PalindromeNumber(); + boolean flag1 = solution.isPalindrome(1234567); + Assert.assertTrue(!flag1); + boolean flag2 = solution.isPalindrome(1234321); + Assert.assertTrue(flag2); + boolean flag3 = solution.isPalindrome(12344321); + Assert.assertTrue(flag3); + } +} diff --git a/algorithms/java/src/powXn/PowXn.java b/algorithms/java/src/powXn/PowXn.java new file mode 100644 index 000000000..296039323 --- /dev/null +++ b/algorithms/java/src/powXn/PowXn.java @@ -0,0 +1,98 @@ +// Source : https://leetcode.com/problems/powx-n/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Implement pow(x, n). + * + * Example 1: + * + * Input: 2.00000, 10 + * Output: 1024.00000 + * + * Example 2: + * + * Input: 2.10000, 3 + * Output: 9.26100 + * + **********************************************************************************/ +package powXn; + +public class PowXn { + + /** + * Divide-and-Conquer method + * For example: + * + * 3^9=(3^4)^2*3 + * ↓ + * 3^4=(3^2)^2 + * ↓ + * 3^2=3*3 + * ↓ + * 3=3 + * + * So, both Space and Time are O(logN) + */ + public double recursion(double x, long n) { + if (n == 1) { + return x; + } + //We'd better use unsigned right shift + double half = recursion(x, n >>> 1); + if ((n & 1) == 0) { + return half * half; + } else { + return half * half * x; + } + } + + public double myPow01(double x, int n) { + if (n == 0 || x == 1) { + return 1; + } + // Avoid being out of bounds, we should cast int to long + long m = n; + double result = recursion(x, Math.abs(m)); + if (n > 0) { + return result; + } else { + return 1 / result; + } + } + + public double myPow02(double x, int n) { + if (n == 0 || x == 1) { + return 1; + } + // Avoid being out of bounds, we should cast int to long + long m = n; + double result = bitFunction(x, Math.abs(m)); + if (n > 0) { + return result; + } else { + return 1 / result; + } + } + + /** + * Solution with bit-manipulation + * For example: + * 9=1001 + * 3^9=(3^1)^1*(3^2)^0*(3^4)^0*(3^8)^1 + * Space is O(1), Time is O(logN) + */ + public double bitFunction(double x, long n) { + double multy = 1; + double base = x; + for (long k = n; k >= 1; k >>>= 1) { + if ((k & 1) > 0) { + multy = multy * base; + } + base *= base; + } + return multy; + } + +} diff --git a/algorithms/java/src/powXn/TestPowXn.java b/algorithms/java/src/powXn/TestPowXn.java new file mode 100644 index 000000000..6b6835dc4 --- /dev/null +++ b/algorithms/java/src/powXn/TestPowXn.java @@ -0,0 +1,18 @@ +package powXn; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 50. Pow(x, n) + */ +public class TestPowXn { + @Test + public void test() { + PowXn solution = new PowXn(); + Assert.assertTrue(solution.myPow01(3, 9) == 19683); + Assert.assertTrue(solution.myPow02(3, 9) == 19683); + Assert.assertTrue(solution.myPow01(2.10000, -3)-0.10798<0.0001); + Assert.assertTrue(solution.myPow02(2.10000, -3)-0.10798<0.0001); + } +} diff --git a/algorithms/java/src/reverseLinkedList/ListNode.java b/algorithms/java/src/reverseLinkedList/ListNode.java new file mode 100644 index 000000000..b38b556b2 --- /dev/null +++ b/algorithms/java/src/reverseLinkedList/ListNode.java @@ -0,0 +1,46 @@ +package reverseLinkedList; + +public class ListNode { + public int val; + public ListNode next; + public ListNode(int x) { + val = x; + } + @Override + public String toString() { + return "ListNode [val=" + val + "]"; + } + public ListNode(int val, ListNode next) { + super(); + this.val = val; + this.next = next; + } + /** + * This is an assistant function, use it, we can easily see the structure of list + */ + public static String listToString(ListNode head) { + if (head == null) { + return ""; + } + StringBuilder sb = new StringBuilder(); + while (head.next != null) { + sb.append(head.val).append(","); + head = head.next; + } + sb.append(head.val); + return sb.toString(); + } + + /** + * This is an assistant function, use it, we can create a linkedList by array. + */ + public static ListNode arrayToList(int[] array) { + ListNode head = new ListNode(0); + ListNode p = head; + for (int i : array) { + p.next = new ListNode(i); + p = p.next; + } + return head.next; + } +} diff --git a/algorithms/java/src/reverseLinkedList/ReverseLinkedList.java b/algorithms/java/src/reverseLinkedList/ReverseLinkedList.java new file mode 100644 index 000000000..06ae90bcc --- /dev/null +++ b/algorithms/java/src/reverseLinkedList/ReverseLinkedList.java @@ -0,0 +1,58 @@ +// Source : https://leetcode.com/problems/reverse-linked-list/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Reverse a singly linked list. + * + * Hint: + * A linked list can be reversed either iteratively or recursively. Could you implement both? + * + **********************************************************************************/ +package reverseLinkedList; + +public class ReverseLinkedList { + + /** + * The iterative solution + */ + public ListNode reverseList(ListNode head) { + if (head == null) { + return head; + } + ListNode p = head; + ListNode next = p.next; + while (next != null) { + ListNode temp = next.next; + next.next = p; + p = next; + next = temp; + } + head.next = null; + return p; + } + + public ListNode reverseListRecursion(ListNode head) { + if (head == null) { + return head; + } + ListNode newHead = recursion(head); + head.next = null; + return newHead; + } + /** + * The recursive solution + */ + public ListNode recursion(ListNode p) { + if (p.next == null) { + return p; + } else { + ListNode next = p.next; + ListNode newHead = recursion(next); + next.next = p; + return newHead; + } + } + +} diff --git a/algorithms/java/src/reverseLinkedList/TestReverseLinkedList.java b/algorithms/java/src/reverseLinkedList/TestReverseLinkedList.java new file mode 100644 index 000000000..f87e5e0a2 --- /dev/null +++ b/algorithms/java/src/reverseLinkedList/TestReverseLinkedList.java @@ -0,0 +1,22 @@ +package reverseLinkedList; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 206. Reverse Linked List + */ +public class TestReverseLinkedList { + @Test + public void test(){ + ReverseLinkedList solution=new ReverseLinkedList(); + int[] array1={1,2,3,4,5,6}; + ListNode head1=ListNode.arrayToList(array1); + ListNode newHead1=solution.reverseList(head1); + Assert.assertTrue(ListNode.listToString(newHead1).equals("6,5,4,3,2,1")); + int[] array2={6,5,4,3,2,1}; + ListNode head2=ListNode.arrayToList(array2); + ListNode newHead2=solution.reverseListRecursion(head2); + Assert.assertTrue(ListNode.listToString(newHead2).equals("1,2,3,4,5,6")); + } +} diff --git a/algorithms/java/src/reverseLinkedListII/ListNode.java b/algorithms/java/src/reverseLinkedListII/ListNode.java new file mode 100644 index 000000000..a2b1c208b --- /dev/null +++ b/algorithms/java/src/reverseLinkedListII/ListNode.java @@ -0,0 +1,46 @@ +package reverseLinkedListII; + +public class ListNode { + public int val; + public ListNode next; + public ListNode(int x) { + val = x; + } + @Override + public String toString() { + return "ListNode [val=" + val + "]"; + } + public ListNode(int val, ListNode next) { + super(); + this.val = val; + this.next = next; + } + /** + * This is an assistant function, use it, we can easily see the structure of list + */ + public static String listToString(ListNode head) { + if (head == null) { + return ""; + } + StringBuilder sb = new StringBuilder(); + while (head.next != null) { + sb.append(head.val).append(","); + head = head.next; + } + sb.append(head.val); + return sb.toString(); + } + + /** + * This is an assistant function, use it, we can create a linkedList by array. + */ + public static ListNode arrayToList(int[] array) { + ListNode head = new ListNode(0); + ListNode p = head; + for (int i : array) { + p.next = new ListNode(i); + p = p.next; + } + return head.next; + } +} diff --git a/algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java b/algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java new file mode 100644 index 000000000..e2d5d0b7d --- /dev/null +++ b/algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java @@ -0,0 +1,53 @@ +// Source : https://leetcode.com/problems/reverse-linked-list-ii/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Reverse a linked list from position m to n. Do it in-place and in one-pass. + * + * For example: + * Given 1->2->3->4->5->NULL, m = 2 and n = 4, + * + * return 1->4->3->2->5->NULL. + * + * Note: + * Given m, n satisfy the following condition: + * 1 ≤ m ≤ n ≤ length of list. + * + **********************************************************************************/ +package reverseLinkedListII; + +public class ReverseLinkedListII { + public ListNode reverseBetween(ListNode head, int m, int n) { + // Assume that the list is:[1,2,3,4,5,6,7] m=3 n=5 + if (head == null || m == n) { + // bounds check + return head; + } + // We'd better create a default head due to m may equals 1 + ListNode defaultHead = new ListNode(0); + defaultHead.next = head; + int index = 1; + ListNode pre = defaultHead; + while (index < m) { + pre = pre.next; + index++; + } + // pre is 2, first is 3 + ListNode first = pre.next; + ListNode p = first; + ListNode next = p.next; + while (index < n) { + ListNode t = next.next; + next.next = p; + p = next; + next = t; + index++; + } + // next is 6 + first.next = next; + pre.next = p; + return defaultHead.next; + } +} diff --git a/algorithms/java/src/reverseLinkedListII/TestReverseLinkedListII.java b/algorithms/java/src/reverseLinkedListII/TestReverseLinkedListII.java new file mode 100644 index 000000000..b0aae856a --- /dev/null +++ b/algorithms/java/src/reverseLinkedListII/TestReverseLinkedListII.java @@ -0,0 +1,24 @@ +package reverseLinkedListII; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 92. Reverse Linked List II + */ +public class TestReverseLinkedListII { + @Test + public void test() { + ReverseLinkedListII solution = new ReverseLinkedListII(); + int[] array1 = {1, 2, 3, 4, 5, 6, 7}; + ListNode head1 = ListNode.arrayToList(array1); + ListNode newHead1 = solution.reverseBetween(head1, 3, 5); + Assert.assertTrue(ListNode.listToString(newHead1).equals( + "1,2,5,4,3,6,7")); + int[] array2 = {7, 6, 5, 4, 3, 2, 1}; + ListNode head2 = ListNode.arrayToList(array2); + ListNode newHead2 = solution.reverseBetween(head2, 1, 7); + Assert.assertTrue(ListNode.listToString(newHead2).equals( + "1,2,3,4,5,6,7")); + } +} diff --git a/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java b/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java new file mode 100644 index 000000000..dd1302e39 --- /dev/null +++ b/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java @@ -0,0 +1,35 @@ +// Source : https://leetcode.com/problems/valid-palindrome/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Given an input string, reverse the string word by word. + * + * For example, + * Given s = "the sky is blue", + * return "blue is sky the". + * + * Update (2015-02-12): + * For C programmers: Try to solve it in-place in O(1) space. + * + **********************************************************************************/ +package reverseWordsInAString; + +public class ReverseWordsInAString { + + public String reverseWords(String s) { + if (s == null || s.length() == 0) { + return s; + } + s = s.trim(); + String[] array = s.split("\\s+"); + StringBuilder sb = new StringBuilder(); + int len = array.length; + for (int i = len - 1; i > 0; i--) { + sb.append(array[i]).append(" "); + } + sb.append(array[0]); + return sb.toString(); + } +} diff --git a/algorithms/java/src/reverseWordsInAString/TestReverseWordsInAString.java b/algorithms/java/src/reverseWordsInAString/TestReverseWordsInAString.java new file mode 100644 index 000000000..4a5db14cd --- /dev/null +++ b/algorithms/java/src/reverseWordsInAString/TestReverseWordsInAString.java @@ -0,0 +1,17 @@ +package reverseWordsInAString; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 151. Reverse Words in a String + */ +public class TestReverseWordsInAString { + @Test + public void test() { + ReverseWordsInAString solution = new ReverseWordsInAString(); + String str = " the sky is blue "; + String result = solution.reverseWords(str); + Assert.assertTrue(result.equals("blue is sky the")); + } +} diff --git a/algorithms/java/src/strStr/StrStrKmp.java b/algorithms/java/src/strStr/StrStrKmp.java new file mode 100644 index 000000000..a5fe657dc --- /dev/null +++ b/algorithms/java/src/strStr/StrStrKmp.java @@ -0,0 +1,126 @@ +// Source : https://leetcode.com/problems/implement-strstr/description/ +// Inspired by : http://wiki.jikexueyuan.com/project/kmp-algorithm/define.html +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Implement strStr(). + * + * Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. + * + * Example 1: + * + * Input: haystack = "hello", needle = "ll" + * Output: 2 + * + * Example 2: + * + * Input: haystack = "aaaaa", needle = "bba" + * Output: -1 + * + **********************************************************************************/ +package strStr; + +public class StrStrKmp { + + /** + * KMP-Algorithm + */ + public int strStr(String haystack, String needle) { + if (haystack == null && needle == null) { + return 0; + } + if (haystack == null && needle != null) { + return -1; + } + if (haystack != null && needle == null) { + return -1; + } + int m = haystack.length(); + int n = needle.length(); + if (m < n) { + return -1; + } + if (n == 0) { + return 0; + } + int[] nextArray = getNext(needle); + int i = 0; + int j = 0; + while (i < m) { + if (j == -1) { + // If pointer j is in boundary, move i to the right and reset j + i++; + j = 0; + } else { + if (haystack.charAt(i) == needle.charAt(j)) { + // While matching succeess, move both pointer i and pointer j to the right + i++; + j++; + if (j == n) { + return i - n; + } + } else { + /*** + * For example: + * + * next: [-1,0,0,0,0,1,2] + * + * i + * ↓ + * haystack:BBC ABCDAB ABCDABCDABDE + * j + * ↓ + * needle: ABCDABD + * + * + * So the next step is: + * + * i + * ↓ + * haystack:BBC ABCDAB ABCDABCDABDE + * j + * ↓ + * needle: ABCDABD + */ + j = nextArray[j]; + } + } + } + return -1; + } + /** + * Generate the next-array of needle string + * + * For example: + * + * next-array of "ABCDABD" is: [-1,0,0,0,0,1,2] + * + * For letter "D", the longest prefix "AB" is equal to the longest suffix "AB", + * the string "AB"'s length is 2, so letter "D"'s next value is 2. + */ + public int[] getNext(String str) { + int len = str.length(); + int[] next = new int[len]; + next[0] = -1; + int k = -1; + int j = 0; + while (j < len - 1) { + if (k == -1) { + k = 0; + next[j + 1] = 0; + j++; + } else { + if (str.charAt(j) == str.charAt(k)) { + next[j + 1] = k + 1; + k++; + j++; + } else { + k = next[k]; + } + } + } + return next; + } +} diff --git a/algorithms/java/src/strStr/TestStrStrKmp.java b/algorithms/java/src/strStr/TestStrStrKmp.java new file mode 100644 index 000000000..9cc68e9f7 --- /dev/null +++ b/algorithms/java/src/strStr/TestStrStrKmp.java @@ -0,0 +1,25 @@ +package strStr; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 28. Implement strStr() using KMP-Algorithm + */ +public class TestStrStrKmp { + @Test + public void testKmp() { + StrStrKmp solution = new StrStrKmp(); + String hayStack1 = "aabbccagdbbccdec"; + String needle1 = "bbccd"; + int result1 = solution.strStr(hayStack1, needle1); + Assert.assertTrue(result1 == 9); + String hayStack2 = "aabbccagdbbccdec"; + String needle2 = "bbccf"; + int result2 = solution.strStr(hayStack2, needle2); + Assert.assertTrue(result2 == -1); + String hayStack3 = "BBC ABCDAB ABCDABCDABDE"; + String needle3 = "ABCDABD"; + int result3 = solution.strStr(hayStack3, needle3); + Assert.assertTrue(result3 == 15); + } +} diff --git a/algorithms/java/src/validAnagram/TestValidAnagram.java b/algorithms/java/src/validAnagram/TestValidAnagram.java new file mode 100644 index 000000000..015dcb848 --- /dev/null +++ b/algorithms/java/src/validAnagram/TestValidAnagram.java @@ -0,0 +1,16 @@ +package validAnagram; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for 242. Valid Anagram + */ +public class TestValidAnagram { + @Test + public void test() { + ValidAnagram solution = new ValidAnagram(); + Assert.assertTrue(solution.isAnagram("anagram", "nagaram")); + Assert.assertTrue(!solution.isAnagram("rat", "car")); + } +} diff --git a/algorithms/java/src/validAnagram/ValidAnagram.java b/algorithms/java/src/validAnagram/ValidAnagram.java new file mode 100644 index 000000000..b1bfe9904 --- /dev/null +++ b/algorithms/java/src/validAnagram/ValidAnagram.java @@ -0,0 +1,53 @@ +// Source : https://leetcode.com/problems/valid-anagram/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Given two strings s and t, write a function to determine if t is an anagram of s. + * + * For example, + * s = "anagram", t = "nagaram", return true. + * s = "rat", t = "car", return false. + * + * Note: + * You may assume the string contains only lowercase alphabets. + * + * Follow up: + * What if the inputs contain unicode characters? How would you adapt your solution to such case? + * + **********************************************************************************/ +package validAnagram; + +public class ValidAnagram { + + /** + * Like counting-sort + */ + public boolean isAnagram(String s, String t) { + if (s == null && t == null) { + return true; + } + if (s.length() != t.length()) { + return false; + } + final int mapLen = 26; + int[] map1 = new int[mapLen]; + int[] map2 = new int[mapLen]; + int len = s.length(); + for (int i = 0; i < len; i++) { + char c1 = s.charAt(i); + map1[c1 - 'a']++; + // ASCII of letter a is 97 + int c2 = t.charAt(i); + map2[c2 - 97]++; + } + for (int i = 0; i < mapLen; i++) { + if (map1[i] != map2[i]) { + return false; + } + } + return true; + } + +} diff --git a/algorithms/java/src/validPalindrome/TestValidPalindrome.java b/algorithms/java/src/validPalindrome/TestValidPalindrome.java new file mode 100644 index 000000000..c66ca43b4 --- /dev/null +++ b/algorithms/java/src/validPalindrome/TestValidPalindrome.java @@ -0,0 +1,17 @@ +package validPalindrome; + +import org.junit.Assert; +import org.junit.Test; +/** + * Test for 125. Valid Palindrome + */ +public class TestValidPalindrome { + @Test + public void test() { + ValidPalindrome solution = new ValidPalindrome(); + String str1 = "A man, a plan, a canal: Panama"; + Assert.assertTrue(solution.isPalindrome(str1)); + String str2 = "race a car"; + Assert.assertTrue(!solution.isPalindrome(str2)); + } +} diff --git a/algorithms/java/src/validPalindrome/ValidPalindrome.java b/algorithms/java/src/validPalindrome/ValidPalindrome.java new file mode 100644 index 000000000..73185d22e --- /dev/null +++ b/algorithms/java/src/validPalindrome/ValidPalindrome.java @@ -0,0 +1,59 @@ +// Source : https://leetcode.com/problems/valid-palindrome/description/ +// Author : Tianming Cao +// Date : 2018-02-11 + +/********************************************************************************** + * + * Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. + * + * For example, + * "A man, a plan, a canal: Panama" is a palindrome. + * "race a car" is not a palindrome. + * + * Note: + * Have you consider that the string might be empty? This is a good question to ask during an interview. + * + * For the purpose of this problem, we define empty string as valid palindrome. + * + **********************************************************************************/ +package validPalindrome; + +public class ValidPalindrome { + private boolean isAlphaNumber(char c) { + if ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9')) { + return true; + } else { + return false; + } + } + /** + * We need two pointers like below: + * + * i j + * ↓-------> <--------↓ + * a,b c d e e d;c b a + + * + * Move them from border to mid, util i meet j or s[i]!=s[j] + */ + public boolean isPalindrome(String s) { + if (s == null || s.length() <= 1) { + return true; + } + s = s.toLowerCase(); + int i = 0, j = s.length() - 1; + while (i < j) { + while (!isAlphaNumber(s.charAt(i)) && i < j) { + i++; + } + while (!isAlphaNumber(s.charAt(j)) && i < j) { + j--; + } + if (s.charAt(i) != s.charAt(j)) { + return false; + } + i++; + j--; + } + return true; + } +} From 725a380d5c2644dfadb5498dd3ec8596b5e59618 Mon Sep 17 00:00:00 2001 From: kosora Date: Sun, 11 Feb 2018 13:24:40 +0800 Subject: [PATCH 144/256] =?UTF-8?q?Java=20Solution=20for=209=E3=80=8138?= =?UTF-8?q?=E3=80=8150=E3=80=8158=E3=80=8192=E3=80=81125=E3=80=81151?= =?UTF-8?q?=E3=80=81206=E3=80=81242,=20KMP=20for=20problem=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- algorithms/java/src/palindromeNumber/PalindromeNumber.java | 2 +- .../java/src/reverseWordsInAString/ReverseWordsInAString.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/algorithms/java/src/palindromeNumber/PalindromeNumber.java b/algorithms/java/src/palindromeNumber/PalindromeNumber.java index bfce311e6..06f61c2ec 100644 --- a/algorithms/java/src/palindromeNumber/PalindromeNumber.java +++ b/algorithms/java/src/palindromeNumber/PalindromeNumber.java @@ -1,4 +1,4 @@ -// Source : https://leetcode.com/problems/valid-palindrome/description/ +// Source : https://oj.leetcode.com/problems/palindrome-number/ // Author : Tianming Cao // Date : 2018-02-11 diff --git a/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java b/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java index dd1302e39..c866af57b 100644 --- a/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java +++ b/algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java @@ -1,4 +1,4 @@ -// Source : https://leetcode.com/problems/valid-palindrome/description/ +// Source : https://leetcode.com/problems/reverse-words-in-a-string/description/ // Author : Tianming Cao // Date : 2018-02-11 From cd38a47587327a6b215fda13dbe3cad33353e5aa Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 19 Apr 2018 21:44:28 +0800 Subject: [PATCH 145/256] Two New Problem Solution - "Most Common Word" and "Maximum Average Subarray I" --- README.md | 2 + .../MaximumAverageSubarray.I.cpp | 48 +++++++++ .../cpp/mostCommonWord/MostCommonWord.cpp | 100 ++++++++++++++++++ 3 files changed, 150 insertions(+) create mode 100644 algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp create mode 100644 algorithms/cpp/mostCommonWord/MostCommonWord.cpp diff --git a/README.md b/README.md index 95dafc516..36c3a847d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| +|643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| diff --git a/algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp b/algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp new file mode 100644 index 000000000..be308df42 --- /dev/null +++ b/algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp @@ -0,0 +1,48 @@ +// Source : https://leetcode.com/problems/maximum-average-subarray-i/description/ +// Author : Hao Chen +// Date : 2018-04-19 + +/*************************************************************************************** + * + * + * Given an array consisting of n integers, find the contiguous subarray of given + * length k that has the maximum average value. And you need to output the maximum + * average value. + * + * + * Example 1: + * + * Input: [1,12,-5,-6,50,3], k = 4 + * Output: 12.75 + * Explanation: aximum average is (12-5-6+50)/4 = 51/4 = 12.75 + * + * + * + * Note: + * + * 1 k n + * Elements of the given array will be in the range [-10,000, 10,000]. + * + ***************************************************************************************/ + +class Solution { +public: + double findMaxAverage(vector& nums, int k) { + int sum=0; + for(int i=0; i sum) { + sum = s; + } + } + return (double)sum/k; + } +}; + diff --git a/algorithms/cpp/mostCommonWord/MostCommonWord.cpp b/algorithms/cpp/mostCommonWord/MostCommonWord.cpp new file mode 100644 index 000000000..12ffe2712 --- /dev/null +++ b/algorithms/cpp/mostCommonWord/MostCommonWord.cpp @@ -0,0 +1,100 @@ +// Source : https://leetcode.com/problems/most-common-word/ +// Author : Hao Chen +// Date : 2018-04-19 + +/*************************************************************************************** + * + * Given a paragraph and a list of banned words, return the most frequent word that is + * not in the list of banned words. It is guaranteed there is at least one word that + * isn't banned, and that the answer is unique. + * + * Words in the list of banned words are given in lowercase, and free of punctuation. + * Words in the paragraph are not case sensitive. The answer is in lowercase. + * + * + * Example: + * Input: + * paragraph = "Bob hit a ball, the hit BALL flew far after it was hit." + * banned = ["hit"] + * Output: "ball" + * Explanation: + * "hit" occurs 3 times, but it is a banned word. + * "ball" occurs twice (and no other word does), so it is the most frequent non-banned + * word in the paragraph. + * Note that words in the paragraph are not case sensitive, + * that punctuation is ignored (even if adjacent to words, such as "ball,"), + * and that "hit" isn't the answer even though it occurs more because it is banned. + * + * + * + * + * Note: + * + * + * 1 <= paragraph.length <= 1000. + * 1 <= banned.length <= 100. + * 1 <= banned[i].length <= 10. + * The answer is unique, and written in lowercase (even if its occurrences in + * paragraph may have uppercase symbols, and even if it is a proper noun.) + * paragraph only consists of letters, spaces, or the punctuation symbols !?',;. + * Different words in paragraph are always separated by a space. + * There are no hyphens or hyphenated words. + * Words only consist of letters, never apostrophes or other punctuation + * symbols. + * + * + * + ***************************************************************************************/ + + +class Solution { +private: + bool isLetter(char c) { + return c >= 'a' && c <= 'z'; + } +public: + string mostCommonWord(string paragraph, vector& banned) { + unordered_map banned_map, words_map; + for (auto w:banned) { + banned_map[w]++; + } + + //conert the string to lower case. + transform(paragraph.begin(), paragraph.end(), paragraph.begin(), ::tolower); + + //transfer the symbols to space. + for (int i=0; i0 ) { + words_map[word]++; + } + word=""; + } + } + if ( word.size()>0 ) words_map[word]++; + + string result; + int max_cnt=0; + // go through the words_map + for (auto const& w : words_map) { + + if ( banned_map.find(w.first) != banned_map.end() ) { + continue; + } + if (max_cnt < w.second) { + result = w.first; + max_cnt = w.second; + } + } + + return result; + } +}; From 5dea314fe5017adf0883d6f7f5a7e43054e3dfce Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 19 Apr 2018 21:45:07 +0800 Subject: [PATCH 146/256] fix the comments.sh which use the new leetcode API to retrive problem description --- scripts/comments.sh | 2 +- scripts/lib/query_problem.sh | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index bb21735e5..1c170524d 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -82,7 +82,7 @@ fi #grab the problem information query_problem ${leetcode_url} ${QUESTION_TITLE_SLUG} -if [ ${QUESTION_CATEGORY} == "Shell" ]; then +if [ "${QUESTION_CATEGORY}" == "Shell" ]; then COMMENT_TAG='#' FILE_EXT='.sh' fi diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index b803cdf9b..68626f3ed 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -15,18 +15,20 @@ function query_problem() { TMP_JSON_FILE=tmp.json - curl -s 'https://leetcode.com/graphql' \ - -H 'origin: https://leetcode.com' \ - -H 'accept-encoding: gzip, deflate, br' \ - -H 'accept-language: zh-CN,zh;q=0.9,und;q=0.8,en;q=0.7' \ - -H 'cookie: __atuvc=3%7C8%2C0%7C9%2C0%7C10%2C0%7C11%2C11%7C12; _ga=GA1.2.714733890.1464506754; __cfduid=d0091b1a13637142e21e82f5f43f8f3c61517304755; _gid=GA1.2.846248999.1517304756; csrftoken=W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12; _gat=1' \ - -H 'x-csrftoken: W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12' \ - -H 'pragma: no-cache' \ - -H 'content-type: application/json' \ - -H 'accept: */*' -H 'cache-control: no-cache' \ - -H 'authority: leetcode.com' \ - -H "referer: ${1}" \ - --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n questionTitleSlug\n content\n difficulty\n stats\n contributors\n companyTags\n topicTags\n similarQuestions\n discussUrl\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n discussCategoryId\n discussSolutionCategoryId\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n }\n timeOptions {\n id\n name\n }\n stageOptions {\n id\n name\n }\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} + curl -s "https://leetcode.com/graphql?query=query%20getQuestionDetail(%24titleSlug%3A%20String!)%20%7B%0A%20%20isCurrentUserAuthenticated%0A%20%20question(titleSlug%3A%20%24titleSlug)%20%7B%0A%20%20%20%20questionId%0A%20%20%20%20questionFrontendId%0A%20%20%20%20questionTitle%0A%20%20%20%20translatedTitle%0A%20%20%20%20questionTitleSlug%0A%20%20%20%20content%0A%20%20%20%20translatedContent%0A%20%20%20%20difficulty%0A%20%20%20%20stats%0A%20%20%20%20contributors%0A%20%20%20%20similarQuestions%0A%20%20%20%20discussUrl%0A%20%20%20%20mysqlSchemas%0A%20%20%20%20randomQuestionUrl%0A%20%20%20%20sessionId%0A%20%20%20%20categoryTitle%0A%20%20%20%20submitUrl%0A%20%20%20%20interpretUrl%0A%20%20%20%20codeDefinition%0A%20%20%20%20sampleTestCase%0A%20%20%20%20enableTestMode%0A%20%20%20%20metaData%0A%20%20%20%20enableRunCode%0A%20%20%20%20enableSubmit%0A%20%20%20%20judgerAvailable%0A%20%20%20%20infoVerified%0A%20%20%20%20envInfo%0A%20%20%20%20urlManager%0A%20%20%20%20article%0A%20%20%20%20questionDetailUrl%0A%20%20%20%20discussCategoryId%0A%20%20%20%20discussSolutionCategoryId%0A%20%20%20%20libraryUrl%0A%20%20%20%20companyTags%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%20%20translatedName%0A%20%20%20%20%7D%0A%20%20%20%20topicTags%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%20%20translatedName%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20interviewed%20%7B%0A%20%20%20%20interviewedUrl%0A%20%20%20%20companies%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%7D%0A%20%20%20%20timeOptions%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%20%20stageOptions%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20subscribeUrl%0A%20%20isPremium%0A%20%20loginUrl%0A%7D%0A&operationName=getQuestionDetail&variables=%7B%22titleSlug%22%3A%22${2}%22%7D" > ${TMP_JSON_FILE} + +# curl -s 'https://leetcode.com/graphql' \ +# -H 'origin: https://leetcode.com' \ +# -H 'accept-encoding: gzip, deflate, br' \ +# -H 'accept-language: zh-CN,zh;q=0.9,und;q=0.8,en;q=0.7' \ +# -H 'cookie: __atuvc=3%7C8%2C0%7C9%2C0%7C10%2C0%7C11%2C11%7C12; _ga=GA1.2.714733890.1464506754; __cfduid=d0091b1a13637142e21e82f5f43f8f3c61517304755; _gid=GA1.2.846248999.1517304756; csrftoken=W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12; _gat=1' \ +# -H 'x-csrftoken: W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12' \ +# -H 'pragma: no-cache' \ +# -H 'content-type: application/json' \ +# -H 'accept: */*' -H 'cache-control: no-cache' \ +# -H 'authority: leetcode.com' \ +# -H "referer: ${1}" \ +# --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n questionTitleSlug\n content\n difficulty\n stats\n contributors\n companyTags\n topicTags\n similarQuestions\n discussUrl\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n discussCategoryId\n discussSolutionCategoryId\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n }\n timeOptions {\n id\n name\n }\n stageOptions {\n id\n name\n }\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} # xidel change the -q option to -s after 0.9.4 version, so we have to check that # if xidel has -q option, then it will return error. @@ -46,7 +48,7 @@ function query_problem() fi set -e - QUESTION_CONTENT=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.content' | sed -e 's/<[^>]*>//g') + QUESTION_CONTENT=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.content' | sed -e 's/<[^>]*>//g; s/ / /g; s/&/\&/g; s/</\/g; s/"/\"/g; s/'/\'"'"'/g; s/“/\"/g;') QUESTION_DIFFICULTY=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.difficulty') From 4d48134f10f2d497bcce824011587b9d78d9e932 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 23 Jun 2018 15:35:40 +0800 Subject: [PATCH 147/256] [fix] - adopted the new leetcode GrapQL API --- scripts/lib/query_problem.sh | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index 68626f3ed..f1d0770eb 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -15,20 +15,27 @@ function query_problem() { TMP_JSON_FILE=tmp.json - curl -s "https://leetcode.com/graphql?query=query%20getQuestionDetail(%24titleSlug%3A%20String!)%20%7B%0A%20%20isCurrentUserAuthenticated%0A%20%20question(titleSlug%3A%20%24titleSlug)%20%7B%0A%20%20%20%20questionId%0A%20%20%20%20questionFrontendId%0A%20%20%20%20questionTitle%0A%20%20%20%20translatedTitle%0A%20%20%20%20questionTitleSlug%0A%20%20%20%20content%0A%20%20%20%20translatedContent%0A%20%20%20%20difficulty%0A%20%20%20%20stats%0A%20%20%20%20contributors%0A%20%20%20%20similarQuestions%0A%20%20%20%20discussUrl%0A%20%20%20%20mysqlSchemas%0A%20%20%20%20randomQuestionUrl%0A%20%20%20%20sessionId%0A%20%20%20%20categoryTitle%0A%20%20%20%20submitUrl%0A%20%20%20%20interpretUrl%0A%20%20%20%20codeDefinition%0A%20%20%20%20sampleTestCase%0A%20%20%20%20enableTestMode%0A%20%20%20%20metaData%0A%20%20%20%20enableRunCode%0A%20%20%20%20enableSubmit%0A%20%20%20%20judgerAvailable%0A%20%20%20%20infoVerified%0A%20%20%20%20envInfo%0A%20%20%20%20urlManager%0A%20%20%20%20article%0A%20%20%20%20questionDetailUrl%0A%20%20%20%20discussCategoryId%0A%20%20%20%20discussSolutionCategoryId%0A%20%20%20%20libraryUrl%0A%20%20%20%20companyTags%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%20%20translatedName%0A%20%20%20%20%7D%0A%20%20%20%20topicTags%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%20%20translatedName%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20interviewed%20%7B%0A%20%20%20%20interviewedUrl%0A%20%20%20%20companies%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%7D%0A%20%20%20%20timeOptions%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%20%20stageOptions%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20subscribeUrl%0A%20%20isPremium%0A%20%20loginUrl%0A%7D%0A&operationName=getQuestionDetail&variables=%7B%22titleSlug%22%3A%22${2}%22%7D" > ${TMP_JSON_FILE} - -# curl -s 'https://leetcode.com/graphql' \ -# -H 'origin: https://leetcode.com' \ -# -H 'accept-encoding: gzip, deflate, br' \ -# -H 'accept-language: zh-CN,zh;q=0.9,und;q=0.8,en;q=0.7' \ -# -H 'cookie: __atuvc=3%7C8%2C0%7C9%2C0%7C10%2C0%7C11%2C11%7C12; _ga=GA1.2.714733890.1464506754; __cfduid=d0091b1a13637142e21e82f5f43f8f3c61517304755; _gid=GA1.2.846248999.1517304756; csrftoken=W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12; _gat=1' \ -# -H 'x-csrftoken: W3F3gDMAmFE1024RMhNLUi0ofHb4gJ5Wqt4GcOaZHJKneSuXkY7kq2vHm6mA8f12' \ -# -H 'pragma: no-cache' \ -# -H 'content-type: application/json' \ -# -H 'accept: */*' -H 'cache-control: no-cache' \ -# -H 'authority: leetcode.com' \ -# -H "referer: ${1}" \ -# --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n questionTitleSlug\n content\n difficulty\n stats\n contributors\n companyTags\n topicTags\n similarQuestions\n discussUrl\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n discussCategoryId\n discussSolutionCategoryId\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n }\n timeOptions {\n id\n name\n }\n stageOptions {\n id\n name\n }\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} +# curl -s "https://leetcode.com/graphql?query=query%20getQuestionDetail(%24titleSlug%3A%20String!)%20%7B%0A%20%20isCurrentUserAuthenticated%0A%20%20question(titleSlug%3A%20%24titleSlug)%20%7B%0A%20%20%20%20questionId%0A%20%20%20%20questionFrontendId%0A%20%20%20%20questionTitle%0A%20%20%20%20translatedTitle%0A%20%20%20%20questionTitleSlug%0A%20%20%20%20content%0A%20%20%20%20translatedContent%0A%20%20%20%20difficulty%0A%20%20%20%20stats%0A%20%20%20%20contributors%0A%20%20%20%20similarQuestions%0A%20%20%20%20discussUrl%0A%20%20%20%20mysqlSchemas%0A%20%20%20%20randomQuestionUrl%0A%20%20%20%20sessionId%0A%20%20%20%20categoryTitle%0A%20%20%20%20submitUrl%0A%20%20%20%20interpretUrl%0A%20%20%20%20codeDefinition%0A%20%20%20%20sampleTestCase%0A%20%20%20%20enableTestMode%0A%20%20%20%20metaData%0A%20%20%20%20enableRunCode%0A%20%20%20%20enableSubmit%0A%20%20%20%20judgerAvailable%0A%20%20%20%20infoVerified%0A%20%20%20%20envInfo%0A%20%20%20%20urlManager%0A%20%20%20%20article%0A%20%20%20%20questionDetailUrl%0A%20%20%20%20discussCategoryId%0A%20%20%20%20discussSolutionCategoryId%0A%20%20%20%20libraryUrl%0A%20%20%20%20companyTags%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%20%20translatedName%0A%20%20%20%20%7D%0A%20%20%20%20topicTags%20%7B%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%20%20translatedName%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20interviewed%20%7B%0A%20%20%20%20interviewedUrl%0A%20%20%20%20companies%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20slug%0A%20%20%20%20%7D%0A%20%20%20%20timeOptions%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%20%20stageOptions%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20subscribeUrl%0A%20%20isPremium%0A%20%20loginUrl%0A%7D%0A&operationName=getQuestionDetail&variables=%7B%22titleSlug%22%3A%22${2}%22%7D" > ${TMP_JSON_FILE} + + # + # NOTE: leetcode server supports `br` encoding and make it high priority. But curl doesn't support it, + # So, you need make sure the `accept-encoding` hasn't br in the request header. + # (if you copy & paste the curl script from Chrome, the `br` could be added!) + # + curl -s 'https://leetcode.com/graphql' \ + -H 'origin: https://leetcode.com' \ + -H 'accept-encoding: gzip, deflate' \ + -H 'accept-language: zh-CN,zh;q=0.9,und;q=0.8,en;q=0.7' \ + -H 'cookie: __cfduid=dae082e425ee3916c04a5170b832e268e1524142659; _ga=GA1.2.1432146910.1524142661; _gid=GA1.2.650843898.1529736240; csrftoken=iSKedVXxGDkBBXbP9chsyXhbIrRedF7iw2EMRZiemtzKD8vjHSWZJKkKQVIwZKp7; __atuvc=2%7C25; __atuvs=5b2ded02313c83c4001; _gat=1' \ + -H 'x-csrftoken: iSKedVXxGDkBBXbP9chsyXhbIrRedF7iw2EMRZiemtzKD8vjHSWZJKkKQVIwZKp7' \ + -H 'pragma: no-cache' \ + -H 'content-type: application/json' \ + -H 'accept: */*' -H 'cache-control: no-cache' \ + -H 'authority: leetcode.com' \ + -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36' \ + -H "referer: ${1}" \ + --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n translatedTitle\n questionTitleSlug\n content\n translatedContent\n difficulty\n stats\n allowDiscuss\n contributors\n similarQuestions\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n libraryUrl\n companyTags {\n name\n slug\n translatedName\n __typename\n }\n topicTags {\n name\n slug\n translatedName\n __typename\n }\n __typename\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n slug\n __typename\n }\n timeOptions {\n id\n name\n __typename\n }\n stageOptions {\n id\n name\n __typename\n }\n __typename\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} + # xidel change the -q option to -s after 0.9.4 version, so we have to check that # if xidel has -q option, then it will return error. From b98dab861585b310e86cec92348d70c9a1fdfcc5 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 23 Jun 2018 15:37:23 +0800 Subject: [PATCH 148/256] [New Solution] - "Jewels and Stones" --- README.md | 1 + .../cpp/jewelsAndStones/JewelsAndStones.cpp | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp diff --git a/README.md b/README.md index 36c3a847d..b4967eb6b 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| +|782|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| diff --git a/algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp b/algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp new file mode 100644 index 000000000..1b807b115 --- /dev/null +++ b/algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp @@ -0,0 +1,49 @@ +// Source : https://leetcode.com/problems/jewels-and-stones/description +// Author : Hao Chen +// Date : 2018-06-23 + +/*************************************************************************************** + * + * You're given strings J representing the types of stones that are jewels, and S + * representing the stones you have. Each character in S is a type of stone you have. + * You want to know how many of the stones you have are also jewels. + * + * The letters in J are guaranteed distinct, and all characters in J and S are letters. + * Letters are case sensitive, so "a" is considered a different type of stone from "A". + * + * Example 1: + * + * + * Input: J = "aA", S = "aAAbbbb" + * Output: 3 + * + * + * Example 2: + * + * + * Input: J = "z", S = "ZZ" + * Output: 0 + * + * + * Note: + * + * + * S and J will consist of letters and have length at most 50. + * The characters in J are distinct. + ***************************************************************************************/ + + +class Solution { +public: + int numJewelsInStones(string J, string S) { + bool map[256] = {false}; + for (auto c : J) { + map[c]=true; + } + int cnt=0; + for (auto c : S) { + if (map[c]) cnt++; + } + return cnt; + } +}; From 956807c32293db68f13fb132545a1ef639ab4134 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 23 Jun 2018 20:20:00 +0800 Subject: [PATCH 149/256] [fix] fix the bugs of DP --- .../longestPalindromicSubstring.cpp | 55 +++++++++++++++++-- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp b/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp index ce62799cb..4e82a5a25 100644 --- a/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp +++ b/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp @@ -53,6 +53,43 @@ string longestPalindrome_recursive_way(string s) { return longest; } +//================================================================================ + + +void findPalindrome(string s, int left, int right, int& start, int& len) +{ + int n = s.size(); + int l = left; + int r = right; + while (left>=0 && right<=n-1 && s[left] == s[right]) { + left--; + right++; + } + if (right-left-1 > len){ + len = right-left-1; + start = left+1; + } +} + +//The following solution is better than previous solution. +//Because it remove the sub-string return in findPalindrome(). +string longestPalindrome_recursive_way2(string s) { + int n = s.size(); + if (n<=1) return s; + + int start=0, len=0; + string longest; + + string str; + for (int i=0; i Date: Sun, 24 Jun 2018 12:50:56 +0800 Subject: [PATCH 150/256] [fix] remove the debug loging --- .../longestPalindromicSubstring/longestPalindromicSubstring.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp b/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp index 4e82a5a25..4627e5cde 100644 --- a/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp +++ b/algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp @@ -159,7 +159,6 @@ string longestPalindrome_dp_opt_way(string s) { if (len < i-j+1){ start = j; len = i-j+1; - cout << start << ":" << len < Date: Mon, 25 Jun 2018 23:17:33 +0800 Subject: [PATCH 151/256] New Solution "Partition Equal Subset Sum" --- README.md | 1 + .../PartitionEqualSubsetSum.cpp | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp diff --git a/README.md b/README.md index b4967eb6b..446f1438e 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ LeetCode |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| +|416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/description/) | [C++](./algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp)|Medium| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| |414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| diff --git a/algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp b/algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp new file mode 100644 index 000000000..1ed6b5515 --- /dev/null +++ b/algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp @@ -0,0 +1,65 @@ +// Source : https://leetcode.com/problems/partition-equal-subset-sum/description/ +// Author : Hao Chen +// Date : 2018-06-24 + +/*************************************************************************************** + * + * Given a non-empty array containing only positive integers, find if the array can be + * partitioned into two subsets such that the sum of elements in both subsets is equal. + * + * + * Note: + * + * Each of the array element will not exceed 100. + * The array size will not exceed 200. + * + * + * + * Example 1: + * + * Input: [1, 5, 11, 5] + * + * Output: true + * + * Explanation: The array can be partitioned as [1, 5, 5] and [11]. + * + * + * + * Example 2: + * + * Input: [1, 2, 3, 5] + * + * Output: false + * + * Explanation: The array cannot be partitioned into equal sum subsets. + * + ***************************************************************************************/ + +class Solution { +public: + //back tracking + bool canPartitionRecrusion(vector& nums, int half, int index) { + for (int i=index; i& nums) { + int sum = 0; + for(auto n : nums) sum +=n; + if ( sum & 1 ) return false; // sum % 2 != 1 + int half = sum / 2; + + //sort the array in descending order + //so, the DFS could be very fast to find the answer because it's greedy. + std::sort(nums.begin(), nums.end(), std::greater()); + + //go to find a path which sum is half + return canPartitionRecrusion(nums, half, 0); + } +}; From 7228f4e84a9b338ea238b1c2d5c5a53929be8549 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 25 Jun 2018 23:38:28 +0800 Subject: [PATCH 152/256] Updated an simple solution for two easy problems --- .../intersectionOfTwoArrays.cpp | 30 +++++++++++++------ .../intersectionOfTwoArraysII.cpp | 28 ++++++++++++++++- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp index 88eaccba6..79e32cbd8 100644 --- a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp +++ b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/intersection-of-two-arrays/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2016-05-20 /*************************************************************************************** @@ -48,13 +48,25 @@ class Solution2 { } }; +/* + * This Solution use unordered_map, insert the data into a map is more efficent than set + */ - - - - - - - - +class Solution { +public: + vector intersection(vector& nums1, vector& nums2) { + unordered_map m; + for (auto n : nums1) { + m[n] = true; + } + vector result; + for (auto n : nums2){ + if (m.find(n) != m.end() && m[n] ){ + result.push_back(n); + m[n]=false; + } + } + return result; + } +}; diff --git a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp index 3b20ef791..9384d96da 100644 --- a/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp +++ b/algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/intersection-of-two-arrays-ii/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2016-05-22 /*************************************************************************************** @@ -59,3 +59,29 @@ class Solution { // O(NlogN + MlogM) return solution; } }; + + + +/* + * Just simply use the map can have O(M+N) time complexity. + * + */ + + +class Solution { +public: + vector intersect(vector& nums1, vector& nums2) { + unordered_map m; + for (auto n: nums1) { + m[n]++; + } + vector result; + for (auto n:nums2){ + if (m.find(n) != m.end() && m[n]>0 ){ + result.push_back(n); + m[n]--; + } + } + return result; + } +}; From 034fee54fd945389b10e53b83d2fc9cecdfd6353 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Jun 2018 00:00:49 +0800 Subject: [PATCH 153/256] New Solution - "Sum of Two Integers" --- README.md | 1 + .../cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp diff --git a/README.md b/README.md index 446f1438e..7d099f08b 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ LeetCode |380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/) | [C++](./algorithms/cpp/insertDeleteGetRandom/InsertDeleteGetrandomO1.cpp)|Hard| |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| +|371|[Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers/description/) | [C++](./algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp)|Easy| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| diff --git a/algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp b/algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp new file mode 100644 index 000000000..d636e94c3 --- /dev/null +++ b/algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp @@ -0,0 +1,38 @@ +// Source : https://leetcode.com/problems/sum-of-two-integers/description/ +// Author : Hao Chen +// Date : 2018-06-25 + +/*************************************************************************************** + * + * Calculate the sum of two integers a and b, but you are not allowed to use the + * operator + and -. + * + * Example: + * Given a = 1 and b = 2, return 3. + * + * + * Credits:Special thanks to @fujiaozhu for adding this problem and creating all test + * cases. + ***************************************************************************************/ + +class Solution { +public: + int getSum(int x, int y) { + // Iterate till there is no carry + while (y != 0) { + // carry now contains common + //set bits of x and y + int carry = x & y; + + // Sum of bits of x and y where at + //least one of the bits is not set + x = x ^ y; + + // Carry is shifted by one so that adding + // it to x gives the required sum + y = carry << 1; + } + return x; + } +}; + From e364610c5c74429cd995f119b493070f8a18e787 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Jun 2018 00:32:52 +0800 Subject: [PATCH 154/256] New Solution "Valid Perfect Square" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d099f08b..5b9dd414e 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ LeetCode |377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/) | [C++](./algorithms/cpp/combinationSumIV/combinationSumIV.cpp)|Medium| |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |371|[Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers/description/) | [C++](./algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp)|Easy| +|367|[Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square/description/) | [C++](./algorithms/cpp/validPerfectSquare/ValidPerfectSquare.cpp)|Easy| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| From e66a31f3f67284ae8ec0401aee81093af47e7037 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 27 Jun 2018 18:31:15 +0800 Subject: [PATCH 155/256] fix: using `questionFrontendId` instead of `questionId` --- scripts/lib/query_problem.sh | 2 ++ scripts/readme.sh | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index f1d0770eb..f895507c9 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -63,6 +63,8 @@ function query_problem() QUESTION_ID=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.questionId') + QUESTION_FRONTEND_ID=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.questionFrontendId') + QUESTION_CATEGORY=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.categoryTitle') rm -f $TMP_JSON_FILE diff --git a/scripts/readme.sh b/scripts/readme.sh index f390752f9..a66a3b355 100755 --- a/scripts/readme.sh +++ b/scripts/readme.sh @@ -42,9 +42,10 @@ query_problem ${URL} ${QUESTION_TITLE_SLUG} #echo $QUESTION_DIFFICULTY #echo $QUESTION_TITLE #echo $QUESTION_ID +#echo $QUESTION_FRONTEND_ID #echo $QUESTION_CATEGORY FILE=`echo ${FILE} | sed "s/.*\/algorithms/\.\/algorithms/"` -echo "|${QUESTION_ID}|[${QUESTION_TITLE}](${URL}) | [C++](${FILE})|${QUESTION_DIFFICULTY}|" +echo "|${QUESTION_FRONTEND_ID}|[${QUESTION_TITLE}](${URL}) | [C++](${FILE})|${QUESTION_DIFFICULTY}|" From 93d639934e705a9b7f4cd4c3804071e7e993988e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 27 Jun 2018 18:34:53 +0800 Subject: [PATCH 156/256] New Solution "Mirror Reflection" --- README.md | 3 +- .../cpp/mirrorReflection/MirrorReflection.cpp | 80 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 algorithms/cpp/mirrorReflection/MirrorReflection.cpp diff --git a/README.md b/README.md index 5b9dd414e..69e5a2fba 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,9 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| -|782|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| +|771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| diff --git a/algorithms/cpp/mirrorReflection/MirrorReflection.cpp b/algorithms/cpp/mirrorReflection/MirrorReflection.cpp new file mode 100644 index 000000000..c2d0d8201 --- /dev/null +++ b/algorithms/cpp/mirrorReflection/MirrorReflection.cpp @@ -0,0 +1,80 @@ +// Source : https://leetcode.com/problems/mirror-reflection/description/ +// Author : Hao Chen +// Date : 2018-06-27 + +/*************************************************************************************** + * + * There is a special square room with mirrors on each of the four walls. Except for + * the southwest corner, there are receptors on each of the remaining corners, numbered + * 0, 1, and 2. + * + * The square room has walls of length p, and a laser ray from the southwest corner + * first meets the east wall at a distance q from the 0th receptor. + * + * Return the number of the receptor that the ray meets first. (It is guaranteed that + * the ray will meet a receptor eventually.) + * + * + * + * + * Example 1: + * + * + * Input: p = 2, q = 1 + * Output: 2 + * Explanation: The ray meets receptor 2 the first time it gets reflected back to the + * left wall. + * + * + * + * + * Note: + * + * + * 1 <= p <= 1000 + * 0 <= q <= p + * + ***************************************************************************************/ + +/* + * Solution + * -------- + * + * We know the following things: + * 1)every reflection will increase the step of `q`. + * 2) when reach the top, the reflection would go down, when reach the bottom the reflection would go up. + * + * So, we can image if there have two walls, left one and right one, then the reflection can go up instanstly, + * + * - the reflection points on left wall would be even times of `q`. + * - the reflection points on right wall would be odd times of `q`. + * + * And in the right wall, the receptors `#0` would be the times of `2p`. + * + * So, we need find the least common multiple of `p` and `q`, then we can have the answer. + */ + + +class Solution { +private: + //GCD - greatest common divisor 最大公因数 + int greatestCommonDivisor (int a, int b) { + if(b) while((a %= b) && (b %= a)); + return a + b; + } + //LCM - least common multiple 最小公倍数 + int leastCommonMultiple(int a, int b) { + return a * b / greatestCommonDivisor(a, b); + } +public: + int mirrorReflection(int p, int q) { + int lcm = leastCommonMultiple(p, q); + if (lcm % (2*p) == 0 ) return 0; + + int nq = lcm / q; + + if (nq % 2 == 0 ) return 2; + return 1; + } +}; + From fdf5f826fc04e73fc45e9d3dd03cc14300746dc7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 27 Jun 2018 21:00:53 +0800 Subject: [PATCH 157/256] New Solution "Buddy Strings" --- README.md | 1 + algorithms/cpp/buddyStrings/BuddyStrings.cpp | 94 ++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 algorithms/cpp/buddyStrings/BuddyStrings.cpp diff --git a/README.md b/README.md index 69e5a2fba..e91d69f12 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| diff --git a/algorithms/cpp/buddyStrings/BuddyStrings.cpp b/algorithms/cpp/buddyStrings/BuddyStrings.cpp new file mode 100644 index 000000000..41b0b5ea9 --- /dev/null +++ b/algorithms/cpp/buddyStrings/BuddyStrings.cpp @@ -0,0 +1,94 @@ +// Source : https://leetcode.com/problems/buddy-strings/description/ +// Author : Hao Chen +// Date : 2018-06-27 + +/*************************************************************************************** + * + * Given two strings A and B of lowercase letters, return true if and only if we can + * swap two letters in A so that the result equals B. + * + * + * + * Example 1: + * + * + * + * Input: A = "ab", B = "ba" + * Output: true + * + * + * + * Example 2: + * + * + * Input: A = "ab", B = "ab" + * Output: false + * + * + * + * Example 3: + * + * + * Input: A = "aa", B = "aa" + * Output: true + * + * + * + * Example 4: + * + * + * Input: A = "aaaaaaabc", B = "aaaaaaacb" + * Output: true + * + * + * + * Example 5: + * + * + * Input: A = "", B = "aa" + * Output: false + * + * + * + * + * Note: + * + * + * 0 <= A.length <= 20000 + * 0 <= B.length <= 20000 + * A and B consist only of lowercase letters. + * + * + * + * + * + ***************************************************************************************/ + + + +class Solution { +public: + bool buddyStrings(string A, string B) { + if (A.size() != B.size()) return false; + if (A.size()<2) return false; + + bool bRepeat = false; + bool map[26] = {false}; + int idx[2], diffCnt=0; + + for (int i=0; i=2) return false; + idx[diffCnt++] = i; + + } + } + //if A == B and there has repeated chars , then return true + if (diffCnt==0 && bRepeat) return true; + + return (A[idx[0]] == B[idx[1]] && A[idx[1]] == B[idx[0]]); + + } +}; From 42ec491729af8264468c26b89736d01e893951c7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 29 Jun 2018 09:47:00 +0800 Subject: [PATCH 158/256] New Solution "Unique Morse Code Words" --- README.md | 1 + .../UniqueMorseCodeWords.cpp | 67 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp diff --git a/README.md b/README.md index e91d69f12..bf286ffcc 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ LeetCode |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| +|804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| diff --git a/algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp b/algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp new file mode 100644 index 000000000..0b24dd09b --- /dev/null +++ b/algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp @@ -0,0 +1,67 @@ +// Source : https://leetcode.com/problems/unique-morse-code-words/description/ +// Author : Hao Chen +// Date : 2018-06-29 + +/*************************************************************************************** + * + * International orse Code defines a standard encoding where each letter is mapped to + * a series of dots and dashes, as follows: "a" maps to ".-", "b" maps to "-...", "c" + * maps to "-.-.", and so on. + * + * For convenience, the full table for the 26 letters of the English alphabet is given + * below: + * + * + * [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.", + * "---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."] + * + * Now, given a list of words, each word can be written as a concatenation of the orse + * code of each letter. For example, "cab" can be written as "-.-.-....-", (which is + * the concatenation "-.-." + "-..." + ".-"). We'll call such a concatenation, the + * transformation of a word. + * + * Return the number of different transformations among all words we have. + * + * + * Example: + * Input: words = ["gin", "zen", "gig", "msg"] + * Output: 2 + * Explanation: + * The transformation of each word is: + * "gin" -> "--...-." + * "zen" -> "--...-." + * "gig" -> "--...--." + * "msg" -> "--...--." + * + * There are 2 different transformations, "--...-." and "--...--.". + * + * + * + * + * Note: + * + * + * The length of words will be at most 100. + * Each words[i] will have length in range [1, 12]. + * words[i] will only consist of lowercase letters. + ***************************************************************************************/ + +class Solution { +public: + int uniqueMorseRepresentations(vector& words) { + + string MorseTable[26] = {".-","-...","-.-.","-..",".","..-.","--.", + "....","..",".---","-.-",".-..","--","-.", + "---",".--.","--.-",".-.","...","-","..-", + "...-",".--","-..-","-.--","--.."}; + unordered_map transformations; + for (auto word : words) { + string morse; + for (auto ch : word) { + morse += MorseTable[ ch - 'a' ]; + } + transformations[morse]=true; + } + return transformations.size(); + } +}; From 3076f880dc50dee7fafb35b3e18c614492aa048f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 29 Jun 2018 10:23:58 +0800 Subject: [PATCH 159/256] New Solution"Peak Index in a Mountain Array" --- README.md | 1 + .../PeakIndexInAMountainArray.cpp | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp diff --git a/README.md b/README.md index bf286ffcc..84afee97b 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ LeetCode |---| ----- | -------- | ---------- | |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| +|852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| |804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| diff --git a/algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp b/algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp new file mode 100644 index 000000000..a1365b8e8 --- /dev/null +++ b/algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp @@ -0,0 +1,65 @@ +// Source : https://leetcode.com/problems/peak-index-in-a-mountain-array/description/ +// Author : Hao Chen +// Date : 2018-06-29 + +/*************************************************************************************** + * + * Let's call an array A a mountain if the following properties hold: + * + * + * A.length >= 3 + * There exists some 0 < i < A.length - 1 such that A[0] < A[1] < ... A[i-1] < + * A[i] > A[i+1] > ... > A[A.length - 1] + * + * + * Given an array that is definitely a mountain, return any i such that A[0] < A[1] < + * ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]. + * + * Example 1: + * + * + * Input: [0,1,0] + * Output: 1 + * + * + * + * Example 2: + * + * + * Input: [0,2,1,0] + * Output: 1 + * + * + * Note: + * + * + * 3 <= A.length <= 10000 + * 0 <= A[i] <= 10^6 + * A is a mountain, as defined above. + * + ***************************************************************************************/ + +class Solution { +public: + int peakIndexInMountainArray(vector& A) { + + // Put two dummy items at head and tail to avoid Out-of-Bound Error. + #define INT_MAX 2147483647 + #define INT_MIN (-INT_MAX - 1) + A.insert ( A.begin() , INT_MIN ); + A.push_back(INT_MIN); + + //binary search + int len = A.size(); + int left = 1, right = len - 2; + while(left <= right) { + int mid = left + (right - left)/2; //avoid integer overflow + if ( A[mid-1] < A[mid] && A[mid] > A[mid+1]) return mid-1; + if ( A[mid-1] < A[mid] && A[mid] < A[mid+1]) left = mid + 1; + if ( A[mid-1] > A[mid] && A[mid] > A[mid+1]) right = mid - 1; + + } + return -1; + } +}; + From 9de0296b6b48ec1f229bf9e52d56d18a777dc381 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 29 Jun 2018 10:44:19 +0800 Subject: [PATCH 160/256] New Solution "Backspace String Compare" --- README.md | 1 + .../BackspaceStringCompare.cpp | 83 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp diff --git a/README.md b/README.md index 84afee97b..b214c7d3f 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ LeetCode |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| +844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/description/) | [C++](./algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp)|Easy| |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| |804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| diff --git a/algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp b/algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp new file mode 100644 index 000000000..187b28dbe --- /dev/null +++ b/algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp @@ -0,0 +1,83 @@ +// Source : https://leetcode.com/problems/backspace-string-compare/description/ +// Author : Hao Chen +// Date : 2018-06-29 + +/*************************************************************************************** + * + * Given two strings S and T, return if they are equal when both are typed into empty + * text editors. # means a backspace character. + * + * + * Example 1: + * + * + * Input: S = "ab#c", T = "ad#c" + * Output: true + * Explanation: Both S and T become "ac". + * + * + * + * Example 2: + * + * + * Input: S = "ab##", T = "c#d#" + * Output: true + * Explanation: Both S and T become "". + * + * + * + * Example 3: + * + * + * Input: S = "a##c", T = "#a#c" + * Output: true + * Explanation: Both S and T become "c". + * + * + * + * Example 4: + * + * + * Input: S = "a#c", T = "b" + * Output: false + * Explanation: S becomes "c" while T becomes "b". + * + * + * Note: + * + * + * 1 <= S.length <= 200 + * 1 <= T.length <= 200 + * S and T only contain lowercase letters and '#' characters. + * + * + * Follow up: + * + * + * Can you solve it in O(N) time and O(1) space? + * + * + * + * + ***************************************************************************************/ + +class Solution { +private: + void removeBackspaces(string &s) { + int i = 0; + for(int i=0; i0 ? 2 : 1; + s.erase(i-backSteps + 1, backSteps); + i -= backSteps; + } + } + } + +public: + bool backspaceCompare(string S, string T) { + removeBackspaces(S); + removeBackspaces(T); + return S == T; + } +}; From 7df02eed957468b5c6f1da123a20dce2e56ba5df Mon Sep 17 00:00:00 2001 From: ehds Date: Wed, 1 Aug 2018 17:39:47 +0800 Subject: [PATCH 161/256] New Solution "Integer Replacement" --- .../cpp/integerReplacement/IntegerReplacement.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/algorithms/cpp/integerReplacement/IntegerReplacement.cpp b/algorithms/cpp/integerReplacement/IntegerReplacement.cpp index 8583482d7..70f20762b 100644 --- a/algorithms/cpp/integerReplacement/IntegerReplacement.cpp +++ b/algorithms/cpp/integerReplacement/IntegerReplacement.cpp @@ -63,7 +63,22 @@ class Solution { return result; } + int integerReplacement_simple(int n){ + int ans = 0; + size_t m = n; + while (1 != m) { + if (1 == (m & 1)) { + if (m==3) --m; //special case + else m = (m&0b11^0b01) ? m + 1 : m - 1; + } + else m >>= 1; + ++ans; + } + return ans; + } + int integerReplacement(int n) { return integerReplacement_recursionWithCache(n); + return integerReplacement_simple(n); } }; From 557834f3f04426eeedec5cfcce88527de90a5adc Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Sat, 22 Dec 2018 15:50:46 +1100 Subject: [PATCH 162/256] add python solution to some questions --- README.md | 11 +++-- .../ConvertBSTtoGreaterTree/convertBST.py | 18 ++++++++ .../FlipEquivalentBinaryTrees/flipEquiv.py | 45 +++++++++++++++++++ .../KthSmallestElementInABST/kthSmallest.py | 23 ++++++++++ .../lowestCommonAncestor.py | 9 ++++ .../python/PrintBinaryTree/printTree.py | 20 +++++++++ .../findRedundantConnection.py | 28 ++++++++++++ .../findSecondMinimumValue.py | 15 +++++++ .../python/SumOfLeftLeaves/sumOfLeftLeaves.py | 10 +++++ 9 files changed, 176 insertions(+), 3 deletions(-) create mode 100644 algorithms/python/ConvertBSTtoGreaterTree/convertBST.py create mode 100644 algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py create mode 100644 algorithms/python/KthSmallestElementInABST/kthSmallest.py create mode 100644 algorithms/python/LowestCommonAncestorOfABinarySearchTree/lowestCommonAncestor.py create mode 100644 algorithms/python/PrintBinaryTree/printTree.py create mode 100644 algorithms/python/RedundantConnection/findRedundantConnection.py create mode 100644 algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py create mode 100644 algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py diff --git a/README.md b/README.md index b214c7d3f..f70acf35e 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| @@ -15,7 +16,11 @@ LeetCode |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| |804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| +|684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| +|671|[Second Minimum Node In a Binary Tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/) | [Python](./algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py)|Easy| +|655|[Print Binary Tree](https://leetcode.com/problems/print-binary-tree/) | [Python](./algorithms/python/PrintBinaryTree/printTree.py)|Medium| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| +|538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| |416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/description/) | [C++](./algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp)|Medium| @@ -27,7 +32,7 @@ LeetCode |409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/) | [C++](./algorithms/cpp/longestPalindrome/LongestPalindrome.cpp)|Easy| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| -|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp)|Easy| +|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp), [Python] (./algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py)|Easy| |403|[Frog Jump](https://leetcode.com/problems/frog-jump/) | [C++](./algorithms/cpp/frogJump/FrogJump.cpp)|Hard| |402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| @@ -119,12 +124,12 @@ LeetCode |238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [C++](./algorithms/cpp/productOfArrayExceptSelf/ProductOfArrayExceptSelf.cpp)|Medium| |237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [C++](./algorithms/cpp/deleteNodeInALinkedList/DeleteNodeInALinkedList.cpp)|Easy| |236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinaryTree/LowestCommonAncestorOfABinaryTree.cpp), [Java](./algorithms/java/src/lowestCommonAncestorOfABinaryTree/lowestCommonAncestorOfABinaryTree.java)|Medium| -|235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinarySearchTree/LowestCommonAncestorOfABinarySearchTree.cpp)|Easy| +|235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinarySearchTree/LowestCommonAncestorOfABinarySearchTree.cpp), [Python](./algorithms/python/LowestCommonAncestorOfABinarySearchTree/lowestCommonAncestor.py)|Easy| |234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [C++](./algorithms/cpp/palindromeLinkedList/PalindromeLinkedList.cpp)|Easy| |233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [C++](./algorithms/cpp/numberOfDigitOne/NumberOfDigitOne.cpp)|Medium| |232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp), [Java](./algorithms/java/src/myQueue/MyQueue.java)|Easy| |231|[Power of Two](https://leetcode.com/problems/power-of-two/)| [C++](./algorithms/cpp/powerOfTwo/PowerOfTwo.cpp)|Easy| -|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp)|Medium| +|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp), [Python] (./algorithms/python/KthSmallestElementInABST/kthSmallest.py)|Medium| |229|[Majority Element II](https://oj.leetcode.com/problems/majority-element-ii/) | [C++](./algorithms/cpp/majorityElement/majorityElement.II.cpp)|Medium| |228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [C++](./algorithms/cpp/summaryRanges/SummaryRanges.cpp)|Easy| |227|[Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.II.cpp)|Medium| diff --git a/algorithms/python/ConvertBSTtoGreaterTree/convertBST.py b/algorithms/python/ConvertBSTtoGreaterTree/convertBST.py new file mode 100644 index 000000000..5f33c3db3 --- /dev/null +++ b/algorithms/python/ConvertBSTtoGreaterTree/convertBST.py @@ -0,0 +1,18 @@ +""" +since this is a BST, we can do a inorder traversal (inversed, from right to left), +during this process, track the sum and update the node.val +""" + +class Solution: + def convertBST(self, root): + self.total = 0 + + def helper(node): + if not node: return + helper(node.right) + node.val += self.total + self.total = node.val + helper(node.left) + + helper(root) + return root \ No newline at end of file diff --git a/algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py b/algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py new file mode 100644 index 000000000..927d3acda --- /dev/null +++ b/algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py @@ -0,0 +1,45 @@ +""" +Method 1: + naive recursive solution, divide the original problem into four subproblems, + time complexity and space complexity are both O(n^2) +""" +def flipEquiv1(self, root1, root2): + if not root1 or not root2: + return root1 == root2 + if root1.val != root2.val: + return False + return self.flipEquiv(root1.left, root2.left) and \ + self.flipEquiv(root1.right, root2.right) or \ + self.flipEquiv(root1.left, root2.right) and \ + self.flipEquiv(root1.right, root2.left) + +""" +Method 2: + Step 1: first preprocessing these two trees, sort them in the following order: + if node.left.val > node.right.val, then swap them, make the smaller one to be left node + if the left node is None, then also swap them, make the non-None node to be left node + + Step 2: compare the swapped trees + + After preprocessing, the original problem is divided into two subproblems, time complexity: O(n) +""" +def flipEquiv2(self, root1, root2): + def flip(root): + if root: + if root.left and root.right and root.left.val > root.right.val: + root.left, root.right = root.right, root.left + if not root.left: + root.left, root.right = root.right, root.left + flip(root.left) + flip(root.right) + + def is_equal(root1, root2): + if not root1 or not root2: + return root1 == root2 + return root1.val == root2.val and \ + is_equal(root1.left, root2.left) and \ + is_equal(root1.right, root2.right) + + flip(root1) + flip(root2) + return is_equal(root1, root2) \ No newline at end of file diff --git a/algorithms/python/KthSmallestElementInABST/kthSmallest.py b/algorithms/python/KthSmallestElementInABST/kthSmallest.py new file mode 100644 index 000000000..f139a2eb3 --- /dev/null +++ b/algorithms/python/KthSmallestElementInABST/kthSmallest.py @@ -0,0 +1,23 @@ +# Method 1: recursive in-order traversal +def kthSmallest1(self, root, k): + inorder = [] + def helper(root): + if root: + helper(root.left) + inorder.append(root.val) + helper(root.right) + + helper(root) + return inorder[k-1] + +# Method 2: iterative in-order traversal +def kthSmallest2(self, root, k): + stack = [] + while root or stack: + while root: + stack.append(root) + root = root.left + root = stack.pop() + k -= 1 + if k == 0: return root.val + root = root.right \ No newline at end of file diff --git a/algorithms/python/LowestCommonAncestorOfABinarySearchTree/lowestCommonAncestor.py b/algorithms/python/LowestCommonAncestorOfABinarySearchTree/lowestCommonAncestor.py new file mode 100644 index 000000000..fe063a493 --- /dev/null +++ b/algorithms/python/LowestCommonAncestorOfABinarySearchTree/lowestCommonAncestor.py @@ -0,0 +1,9 @@ +# straight forward recursive solution + +def lowestCommonAncestor(self, root, p, q): + if not root: return None + if root.val > p.val and root.val > q.val: + return self.lowestCommonAncestor(root.left, p, q) + elif root.val < p.val and root.val < q.val: + return self.lowestCommonAncestor(root.right, p, q) + return root \ No newline at end of file diff --git a/algorithms/python/PrintBinaryTree/printTree.py b/algorithms/python/PrintBinaryTree/printTree.py new file mode 100644 index 000000000..de6be60d2 --- /dev/null +++ b/algorithms/python/PrintBinaryTree/printTree.py @@ -0,0 +1,20 @@ +# recursive solution: takes O(n) time +# first get the height of the tree, then recusivly update the value + +def printTree(self, root): + def get_height(root): + if not root: return 0 + return 1 + max(get_height(root.left), get_height(root.right)) + + def update(res, node, row, left, right): + if not node: return + mid = (left + right) // 2 + res[row][mid] = str(node.val) + update(res, node.left, row + 1, left, mid - 1) + update(res, node.right, row + 1, mid + 1, right) + + height = get_height(root) + width = 2 ** height - 1 + res = [['' for _ in range(width)] for _ in range(height)] + update(res, root, 0, 0, width - 1) + return res \ No newline at end of file diff --git a/algorithms/python/RedundantConnection/findRedundantConnection.py b/algorithms/python/RedundantConnection/findRedundantConnection.py new file mode 100644 index 000000000..c2a078a4f --- /dev/null +++ b/algorithms/python/RedundantConnection/findRedundantConnection.py @@ -0,0 +1,28 @@ +""" +simple union find with path compression: +at first, each vertices are disjoint, there are N connected components at the begining, +after add each edge, we unify those two connected components, if two vertices are already +in the same connected component, then this edge will form a circle, just return this edge +""" + +def findRedundantConnection(self, edges): + id = list(range(len(edges) + 1)) + + def find(u): + root = u + while root != id[root]: root = id[root] + + # path compression: + while u != root: + next = id[u] + id[u] = root + u = next + + return root + + for u, v in edges: + root1, root2 = find(u), find(v) + if root1 == root2: return [u, v] + + # else, unify these two components: + id[root1] = root2 \ No newline at end of file diff --git a/algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py b/algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py new file mode 100644 index 000000000..6e8a9ea88 --- /dev/null +++ b/algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py @@ -0,0 +1,15 @@ +""" +because of the special porperty of the tree, the question basically is asking to find +the smallest element in the subtree of root. So, we can recursively find left and right +value that is not equal to the root's value, and then return the smaller one of them +""" +def findSecondMinimumValue(self, root): + if not root: return -1 + if not root.left and not root.right: return -1 + + left, right = root.left.val, root.right.val + if left == root.val: left = self.findSecondMinimumValue(root.left) + if right == root.val: right = self.findSecondMinimumValue(root.right) + if left != -1 and right != -1: return min(left, right) + if left == -1: return right + if right == -1: return left \ No newline at end of file diff --git a/algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py b/algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py new file mode 100644 index 000000000..8b27154b5 --- /dev/null +++ b/algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py @@ -0,0 +1,10 @@ +""" +straight forward recursive solution: +if left node is leave, add the value and the the right subtree +if not, then recursively call left and right subtree +""" +def sumOfLeftLeaves(self, root): + if not root: return 0 + if root.left and not root.left.left and not root.left.right: + return root.left.val + self.sumOfLeftLeaves(root.right) + return self.sumOfLeftLeaves(root.left) + self.sumOfLeftLeaves(root.right) \ No newline at end of file From 00af522e2702905f11f160f8e2c91dde3e5f42b7 Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Wed, 26 Dec 2018 14:49:54 +1100 Subject: [PATCH 163/256] added python solution to some problems --- README.md | 9 +++-- .../python/AddOneRowToTree/addOneRow.py | 12 ++++++ .../BinarySearchTreeIterator/BSTIterator.py | 39 +++++++++++++++++++ .../postorderTraversal.py | 31 +++++++++++++++ algorithms/python/BinaryTreeTilt/findTilt.py | 10 +++++ .../diameterOfBinaryTree.py | 9 +++++ algorithms/python/HouseRobberIII/rob.py | 30 ++++++++++++++ 7 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 algorithms/python/AddOneRowToTree/addOneRow.py create mode 100644 algorithms/python/BinarySearchTreeIterator/BSTIterator.py create mode 100644 algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py create mode 100644 algorithms/python/BinaryTreeTilt/findTilt.py create mode 100644 algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py create mode 100644 algorithms/python/HouseRobberIII/rob.py diff --git a/README.md b/README.md index f70acf35e..347798bc4 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,9 @@ LeetCode |671|[Second Minimum Node In a Binary Tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/) | [Python](./algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py)|Easy| |655|[Print Binary Tree](https://leetcode.com/problems/print-binary-tree/) | [Python](./algorithms/python/PrintBinaryTree/printTree.py)|Medium| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| +|623|[Add One Row to Tree](https://leetcode.com/problems/add-one-row-to-tree/) | [Python](./algorithms/python/AddOneRowToTree/addOneRow.py)|Medium| +|563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy| +|543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| @@ -70,7 +73,7 @@ LeetCode |342|[Power of Four](https://leetcode.com/problems/power-of-four/) | [C++](./algorithms/cpp/powerOfFour/PowerOfFour.cpp)|Easy| |341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/) | [C++](./algorithms/cpp/flattenNestedListIterator/FlattenNestedListIterator.cpp)|Medium| |338|[Counting Bits](https://leetcode.com/problems/counting-bits/) | [C++](./algorithms/cpp/countingBits/CountingBits.cpp)|Medium| -|337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp)|Medium| +|337|[House Robber III](https://leetcode.com/problems/house-robber-iii/) | [C++](./algorithms/cpp/houseRobber/houseRobberIII.cpp), [Python](./algorithms/python/HouseRobberIII/rob.py)|Medium| |336|[Palindrome Pairs](https://leetcode.com/problems/palindrome-pairs/) | [C++](./algorithms/cpp/palindromePairs/PalindromePairs.cpp)|Hard| |334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/) | [C++](./algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp)|Medium| |332|[Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/) | [C++](./algorithms/cpp/reconstructItinerary/ReconstructItinerary.cpp)|Medium| @@ -170,7 +173,7 @@ LeetCode |186|[Reverse Words in a String II](https://oj.leetcode.com/problems/reverse-words-in-a-string-ii/) ♥ | [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.II.cpp)|Medium| |179|[Largest Number](https://oj.leetcode.com/problems/largest-number/) | [C++](./algorithms/cpp/largestNumber/largestNumber.cpp)|Medium| |174|[Dungeon Game](https://oj.leetcode.com/problems/dungeon-game/) | [C++](./algorithms/cpp/dungeonGame/dungeonGame.cpp)|Hard| -|173|[Binary Search Tree Iterator](https://oj.leetcode.com/problems/binary-search-tree-iterator/) | [C++](./algorithms/cpp/binarySearchTreeIterator/binarySearchTreeIterator.cpp), [Java](./algorithms/java/src/binarySearchTreeIterator/binarySearchTreeIterator.java)|Medium| +|173|[Binary Search Tree Iterator](https://oj.leetcode.com/problems/binary-search-tree-iterator/) | [C++](./algorithms/cpp/binarySearchTreeIterator/binarySearchTreeIterator.cpp), [Java](./algorithms/java/src/binarySearchTreeIterator/binarySearchTreeIterator.java), [Python](./algorithms/python/BinarySearchTreeIterator/BSTIterator.py)|Medium| |172|[Factorial Trailing Zeroes](https://oj.leetcode.com/problems/factorial-trailing-zeroes/) | [C++](./algorithms/cpp/factorialTrailingZeroes/factorialTrailingZeroes.cpp)|Easy| |171|[Excel Sheet Column Number](https://oj.leetcode.com/problems/excel-sheet-column-number/) | [C++](./algorithms/cpp/excelSheetColumnNumber/excelSheetColumnNumber.cpp)|Easy| |170|[Two Sum III - Data structure design](https://oj.leetcode.com/problems/two-sum-iii-data-structure-design/) ♥ | [C++](./algorithms/cpp/twoSum/twoSum.III.cpp)|Easy| @@ -198,7 +201,7 @@ LeetCode |148|[Sort List](https://oj.leetcode.com/problems/sort-list/)| [C++](./algorithms/cpp/sortList/sortList.cpp)|Medium| |147|[Insertion Sort List](https://oj.leetcode.com/problems/insertion-sort-list/)| [C++](./algorithms/cpp/insertionSortList/insertionSortList.cpp)|Medium| |146|[LRU Cache](https://oj.leetcode.com/problems/lru-cache/)| [C++](./algorithms/cpp/LRUCache/LRUCache.cpp), [Java](./algorithms/java/src/lruCache/LRUCache.java)|Hard| -|145|[Binary Tree Postorder Traversal](https://oj.leetcode.com/problems/binary-tree-postorder-traversal/)| [C++](./algorithms/cpp/binaryTreePostorderTraversal/binaryTreePostorderTraversal.cpp)|Hard| +|145|[Binary Tree Postorder Traversal](https://oj.leetcode.com/problems/binary-tree-postorder-traversal/)| [C++](./algorithms/cpp/binaryTreePostorderTraversal/binaryTreePostorderTraversal.cpp), [Python](./algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py)|Hard| |144|[Binary Tree Preorder Traversal](https://oj.leetcode.com/problems/binary-tree-preorder-traversal/)| [C++](./algorithms/cpp/binaryTreePreorderTraversal/binaryTreePreorderTraversal.cpp), [Java](./algorithms/java/src/binaryTreePreorderTraversal/binaryTreePreorderTraversal.java)|Medium| |143|[Reorder List](https://oj.leetcode.com/problems/reorder-list/)| [C++](./algorithms/cpp/reorderList/reorderList.cpp)|Medium| |142|[Linked List Cycle II](https://oj.leetcode.com/problems/linked-list-cycle-ii/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.II.cpp)|Medium| diff --git a/algorithms/python/AddOneRowToTree/addOneRow.py b/algorithms/python/AddOneRowToTree/addOneRow.py new file mode 100644 index 000000000..524ffc312 --- /dev/null +++ b/algorithms/python/AddOneRowToTree/addOneRow.py @@ -0,0 +1,12 @@ +# get the nodes at (d - 1) layer: + +def addOneRow(self, root, v, d): + dummy, dummy.left = TreeNode(v), root + row = [dummy] + for _ in range(d - 1): + row = [kid for node in row for kid in (node.left, node.right) if kid] + + for node in row: + node.left, node.left.left = TreeNode(v), node.left + node.right, node.right.right = TreeNode(v), node.right + return dummy.left \ No newline at end of file diff --git a/algorithms/python/BinarySearchTreeIterator/BSTIterator.py b/algorithms/python/BinarySearchTreeIterator/BSTIterator.py new file mode 100644 index 000000000..7081aa712 --- /dev/null +++ b/algorithms/python/BinarySearchTreeIterator/BSTIterator.py @@ -0,0 +1,39 @@ +# straight forward solution: do a inorder traversal + +class BSTIterator(object): + def __init__(self, root): + self.inorder = [] + def helper(root): + if root: + helper(root.left) + self.inorder.append(root.val) + helper(root.right) + helper(root) + + def hasNext(self): + return len(self.inorder) != 0 + + def next(self): + return self.inorder.pop(0) + +# Alternative solution: +class BSTIterator(object): + def __init__(self, root): + self.stack = [] + while root: + self.stack.append(root) + root = root.left + + + def hasNext(self): + return len(self.stack) != 0 + + + def next(self): + node = self.stack.pop() + x = node.right + while x: + self.stack.append(x) + x = x.left + return node.val + \ No newline at end of file diff --git a/algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py b/algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py new file mode 100644 index 000000000..40bee1b6e --- /dev/null +++ b/algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py @@ -0,0 +1,31 @@ +""" +Method 1: recursive +""" +def postorderTraversal(self, root): + res = [] + def helper(root): + if root: + helper(root.left) + helper(root.right) + res.append(root.val) + helper(root) + return res + +""" +Method 2: iterative, using two stacks +initialize first stack with root node, do the following if first is not None: + pop from first stack, append the popped element to second stack, + add left and right node to first stack if they are not None +return the second stack's value in reverse order +""" +def postorderTraversal(self, root): + if not root: return [] + first, second = [root], [] + while first: + node = first.pop() + second.append(node) + if node.left: first.append(node.left) + if node.right: first.append(node.right) + res = [node.val for node in second] + res.reverse() + return res \ No newline at end of file diff --git a/algorithms/python/BinaryTreeTilt/findTilt.py b/algorithms/python/BinaryTreeTilt/findTilt.py new file mode 100644 index 000000000..19f1ad00b --- /dev/null +++ b/algorithms/python/BinaryTreeTilt/findTilt.py @@ -0,0 +1,10 @@ +def findTilt(self, root): + self.res = 0 + def helper(root): + if not root: return 0 + left = helper(root.left) + right = helper(root.right) + self.res += abs(left - right) + return root.val + left + right + helper(root) + return self.res \ No newline at end of file diff --git a/algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py b/algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py new file mode 100644 index 000000000..42dc20173 --- /dev/null +++ b/algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py @@ -0,0 +1,9 @@ +def diameterOfBinaryTree(self, root): + self.res = 0 + def helper(root): + if not root: return 0 + left, right = helper(root.left), helper(root.right) + self.res = max(self.res, left + right) + return 1 + max(left, right) + helper(root) + return self.res \ No newline at end of file diff --git a/algorithms/python/HouseRobberIII/rob.py b/algorithms/python/HouseRobberIII/rob.py new file mode 100644 index 000000000..f55a654ef --- /dev/null +++ b/algorithms/python/HouseRobberIII/rob.py @@ -0,0 +1,30 @@ +""" +Answe inspired by the post from here: +https://leetcode.com/problems/house-robber-iii/discuss/79330/Step-by-step-tackling-of-the-problem +""" +# Method 1: dynamic programming solution: +def rob1(self, root): + lookup = {} + def helper(root): + if not root: return 0 + if root in lookup: return lookup[root] + val = 0 + + if root.left: + val += helper(root.left.left) + helper(root.left.right) + if root.right: + val += helper(root.right.left) + helper(root.right.right) + val = max(val + root.val, helper(root.left) + helper(root.right)) + lookup[root] = val + return val + return helper(root) + +# Method 2: Greedy approach: +def rob2(self, root): + def helper(root): + if not root: return [0, 0] + left, right = helper(root.left), helper(root.right) + not_robbed = max(left) + max(right) + robbed = root.val + left[0] + right[0] + return [not_robbed, robbed] + return max(helper(root)) \ No newline at end of file From f01883ea8880bf5091de1c2b99bdc26d45c211cf Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Mon, 31 Dec 2018 16:28:19 +1100 Subject: [PATCH 164/256] added python solutions to some problems --- README.md | 12 ++++--- .../zigzagLevelOrder.py | 18 +++++++++++ .../python/DeleteNodeInABST/deleteNode.py | 32 +++++++++++++++++++ .../FlattenBinaryTreeToLinkedList/flatten.py | 11 +++++++ .../widthOfBinaryTree.py | 13 ++++++++ .../SerializeAndDeserializeBST/serialize.py | 26 +++++++++++++++ .../python/SubtreeOfAnotherTree/isSubtree.py | 15 +++++++++ .../python/SumRootToLeafNumbers/sumNumbers.py | 29 +++++++++++++++++ .../UniqueBinarySearchTrees/numTrees.py | 9 ++++++ 9 files changed, 161 insertions(+), 4 deletions(-) create mode 100644 algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py create mode 100644 algorithms/python/DeleteNodeInABST/deleteNode.py create mode 100644 algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py create mode 100644 algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py create mode 100644 algorithms/python/SerializeAndDeserializeBST/serialize.py create mode 100644 algorithms/python/SubtreeOfAnotherTree/isSubtree.py create mode 100644 algorithms/python/SumRootToLeafNumbers/sumNumbers.py create mode 100644 algorithms/python/UniqueBinarySearchTrees/numTrees.py diff --git a/README.md b/README.md index 347798bc4..e93cefb40 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,17 @@ LeetCode |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| |671|[Second Minimum Node In a Binary Tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/) | [Python](./algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py)|Easy| +|662|[Maximum Width of Binary Tree](https://leetcode.com/problems/maximum-width-of-binary-tree/) | [Python](./algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py)|Medium| |655|[Print Binary Tree](https://leetcode.com/problems/print-binary-tree/) | [Python](./algorithms/python/PrintBinaryTree/printTree.py)|Medium| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |623|[Add One Row to Tree](https://leetcode.com/problems/add-one-row-to-tree/) | [Python](./algorithms/python/AddOneRowToTree/addOneRow.py)|Medium| +|572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) | [Python](./algorithms/python/SubtreeOfAnotherTree/isSubtree.py)|Easy| |563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| +|450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| +|449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst/) | [Python](./algorithms/python/SerializeAndDeserializeBST/serialize.py)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| |416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/description/) | [C++](./algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp)|Medium| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| @@ -217,7 +221,7 @@ LeetCode |132|[Palindrome Partitioning II](https://oj.leetcode.com/problems/palindrome-partitioning-ii/)| [C++](./algorithms/cpp/palindromePartitioning/palindromePartitioning.II.cpp)|Hard| |131|[Palindrome Partitioning](https://oj.leetcode.com/problems/palindrome-partitioning/)| [C++](./algorithms/cpp/palindromePartitioning/palindromePartitioning.cpp)|Medium| |130|[Surrounded Regions](https://oj.leetcode.com/problems/surrounded-regions/)| [C++](./algorithms/cpp/surroundedRegions/surroundedRegions.cpp)|Medium| -|129|[Sum Root to Leaf Numbers](https://oj.leetcode.com/problems/sum-root-to-leaf-numbers/)| [C++](./algorithms/cpp/sumRootToLeafNumber/sumRootToLeafNumber.cpp)|Medium| +|129|[Sum Root to Leaf Numbers](https://oj.leetcode.com/problems/sum-root-to-leaf-numbers/)| [C++](./algorithms/cpp/sumRootToLeafNumber/sumRootToLeafNumber.cpp), [Python](./algorithms/python/SumRootToLeafNumbers/sumNumbers.py)|Medium| |128|[Longest Consecutive Sequence](https://oj.leetcode.com/problems/longest-consecutive-sequence/)| [C++](./algorithms/cpp/longestConsecutiveSequence/longestConsecutiveSequence.cpp)|Hard| |127|[Word Ladder](https://oj.leetcode.com/problems/word-ladder/)| [C++](./algorithms/cpp/wordLadder/wordLadder.cpp)|Medium| |126|[Word Ladder II](https://oj.leetcode.com/problems/word-ladder-ii/)| [C++](./algorithms/cpp/wordLadder/wordLadder.II.cpp)|Hard| @@ -232,7 +236,7 @@ LeetCode |117|[Populating Next Right Pointers in Each Node II](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.II.cpp)|Hard| |116|[Populating Next Right Pointers in Each Node](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.cpp)|Medium| |115|[Distinct Subsequences](https://oj.leetcode.com/problems/distinct-subsequences/)| [C++](./algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp)|Hard| -|114|[Flatten Binary Tree to Linked List](https://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [C++](./algorithms/cpp/flattenBinaryTreeToLinkedList/flattenBinaryTreeToLinkedList.cpp)|Medium| +|114|[Flatten Binary Tree to Linked List](https://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [C++](./algorithms/cpp/flattenBinaryTreeToLinkedList/flattenBinaryTreeToLinkedList.cpp), [Python](./algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py)|Medium| |113|[Path Sum II](https://oj.leetcode.com/problems/path-sum-ii/)| [C++](./algorithms/cpp/pathSum/pathSum.II.cpp)|Medium| |112|[Path Sum](https://oj.leetcode.com/problems/path-sum/)| [C++](./algorithms/cpp/pathSum/pathSum.cpp)|Easy| |111|[Minimum Depth of Binary Tree](https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/)| [C++](./algorithms/cpp/minimumDepthOfBinaryTree/minimumDepthOfBinaryTree.cpp)|Easy| @@ -243,14 +247,14 @@ LeetCode |106|[Construct Binary Tree from Inorder and Postorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromInorderAndPostorderTraversal/constructBinaryTreeFromInorderAndPostorderTraversal.cpp)|Medium| |105|[Construct Binary Tree from Preorder and Inorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromPreorderAndInorderTraversal/constructBinaryTreeFromPreorderAndInorderTraversal.cpp)|Medium| |104|[Maximum Depth of Binary Tree](https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/)| [C++](./algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp), [Java](./algorithms/java/src/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.java)|Easy| -|103|[Binary Tree Zigzag Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeZigzagLevelOrderTraversal/binaryTreeZigzagLevelOrderTraversal.cpp)|Medium| +|103|[Binary Tree Zigzag Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeZigzagLevelOrderTraversal/binaryTreeZigzagLevelOrderTraversal.cpp), [Python](./algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py)|Medium| |102|[Binary Tree Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.cpp), [Java](./algorithms/java/src/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.java)|Easy| |101|[Symmetric Tree](https://oj.leetcode.com/problems/symmetric-tree/)| [C++](./algorithms/cpp/symmetricTree/symmetricTree.cpp)|Easy| |100|[Same Tree](https://oj.leetcode.com/problems/same-tree/)| [C++](./algorithms/cpp/sameTree/sameTree.cpp)|Easy| |99|[Recover Binary Search Tree](https://oj.leetcode.com/problems/recover-binary-search-tree/)| [C++](./algorithms/cpp/recoverBinarySearchTree/recoverBinarySearchTree.cpp)|Hard| |98|[Validate Binary Search Tree](https://oj.leetcode.com/problems/validate-binary-search-tree/)| [C++](./algorithms/cpp/validateBinarySearchTree/validateBinarySearchTree.cpp), [Java](./algorithms/java/src/validateBinarySearchTree/validateBinarySearchTree.java)|Medium| |97|[Interleaving String](https://oj.leetcode.com/problems/interleaving-string/)| [C++](./algorithms/cpp/interleavingString/interleavingString.cpp)|Hard| -|96|[Unique Binary Search Trees](https://oj.leetcode.com/problems/unique-binary-search-trees/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.cpp)|Medium| +|96|[Unique Binary Search Trees](https://oj.leetcode.com/problems/unique-binary-search-trees/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.cpp), [Python](./algorithms/python/UniqueBinarySearchTrees/numTrees.py)|Medium| |95|[Unique Binary Search Trees II](https://oj.leetcode.com/problems/unique-binary-search-trees-ii/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.II.cpp)|Medium| |94|[Binary Tree Inorder Traversal](https://oj.leetcode.com/problems/binary-tree-inorder-traversal/)| [C++](./algorithms/cpp/binaryTreeInorderTraversal/binaryTreeInorderTraversal.cpp)|Medium| |93|[Restore IP Addresses](https://oj.leetcode.com/problems/restore-ip-addresses/)| [C++](./algorithms/cpp/restoreIPAddresses/restoreIPAddresses.cpp)|Medium| diff --git a/algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py b/algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py new file mode 100644 index 000000000..71c5ed75f --- /dev/null +++ b/algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py @@ -0,0 +1,18 @@ +""" +simple bfs +""" + +def zigzagLevelOrder(self, root): + if not root: return [] + stack = [[root]] + res = [[root.val]] + level = 0 + while True: + level += 1 + children = [child for node in stack[-1] for child in (node.left, node.right) if child] + if not children: break + temp = [node.val for node in children] + if level % 2 == 1: temp.reverse() + res.append(temp) + stack.append(children) + return res \ No newline at end of file diff --git a/algorithms/python/DeleteNodeInABST/deleteNode.py b/algorithms/python/DeleteNodeInABST/deleteNode.py new file mode 100644 index 000000000..2c50e85f2 --- /dev/null +++ b/algorithms/python/DeleteNodeInABST/deleteNode.py @@ -0,0 +1,32 @@ +""" +case 1: if node we want to delete has no children: simply delete it +case 2: if it has only one child, then replace it with its child +case 3: if it has two children, first find the inorder successor (or predecessor), + then replace the node's value with successor's value, and finally delete this successor +""" + +def deleteNode(self, root, key): + if not root: return None + if key < root.val: + root.left = self.deleteNode(root.left, key) + elif key > root.val: + root.right = self.deleteNode(root.right, key) + else: + # if this node has only one child or no child: + if not root.left: + temp = root.right + root = None + return temp + elif not root.right: + temp = root.left + root = None + return temp + + # otherwise, find the inorder successor: + curr = root.right + while curr.left: + curr = curr.left + + root.val = curr.val + root.right = self.deleteNode(root.right, curr.val) + return root \ No newline at end of file diff --git a/algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py b/algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py new file mode 100644 index 000000000..7a7af3c97 --- /dev/null +++ b/algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py @@ -0,0 +1,11 @@ +class Solution(object): + def __init__(self): + self.prev = None + + def flatten(self, root): + if not root: return None + self.flatten(root.right) + self.flatten(root.left) + root.right = self.prev + root.left = None + self.prev = root \ No newline at end of file diff --git a/algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py b/algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py new file mode 100644 index 000000000..076717e4e --- /dev/null +++ b/algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py @@ -0,0 +1,13 @@ +def widthOfBinaryTree(self, root): + if not root: return 0 + stack = [[(root, 0)]] + res = 1 + while True: + children = [] + for node, value in stack[-1]: + if node.left: children.append((node.left, value * 2)) + if node.right: children.append((node.right, value * 2 + 1)) + if not children: break + stack.append(children) + res = max(res, children[-1][1] - children[0][1] + 1) + return res \ No newline at end of file diff --git a/algorithms/python/SerializeAndDeserializeBST/serialize.py b/algorithms/python/SerializeAndDeserializeBST/serialize.py new file mode 100644 index 000000000..efe975b2c --- /dev/null +++ b/algorithms/python/SerializeAndDeserializeBST/serialize.py @@ -0,0 +1,26 @@ +class Codec: + + def serialize(self, root): + preorder = [] + + def helper(node): + if node: + preorder.append(node.val) + helper(node.left) + helper(node.right) + helper(root) + return ' '.join(map(str, preorder)) + + + def deserialize(self, data): + vals = collections.deque(int(val) for val in data.split()) + + def build(minval, maxval): + if vals and minval < vals[0] < maxval: + val = vals.popleft() + node = TreeNode(val) + node.left = build(minval, val) + node.right = build(val, maxval) + return node + + return build(float('-infinity'), float('infinity')) \ No newline at end of file diff --git a/algorithms/python/SubtreeOfAnotherTree/isSubtree.py b/algorithms/python/SubtreeOfAnotherTree/isSubtree.py new file mode 100644 index 000000000..afb242470 --- /dev/null +++ b/algorithms/python/SubtreeOfAnotherTree/isSubtree.py @@ -0,0 +1,15 @@ +def isSubtree(self, s, t): + stack = [s] + while stack: + node = stack.pop(0) + if node.val == t.val: + if self.check(node, t): return True + stack += [child for child in [node.left, node.right] if child] + return False + +def check(self, first, second): + if not first and not second: + return True + if first and second: + return first.val == second.val and self.check(first.left, second.left) and self.check(first.right, second.right) + return False \ No newline at end of file diff --git a/algorithms/python/SumRootToLeafNumbers/sumNumbers.py b/algorithms/python/SumRootToLeafNumbers/sumNumbers.py new file mode 100644 index 000000000..644bc1505 --- /dev/null +++ b/algorithms/python/SumRootToLeafNumbers/sumNumbers.py @@ -0,0 +1,29 @@ +""" +Method 1: dfs +""" +def sumNumbers(self, root): + if not root: return 0 + stack, res = [(root, root.val)], 0 + while stack: + node, value = stack.pop() + if not node.left and not node.right: + res += value + if node.right: + stack.append((node.right, value * 10 + node.right.val)) + if node.left: + stack.append((node.left, value * 10 + node.left.val)) + return res + + + +""" +Method 2: recursive solution +""" +def sumNumbers(self, root): + return self.helper(root, 0) + +def helper(self, node, s): + if not node: return 0 + if not node.left and not node.right: return s * 10 + node.val + return self.helper(node.left, s * 10 + node.val) + \ + self.helper(node.right, s * 10 + node.val) \ No newline at end of file diff --git a/algorithms/python/UniqueBinarySearchTrees/numTrees.py b/algorithms/python/UniqueBinarySearchTrees/numTrees.py new file mode 100644 index 000000000..f0ab85e90 --- /dev/null +++ b/algorithms/python/UniqueBinarySearchTrees/numTrees.py @@ -0,0 +1,9 @@ +def numTrees(self, n): + if n == 1: return 1 + res = [1, 1] + for i in range(2, n + 1): + val = 0 + for j in range(i): + val += res[j] * res[i - j - 1] + res.append(val) + return res[n] \ No newline at end of file From c08e32f0c9ed48199a496ad14ce00ad836a08326 Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Wed, 2 Jan 2019 21:21:50 +1100 Subject: [PATCH 165/256] added python solutions to some problems --- README.md | 8 +++++--- .../isCompleteTree.py | 14 ++++++++++++++ .../buildTree.py | 7 +++++++ .../buildTree.py | 7 +++++++ .../FindDuplicateSubtrees/findDuplicateSubtrees.py | 11 +++++++++++ .../connect.py | 9 +++++++++ 6 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py create mode 100644 algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py create mode 100644 algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py create mode 100644 algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py create mode 100644 algorithms/python/PopulatingNextRightPointersInEachNode/connect.py diff --git a/README.md b/README.md index e93cefb40..ec7a4dbae 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|958|[Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Python](./algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py)|Medium| |951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| @@ -20,6 +21,7 @@ LeetCode |671|[Second Minimum Node In a Binary Tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/) | [Python](./algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py)|Easy| |662|[Maximum Width of Binary Tree](https://leetcode.com/problems/maximum-width-of-binary-tree/) | [Python](./algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py)|Medium| |655|[Print Binary Tree](https://leetcode.com/problems/print-binary-tree/) | [Python](./algorithms/python/PrintBinaryTree/printTree.py)|Medium| +|652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/) | [Python](./algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py)|Medium| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| |623|[Add One Row to Tree](https://leetcode.com/problems/add-one-row-to-tree/) | [Python](./algorithms/python/AddOneRowToTree/addOneRow.py)|Medium| |572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) | [Python](./algorithms/python/SubtreeOfAnotherTree/isSubtree.py)|Easy| @@ -234,7 +236,7 @@ LeetCode |119|[Pascal's Triangle II](https://oj.leetcode.com/problems/pascals-triangle-ii/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.II.cpp)|Easy| |118|[Pascal's Triangle](https://oj.leetcode.com/problems/pascals-triangle/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.cpp)|Easy| |117|[Populating Next Right Pointers in Each Node II](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.II.cpp)|Hard| -|116|[Populating Next Right Pointers in Each Node](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.cpp)|Medium| +|116|[Populating Next Right Pointers in Each Node](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNode/connect.py)|Medium| |115|[Distinct Subsequences](https://oj.leetcode.com/problems/distinct-subsequences/)| [C++](./algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp)|Hard| |114|[Flatten Binary Tree to Linked List](https://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [C++](./algorithms/cpp/flattenBinaryTreeToLinkedList/flattenBinaryTreeToLinkedList.cpp), [Python](./algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py)|Medium| |113|[Path Sum II](https://oj.leetcode.com/problems/path-sum-ii/)| [C++](./algorithms/cpp/pathSum/pathSum.II.cpp)|Medium| @@ -244,8 +246,8 @@ LeetCode |109|[Convert Sorted List to Binary Search Tree](https://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/)| [C++](./algorithms/cpp/convertSortedListToBinarySearchTree/convertSortedListToBinarySearchTree.cpp)|Medium| |108|[Convert Sorted Array to Binary Search Tree](https://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)| [C++](./algorithms/cpp/convertSortedArrayToBinarySearchTree/convertSortedArrayToBinarySearchTree.cpp)|Medium| |107|[Binary Tree Level Order Traversal II](https://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.II.cpp)|Easy| -|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromInorderAndPostorderTraversal/constructBinaryTreeFromInorderAndPostorderTraversal.cpp)|Medium| -|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromPreorderAndInorderTraversal/constructBinaryTreeFromPreorderAndInorderTraversal.cpp)|Medium| +|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromInorderAndPostorderTraversal/constructBinaryTreeFromInorderAndPostorderTraversal.cpp), [Python](./algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py)|Medium| +|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromPreorderAndInorderTraversal/constructBinaryTreeFromPreorderAndInorderTraversal.cpp), [Python](./algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py)|Medium| |104|[Maximum Depth of Binary Tree](https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/)| [C++](./algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp), [Java](./algorithms/java/src/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.java)|Easy| |103|[Binary Tree Zigzag Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeZigzagLevelOrderTraversal/binaryTreeZigzagLevelOrderTraversal.cpp), [Python](./algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py)|Medium| |102|[Binary Tree Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.cpp), [Java](./algorithms/java/src/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.java)|Easy| diff --git a/algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py b/algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py new file mode 100644 index 000000000..a03ad7f45 --- /dev/null +++ b/algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py @@ -0,0 +1,14 @@ +def isCompleteTree(self, root): + stack = [[(root, 0)]] + layer = 0 + while True: + children = [] + for node, value in stack[-1]: + if node.left: children.append((node.left, 2 * value)) + if node.right: children.append((node.right, 2 * value + 1)) + if node.right and not node.left: return False + if not children: break + if len(stack[-1]) != pow(2, layer): return False + stack.append(children) + layer += 1 + return len(stack[-1]) == stack[-1][-1][1] + 1 \ No newline at end of file diff --git a/algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py b/algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py new file mode 100644 index 000000000..44bfec2d1 --- /dev/null +++ b/algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py @@ -0,0 +1,7 @@ +def buildTree(self, inorder, postorder): + if inorder: + i = inorder.index(postorder.pop()) + root = TreeNode(inorder[i]) + root.right = self.buildTree(inorder[i+1:], postorder) + root.left = self.buildTree(inorder[:i], postorder) + return root \ No newline at end of file diff --git a/algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py b/algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py new file mode 100644 index 000000000..07fe597a9 --- /dev/null +++ b/algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py @@ -0,0 +1,7 @@ +def buildTree(self, preorder, inorder): + if inorder: + i = inorder.index(preorder.pop(0)) + root = TreeNode(inorder[i]) + root.left = self.buildTree(preorder, inorder[:i]) + root.right = self.buildTree(preorder, inorder[i+1:]) + return root \ No newline at end of file diff --git a/algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py b/algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py new file mode 100644 index 000000000..b6fb7dd62 --- /dev/null +++ b/algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py @@ -0,0 +1,11 @@ +def findDuplicateSubtrees(self, root): + nodes = collections.defaultdict(list) + + def helper(root): + if not root: return 'None' + struct = '%s,%s,%s' % (str(root.val), helper(root.left), helper(root.right)) + nodes[struct].append(root) + return struct + + helper(root) + return [nodes[struct][0] for struct in nodes if len(nodes[struct]) > 1] \ No newline at end of file diff --git a/algorithms/python/PopulatingNextRightPointersInEachNode/connect.py b/algorithms/python/PopulatingNextRightPointersInEachNode/connect.py new file mode 100644 index 000000000..596712ecb --- /dev/null +++ b/algorithms/python/PopulatingNextRightPointersInEachNode/connect.py @@ -0,0 +1,9 @@ +def connect(self, root): + if not root: return + stack = [[root]] + while True: + children = [child for node in stack[-1] for child in (node.left, node.right) if child] + if not children: break + stack.append(children) + for i in range(len(children) - 1): + children[i].next = children[i+1] \ No newline at end of file From f1e4d92d07644f32a33bffe7b32efc21be1aecce Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Wed, 9 Jan 2019 22:56:13 +1100 Subject: [PATCH 166/256] added python solutions to some problems --- README.md | 10 +++---- .../CountCompleteTreeNodes/countNodes.py | 12 +++++++++ .../lowestCommonAncestor.py | 5 ++++ algorithms/python/PathSumII/pathSum.py | 27 +++++++++++++++++++ .../connect.py | 9 +++++++ 5 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 algorithms/python/CountCompleteTreeNodes/countNodes.py create mode 100644 algorithms/python/LowestCommonAncestorOfABinaryTree/lowestCommonAncestor.py create mode 100644 algorithms/python/PathSumII/pathSum.py create mode 100644 algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py diff --git a/README.md b/README.md index ec7a4dbae..1b3b184e6 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ LeetCode |409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/) | [C++](./algorithms/cpp/longestPalindrome/LongestPalindrome.cpp)|Easy| |406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/) | [C++](./algorithms/cpp/queueReconstructionByHeight/QueueReconstructionByHeight.cpp)|Medium| |405|[Convert a Number to Hexadecimal](https://leetcode.com/problems/convert-a-number-to-hexadecimal/) | [C++](./algorithms/cpp/convertANumberToHexadecimal/ConvertANumberToHexadecimal.cpp)|Easy| -|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp), [Python] (./algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py)|Easy| +|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C++](./algorithms/cpp/sumOfLeftLeaves/SumOfLeftLeaves.cpp), [Python](./algorithms/python/SumOfLeftLeaves/sumOfLeftLeaves.py)|Easy| |403|[Frog Jump](https://leetcode.com/problems/frog-jump/) | [C++](./algorithms/cpp/frogJump/FrogJump.cpp)|Hard| |402|[Remove K Digits](https://leetcode.com/problems/remove-k-digits/) | [C++](./algorithms/cpp/removeKDigits/RemoveKDigits.cpp)|Medium| |401|[Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./algorithms/cpp/binaryWatch/BinaryWatch.cpp)|Easy| @@ -132,7 +132,7 @@ LeetCode |239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [C++](./algorithms/cpp/slidingWindowMaximum/SlidingWindowMaximum.cpp)|Hard| |238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [C++](./algorithms/cpp/productOfArrayExceptSelf/ProductOfArrayExceptSelf.cpp)|Medium| |237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [C++](./algorithms/cpp/deleteNodeInALinkedList/DeleteNodeInALinkedList.cpp)|Easy| -|236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinaryTree/LowestCommonAncestorOfABinaryTree.cpp), [Java](./algorithms/java/src/lowestCommonAncestorOfABinaryTree/lowestCommonAncestorOfABinaryTree.java)|Medium| +|236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinaryTree/LowestCommonAncestorOfABinaryTree.cpp), [Java](./algorithms/java/src/lowestCommonAncestorOfABinaryTree/lowestCommonAncestorOfABinaryTree.java), [Python](./algorithms/python/LowestCommonAncestorOfABinaryTree/lowestCommonAncestor.py)|Medium| |235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)| [C++](./algorithms/cpp/lowestCommonAncestorOfABinarySearchTree/LowestCommonAncestorOfABinarySearchTree.cpp), [Python](./algorithms/python/LowestCommonAncestorOfABinarySearchTree/lowestCommonAncestor.py)|Easy| |234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [C++](./algorithms/cpp/palindromeLinkedList/PalindromeLinkedList.cpp)|Easy| |233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [C++](./algorithms/cpp/numberOfDigitOne/NumberOfDigitOne.cpp)|Medium| @@ -146,7 +146,7 @@ LeetCode |225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [C++](./algorithms/cpp/implementStackUsingQueues/ImplementStackUsingQueues.cpp), [Java](./algorithms/java/src/myStack/MyStack.java)|Medium| |224|[Basic Calculator](https://leetcode.com/problems/basic-calculator/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.cpp)|Medium| |223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [C++](./algorithms/cpp/rectangleArea/RectangleArea.cpp)|Easy| -|222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [C++](./algorithms/cpp/countCompleteTreeNodes/CountCompleteTreeNodes.cpp)|Medium| +|222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [C++](./algorithms/cpp/countCompleteTreeNodes/CountCompleteTreeNodes.cpp), [Python](./algorithms/python/CountCompleteTreeNodes/countNodes.py)|Medium| |221|[Maximal Square](https://leetcode.com/problems/maximal-square/)| [C++](./algorithms/cpp/maximalSquare/MaximalSquare.cpp)|Medium| |220|[Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.III.cpp)|Medium| |219|[Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.II.cpp)|Easy| @@ -235,11 +235,11 @@ LeetCode |120|[Triangle](https://oj.leetcode.com/problems/triangle/)| [C++](./algorithms/cpp/triangle/triangle.cpp), [Java](./algorithms/java/src/dynamicProgramming/triangle/triangle.java)|Medium| |119|[Pascal's Triangle II](https://oj.leetcode.com/problems/pascals-triangle-ii/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.II.cpp)|Easy| |118|[Pascal's Triangle](https://oj.leetcode.com/problems/pascals-triangle/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.cpp)|Easy| -|117|[Populating Next Right Pointers in Each Node II](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.II.cpp)|Hard| +|117|[Populating Next Right Pointers in Each Node II](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.II.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py)|Hard| |116|[Populating Next Right Pointers in Each Node](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNode/connect.py)|Medium| |115|[Distinct Subsequences](https://oj.leetcode.com/problems/distinct-subsequences/)| [C++](./algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp)|Hard| |114|[Flatten Binary Tree to Linked List](https://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [C++](./algorithms/cpp/flattenBinaryTreeToLinkedList/flattenBinaryTreeToLinkedList.cpp), [Python](./algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py)|Medium| -|113|[Path Sum II](https://oj.leetcode.com/problems/path-sum-ii/)| [C++](./algorithms/cpp/pathSum/pathSum.II.cpp)|Medium| +|113|[Path Sum II](https://oj.leetcode.com/problems/path-sum-ii/)| [C++](./algorithms/cpp/pathSum/pathSum.II.cpp), [Python](./algorithms/python/PathSumII/pathSum.py)|Medium| |112|[Path Sum](https://oj.leetcode.com/problems/path-sum/)| [C++](./algorithms/cpp/pathSum/pathSum.cpp)|Easy| |111|[Minimum Depth of Binary Tree](https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/)| [C++](./algorithms/cpp/minimumDepthOfBinaryTree/minimumDepthOfBinaryTree.cpp)|Easy| |110|[Balanced Binary Tree](https://oj.leetcode.com/problems/balanced-binary-tree/)| [C++](./algorithms/cpp/balancedBinaryTree/balancedBinaryTree.cpp), [Java](./algorithms/java/src/balancedBinaryTree/balancedBinaryTree.java)|Easy| diff --git a/algorithms/python/CountCompleteTreeNodes/countNodes.py b/algorithms/python/CountCompleteTreeNodes/countNodes.py new file mode 100644 index 000000000..5175d9b04 --- /dev/null +++ b/algorithms/python/CountCompleteTreeNodes/countNodes.py @@ -0,0 +1,12 @@ +def countNodes(self, root): + if not root: return 0 + hl, hr = 0, 0 + l, r = root, root + while l: + hl += 1 + l = l.left + while r: + hr += 1 + r = r.right + if hl == hr: return pow(2, hl) - 1 + return 1 + self.countNodes(root.left) + self.countNodes(root.right) \ No newline at end of file diff --git a/algorithms/python/LowestCommonAncestorOfABinaryTree/lowestCommonAncestor.py b/algorithms/python/LowestCommonAncestorOfABinaryTree/lowestCommonAncestor.py new file mode 100644 index 000000000..b2d51cc00 --- /dev/null +++ b/algorithms/python/LowestCommonAncestorOfABinaryTree/lowestCommonAncestor.py @@ -0,0 +1,5 @@ +def lowestCommonAncestor(self, root, p, q): + if root in (None, p, q): return root + left = self.lowestCommonAncestor(root.left, p, q) + right = self.lowestCommonAncestor(root.right, p, q) + return root if left and right else left or right \ No newline at end of file diff --git a/algorithms/python/PathSumII/pathSum.py b/algorithms/python/PathSumII/pathSum.py new file mode 100644 index 000000000..47bef137a --- /dev/null +++ b/algorithms/python/PathSumII/pathSum.py @@ -0,0 +1,27 @@ +""" +Method 1 +""" +def pathSum(self, root, sum): + if not root: return [] + res = [] + + def dfs(root, sum, ls, res): + if not root.left and not root.right and sum == root.val: + ls.append(root.val) + res.append(ls) + if root.left: + dfs(root.left, sum - root.val, ls + [root.val], res) + if root.right: + dfs(root.right, sum - root.val, ls + [root.val], res) + + dfs(root, sum, [], res) + return res + +""" +Method 2 +""" +def pathSum(self, root, sum): + if not root: return [] + if not root.left and not root.right and root.val == sum: return [[root.val]] + temp = self.pathSum(root.left, sum - root.val) + self.pathSum(root.right, sum - root.val) + return [[root.val] + i for i in temp] \ No newline at end of file diff --git a/algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py b/algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py new file mode 100644 index 000000000..f7a0ccb78 --- /dev/null +++ b/algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py @@ -0,0 +1,9 @@ +def connect(self, root): + if not root: return root + stack = [[root]] + while True: + children = [child for node in stack[-1] for child in (node.left, node.right) if child] + if not children: break + stack.append(children) + for i in range(len(children) - 1): + children[i].next = children[i + 1] \ No newline at end of file From 01320b290385bd71f3fe0fe1ed4c673fda0f4a28 Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Mon, 14 Jan 2019 23:31:20 +1100 Subject: [PATCH 167/256] added some python solutions --- README.md | 19 ++++++---- .../flipMatchVoyage.py | 12 ++++++ .../InsertionSortList/insertionSortList.py | 19 ++++++++++ .../longestUnivaluePath.py | 11 ++++++ algorithms/python/PartitionList/partition.py | 14 +++++++ algorithms/python/PathSumIII/pathSum.py | 21 +++++++++++ .../deleteDuplicates.py | 13 +++++++ .../removeNthFromEnd.py | 10 +++++ .../ReverseLinkedListII/reverseBetween.py | 14 +++++++ algorithms/python/SortList/sortList.py | 37 +++++++++++++++++++ .../generateTrees.py | 24 ++++++++++++ .../ValidateBinarySearchTree/isValidBST.py | 26 +++++++++++++ 12 files changed, 212 insertions(+), 8 deletions(-) create mode 100644 algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py create mode 100644 algorithms/python/InsertionSortList/insertionSortList.py create mode 100644 algorithms/python/LongestUnivaluePath/longestUnivaluePath.py create mode 100644 algorithms/python/PartitionList/partition.py create mode 100644 algorithms/python/PathSumIII/pathSum.py create mode 100644 algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py create mode 100644 algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py create mode 100644 algorithms/python/ReverseLinkedListII/reverseBetween.py create mode 100644 algorithms/python/SortList/sortList.py create mode 100644 algorithms/python/UniqueBinarySearchTreesII/generateTrees.py create mode 100644 algorithms/python/ValidateBinarySearchTree/isValidBST.py diff --git a/README.md b/README.md index 1b3b184e6..bc781ca9d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| |958|[Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Python](./algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py)|Medium| |951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| @@ -17,6 +18,7 @@ LeetCode |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| |804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| +|687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/) | [Python](./algorithms/python/LongestUnivaluePath/longestUnivaluePath.py)|Easy| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| |671|[Second Minimum Node In a Binary Tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/) | [Python](./algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py)|Easy| |662|[Maximum Width of Binary Tree](https://leetcode.com/problems/maximum-width-of-binary-tree/) | [Python](./algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py)|Medium| @@ -31,6 +33,7 @@ LeetCode |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| |449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst/) | [Python](./algorithms/python/SerializeAndDeserializeBST/serialize.py)|Medium| +|437|[Path Sum III](https://leetcode.com/problems/path-sum-iii/) | [Python](./algorithms/python/PathSumIII/pathSum.py)|Medium| |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| |416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/description/) | [C++](./algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp)|Medium| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| @@ -204,8 +207,8 @@ LeetCode |151|[Reverse Words in a String](https://oj.leetcode.com/problems/reverse-words-in-a-string/)| [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp), [Java](./algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java)|Medium| |150|[Evaluate Reverse Polish Notation](https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/)| [C++](./algorithms/cpp/evaluateReversePolishNotation/evaluateReversePolishNotation.cpp)|Medium| |149|[Max Points on a Line](https://oj.leetcode.com/problems/max-points-on-a-line/)| [C++](./algorithms/cpp/maxPointsOnALine/maxPointsOnALine.cpp)|Hard| -|148|[Sort List](https://oj.leetcode.com/problems/sort-list/)| [C++](./algorithms/cpp/sortList/sortList.cpp)|Medium| -|147|[Insertion Sort List](https://oj.leetcode.com/problems/insertion-sort-list/)| [C++](./algorithms/cpp/insertionSortList/insertionSortList.cpp)|Medium| +|148|[Sort List](https://oj.leetcode.com/problems/sort-list/)| [C++](./algorithms/cpp/sortList/sortList.cpp), [Python](./algorithms/python/SortList/sortList.py)|Medium| +|147|[Insertion Sort List](https://oj.leetcode.com/problems/insertion-sort-list/)| [C++](./algorithms/cpp/insertionSortList/insertionSortList.cpp), [Python](./algorithms/python/InsertionSortList/insertionSortList.py)|Medium| |146|[LRU Cache](https://oj.leetcode.com/problems/lru-cache/)| [C++](./algorithms/cpp/LRUCache/LRUCache.cpp), [Java](./algorithms/java/src/lruCache/LRUCache.java)|Hard| |145|[Binary Tree Postorder Traversal](https://oj.leetcode.com/problems/binary-tree-postorder-traversal/)| [C++](./algorithms/cpp/binaryTreePostorderTraversal/binaryTreePostorderTraversal.cpp), [Python](./algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py)|Hard| |144|[Binary Tree Preorder Traversal](https://oj.leetcode.com/problems/binary-tree-preorder-traversal/)| [C++](./algorithms/cpp/binaryTreePreorderTraversal/binaryTreePreorderTraversal.cpp), [Java](./algorithms/java/src/binaryTreePreorderTraversal/binaryTreePreorderTraversal.java)|Medium| @@ -254,23 +257,23 @@ LeetCode |101|[Symmetric Tree](https://oj.leetcode.com/problems/symmetric-tree/)| [C++](./algorithms/cpp/symmetricTree/symmetricTree.cpp)|Easy| |100|[Same Tree](https://oj.leetcode.com/problems/same-tree/)| [C++](./algorithms/cpp/sameTree/sameTree.cpp)|Easy| |99|[Recover Binary Search Tree](https://oj.leetcode.com/problems/recover-binary-search-tree/)| [C++](./algorithms/cpp/recoverBinarySearchTree/recoverBinarySearchTree.cpp)|Hard| -|98|[Validate Binary Search Tree](https://oj.leetcode.com/problems/validate-binary-search-tree/)| [C++](./algorithms/cpp/validateBinarySearchTree/validateBinarySearchTree.cpp), [Java](./algorithms/java/src/validateBinarySearchTree/validateBinarySearchTree.java)|Medium| +|98|[Validate Binary Search Tree](https://oj.leetcode.com/problems/validate-binary-search-tree/)| [C++](./algorithms/cpp/validateBinarySearchTree/validateBinarySearchTree.cpp), [Java](./algorithms/java/src/validateBinarySearchTree/validateBinarySearchTree.java), [Python](./algorithms/python/ValidateBinarySearchTree/isValidBST.py)|Medium| |97|[Interleaving String](https://oj.leetcode.com/problems/interleaving-string/)| [C++](./algorithms/cpp/interleavingString/interleavingString.cpp)|Hard| |96|[Unique Binary Search Trees](https://oj.leetcode.com/problems/unique-binary-search-trees/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.cpp), [Python](./algorithms/python/UniqueBinarySearchTrees/numTrees.py)|Medium| -|95|[Unique Binary Search Trees II](https://oj.leetcode.com/problems/unique-binary-search-trees-ii/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.II.cpp)|Medium| +|95|[Unique Binary Search Trees II](https://oj.leetcode.com/problems/unique-binary-search-trees-ii/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.II.cpp), [Python](./algorithms/python/UniqueBinarySearchTreesII/generateTrees.py)|Medium| |94|[Binary Tree Inorder Traversal](https://oj.leetcode.com/problems/binary-tree-inorder-traversal/)| [C++](./algorithms/cpp/binaryTreeInorderTraversal/binaryTreeInorderTraversal.cpp)|Medium| |93|[Restore IP Addresses](https://oj.leetcode.com/problems/restore-ip-addresses/)| [C++](./algorithms/cpp/restoreIPAddresses/restoreIPAddresses.cpp)|Medium| -|92|[Reverse Linked List II](https://oj.leetcode.com/problems/reverse-linked-list-ii/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.II.cpp), [Java](./algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java)|Medium| +|92|[Reverse Linked List II](https://oj.leetcode.com/problems/reverse-linked-list-ii/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.II.cpp), [Java](./algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java), [Python](./algorithms/python/ReverseLinkedListII/reverseBetween.py)|Medium| |91|[Decode Ways](https://oj.leetcode.com/problems/decode-ways/)| [C++](./algorithms/cpp/decodeWays/decodeWays.cpp)|Medium| |90|[Subsets II](https://oj.leetcode.com/problems/subsets-ii/)| [C++](./algorithms/cpp/subsets/subsets.II.cpp), [Java](./algorithms/java/src/subsets/subsetsII.java)|Medium| |89|[Gray Code](https://oj.leetcode.com/problems/gray-code/)| [C++](./algorithms/cpp/grayCode/grayCode.cpp)|Medium| |88|[Merge Sorted Array](https://oj.leetcode.com/problems/merge-sorted-array/)| [C++](./algorithms/cpp/mergeTwoSortedArray/mergeTwoSortedArray.cpp)|Easy| |87|[Scramble String](https://oj.leetcode.com/problems/scramble-string/)| [C++](./algorithms/cpp/scrambleString/scrambleString.cpp)|Hard| -|86|[Partition List](https://oj.leetcode.com/problems/partition-list/)| [C++](./algorithms/cpp/partitionList/partitionList.cpp)|Medium| +|86|[Partition List](https://oj.leetcode.com/problems/partition-list/)| [C++](./algorithms/cpp/partitionList/partitionList.cpp), [Python](./algorithms/python/PartitionList/partition.py)|Medium| |85|[Maximal Rectangle](https://oj.leetcode.com/problems/maximal-rectangle/)| [C++](./algorithms/cpp/maximalRectangle/maximalRectangle.cpp)|Hard| |84|[Largest Rectangle in Histogram](https://oj.leetcode.com/problems/largest-rectangle-in-histogram/)| [C++](./algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp)|Hard| |83|[Remove Duplicates from Sorted List](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.cpp)|Easy| -|82|[Remove Duplicates from Sorted List II](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.II.cpp)|Medium| +|82|[Remove Duplicates from Sorted List II](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.II.cpp), [Python](./algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py)|Medium| |81|[Search in Rotated Sorted Array II](https://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/searchInRotatedSortedArray/searchInRotatedSortedArray.II.cpp)|Medium| |80|[Remove Duplicates from Sorted Array II](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.II.cpp)|Medium| |79|[Word Search](https://oj.leetcode.com/problems/word-search/)| [C++](./algorithms/cpp/wordSearch/wordSearch.cpp)|Medium| @@ -333,7 +336,7 @@ LeetCode |22|[Generate Parentheses](https://oj.leetcode.com/problems/generate-parentheses/)| [C++](./algorithms/cpp/generateParentheses/generateParentheses.cpp)|Medium| |21|[Merge Two Sorted Lists](https://oj.leetcode.com/problems/merge-two-sorted-lists/)| [C++](./algorithms/cpp/mergeTwoSortedList/mergeTwoSortedList.cpp)|Easy| |20|[Valid Parentheses](https://oj.leetcode.com/problems/valid-parentheses/)| [C++](./algorithms/cpp/validParentheses/validParentheses.cpp)|Easy| -|19|[Remove Nth Node From End of List](https://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/)| [C++](./algorithms/cpp/removeNthNodeFromEndOfList/removeNthNodeFromEndOfList.cpp)|Easy| +|19|[Remove Nth Node From End of List](https://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/)| [C++](./algorithms/cpp/removeNthNodeFromEndOfList/removeNthNodeFromEndOfList.cpp), [Python](./algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py)|Easy| |18|[4Sum](https://oj.leetcode.com/problems/4sum/)| [C++](./algorithms/cpp/4Sum/4Sum.cpp)|Medium| |17|[Letter Combinations of a Phone Number](https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/)| [C++](./algorithms/cpp/letterCombinationsOfAPhoneNumber/letterCombinationsOfAPhoneNumber.cpp)|Medium| |16|[3Sum Closest](https://oj.leetcode.com/problems/3sum-closest/)| [C++](./algorithms/cpp/3SumClosest/3SumClosest.cpp)|Medium| diff --git a/algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py b/algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py new file mode 100644 index 000000000..1e81010a1 --- /dev/null +++ b/algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py @@ -0,0 +1,12 @@ +def flipMatchVoyage(self, root, voyage): + res = [] + self.i = 0 + def dfs(root): + if not root: return True + if root.val != voyage[self.i]: return False + self.i += 1 + if root.left and root.left.val != voyage[self.i]: + res.append(root.val) + root.left, root.right = root.right, root.left + return dfs(root.left) and dfs(root.right) + return res if dfs(root) else [-1] \ No newline at end of file diff --git a/algorithms/python/InsertionSortList/insertionSortList.py b/algorithms/python/InsertionSortList/insertionSortList.py new file mode 100644 index 000000000..07c73d96f --- /dev/null +++ b/algorithms/python/InsertionSortList/insertionSortList.py @@ -0,0 +1,19 @@ +def insertionSortList(self, head): + if not head: return head + + dummy = ListNode(0) + curr = head + prev = dummy + + while curr: + next = curr.next + while prev.next and prev.next.val < curr.val: + prev = prev.next + + curr.next = prev.next + prev.next = curr + prev = dummy + + curr = next + + return dummy.next \ No newline at end of file diff --git a/algorithms/python/LongestUnivaluePath/longestUnivaluePath.py b/algorithms/python/LongestUnivaluePath/longestUnivaluePath.py new file mode 100644 index 000000000..1af0982c2 --- /dev/null +++ b/algorithms/python/LongestUnivaluePath/longestUnivaluePath.py @@ -0,0 +1,11 @@ +def longestUnivaluePath(self, root): + self.longest = 0 + def helper(root): + if not root: return 0 + l, r = helper(root.left), helper(root.right) + left = (l + 1) if root.left and root.left.val == root.val else 0 + right = (r + 1) if root.right and root.right.val == root.val else 0 + self.longest = max(self.longest, left + right) + return max(left, right) + helper(root) + return self.longest \ No newline at end of file diff --git a/algorithms/python/PartitionList/partition.py b/algorithms/python/PartitionList/partition.py new file mode 100644 index 000000000..6c404919d --- /dev/null +++ b/algorithms/python/PartitionList/partition.py @@ -0,0 +1,14 @@ +def partition(self, head, x): + h1 = l1 = ListNode(0) + h2 = l2 = ListNode(0) + while head: + if head.val < x: + l1.next = head + l1 = l1.next + else: + l2.next = head + l2 = l2.next + head = head.next + l2.next = None + l1.next = h2.next + return h1.next \ No newline at end of file diff --git a/algorithms/python/PathSumIII/pathSum.py b/algorithms/python/PathSumIII/pathSum.py new file mode 100644 index 000000000..717b02525 --- /dev/null +++ b/algorithms/python/PathSumIII/pathSum.py @@ -0,0 +1,21 @@ +def pathSum(self, root, target): + self.result = 0 + cache = {0:1} + + def dfs(root, currPathSum): + if not root: return + + currPathSum += root.val + oldPathSum = currPathSum - target + + self.result += cache.get(oldPathSum, 0) + cache[currPathSum] = cache.get(currPathSum, 0) + 1 + + + dfs(root.left, currPathSum) + dfs(root.right, currPathSum) + + cache[currPathSum] -= 1 + + dfs(root, 0) + return self.result \ No newline at end of file diff --git a/algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py b/algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py new file mode 100644 index 000000000..2f528c6be --- /dev/null +++ b/algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py @@ -0,0 +1,13 @@ +def deleteDuplicates(self, head): + dummy = prev = ListNode(0) + dummy.next = head + while head and head.next: + if head.val == head.next.val: + while head and head.next and head.val == head.next.val: + head = head.next + head = head.next + prev.next = head + else: + prev = prev.next + head = head.next + return dummy.next \ No newline at end of file diff --git a/algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py b/algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py new file mode 100644 index 000000000..75b80198b --- /dev/null +++ b/algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py @@ -0,0 +1,10 @@ +def removeNthFromEnd(self, head, n): + slow = fast = head + for i in range(n): + fast = fast.next + if not fast: return head.next + while fast.next: + fast = fast.next + slow = slow.next + slow.next = slow.next.next + return head \ No newline at end of file diff --git a/algorithms/python/ReverseLinkedListII/reverseBetween.py b/algorithms/python/ReverseLinkedListII/reverseBetween.py new file mode 100644 index 000000000..8f43316e5 --- /dev/null +++ b/algorithms/python/ReverseLinkedListII/reverseBetween.py @@ -0,0 +1,14 @@ +def reverseBetween(self, head, m, n): + if not head or n == m: return head + p = dummy = ListNode(0) + dummy.next = head + for _ in range(m - 1): + p = p.next + tail = p.next + + for _ in range(n - m): + temp = p.next + p.next = tail.next + tail.next = tail.next.next + p.next.next = temp + return dummy.next \ No newline at end of file diff --git a/algorithms/python/SortList/sortList.py b/algorithms/python/SortList/sortList.py new file mode 100644 index 000000000..543624440 --- /dev/null +++ b/algorithms/python/SortList/sortList.py @@ -0,0 +1,37 @@ +# merge sort: + +def sortList(self, head): + if not head or not head.next: return head + leftHalf, rightHalf = self.split(head) + left = self.sortList(leftHalf) + right = self.sortList(rightHalf) + return self.mergeSorted(left, right) + +def mergeSorted(self, a, b): + res = dummy = ListNode(0) + while a and b: + if a.val < b.val: + dummy.next = a + dummy = a + a = a.next + else: + dummy.next = b + dummy = b + b = b.next + if not a: dummy.next = b + else: dummy.next = a + + return res.next + +def split(self, node): + if not node or not node.next: + return node, None + slow, fast = node, node + prev = None + while fast.next: + prev = slow + slow = slow.next + fast = fast.next.next + if not fast: break + prev.next = None + return node, slow \ No newline at end of file diff --git a/algorithms/python/UniqueBinarySearchTreesII/generateTrees.py b/algorithms/python/UniqueBinarySearchTreesII/generateTrees.py new file mode 100644 index 000000000..fee07dc5e --- /dev/null +++ b/algorithms/python/UniqueBinarySearchTreesII/generateTrees.py @@ -0,0 +1,24 @@ +def generateTrees(self, n): + if n == 0: return [] + + def helper(start, end): + ls = [] + if start > end: + ls.append(None) + return ls + if start == end: + ls.append(TreeNode(start)) + return ls + + for i in range(start, end + 1): + left = helper(start, i - 1) + right = helper(i + 1, end) + for lnode in left: + for rnode in right: + root = TreeNode(i) + root.left = lnode + root.right = rnode + ls.append(root) + return ls + + return helper(1, n) \ No newline at end of file diff --git a/algorithms/python/ValidateBinarySearchTree/isValidBST.py b/algorithms/python/ValidateBinarySearchTree/isValidBST.py new file mode 100644 index 000000000..06a1243e0 --- /dev/null +++ b/algorithms/python/ValidateBinarySearchTree/isValidBST.py @@ -0,0 +1,26 @@ +# method 1: using recursion + +def isValidBST1(self, root, lower = float('-inf'), upper = float('inf')): + """ + :type root: TreeNode + :rtype: bool + """ + if not root: return True + if root.val <= lower or root.val >= upper: return False + return self.isValidBST(root.left, lower, min(upper, root.val)) \ + and self.isValidBST(root.right, max(lower, root.val), upper) + + +# method 2: a proper BST should have this porperty: inorder traversal is increasing +def isValidBST2(self, root): + inorder = [] + def helper(root): + if root: + helper(root.left) + inorder.append(root.val) + helper(root.right) + + helper(root) + for i in range(len(inorder) - 1): + if inorder[i + 1] <= inorder[i]: return False + return True \ No newline at end of file From f380f20a780c8caac85a6f98080215cfc82b6c3f Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Mon, 21 Jan 2019 21:51:27 +1100 Subject: [PATCH 168/256] added some python solutions --- README.md | 20 +++++--- .../copyRandomList.py | 51 +++++++++++++++++++ .../diffWaysToCompute.py | 5 ++ algorithms/python/FibonacciNumber/fib.py | 27 ++++++++++ algorithms/python/HappyNumber/isHappy.py | 33 ++++++++++++ algorithms/python/HouseRobber/rob.py | 6 +++ .../largestPerimeter.py | 7 +++ .../python/LinkedListCycleII/detectCycle.py | 13 +++++ .../python/NumberOfIslands/numIslands.py | 24 +++++++++ .../python/PancakeSorting/pancakeSort.py | 19 +++++++ algorithms/python/ReorderList/reorderList.py | 25 +++++++++ .../deckRevealedIncreasing.py | 9 ++++ .../python/SearchA2DMatrixII/searchMatrix.py | 28 ++++++++++ 13 files changed, 259 insertions(+), 8 deletions(-) create mode 100644 algorithms/python/CopyListWithRandomPointer/copyRandomList.py create mode 100644 algorithms/python/DifferentWaysToAddParentheses/diffWaysToCompute.py create mode 100644 algorithms/python/FibonacciNumber/fib.py create mode 100644 algorithms/python/HappyNumber/isHappy.py create mode 100644 algorithms/python/HouseRobber/rob.py create mode 100644 algorithms/python/LargestPerimeterTriangle/largestPerimeter.py create mode 100644 algorithms/python/LinkedListCycleII/detectCycle.py create mode 100644 algorithms/python/NumberOfIslands/numIslands.py create mode 100644 algorithms/python/PancakeSorting/pancakeSort.py create mode 100644 algorithms/python/ReorderList/reorderList.py create mode 100644 algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py create mode 100644 algorithms/python/SearchA2DMatrixII/searchMatrix.py diff --git a/README.md b/README.md index bc781ca9d..c854b72d5 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,12 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| |971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| +|969|[Pancake Sorting](https://leetcode.com/problems/pancake-sorting/) | [Python](./algorithms/python/PancakeSorting/pancakeSort.py)|Medium| |958|[Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Python](./algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py)|Medium| |951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| +|950|[Reveal Cards In Increasing Order](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Python](./algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py)|Medium| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| @@ -30,6 +33,7 @@ LeetCode |563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| +|509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| |449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst/) | [Python](./algorithms/python/SerializeAndDeserializeBST/serialize.py)|Medium| @@ -130,8 +134,8 @@ LeetCode |258|[Add Digits](https://leetcode.com/problems/add-digits/)| [C++](./algorithms/cpp/addDigits/addDigits.cpp)|Easy| |257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [C++](./algorithms/cpp/binaryTreePaths/binaryTreePaths.cpp)|Easy| |242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [C++](./algorithms/cpp/anagrams/ValidAnagram.cpp), [Java](./algorithms/java/src/validAnagram/ValidAnagram.java)|Easy| -|241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)|[C++](./algorithms/cpp/differentWaysToAddParentheses/DifferentWaysToAddParentheses.cpp)|Medium| -|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp), [Java](./algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java)|Medium| +|241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)|[C++](./algorithms/cpp/differentWaysToAddParentheses/DifferentWaysToAddParentheses.cpp), [Python](./algorithms/python/DifferentWaysToAddParentheses/diffWaysToCompute.py)|Medium| +|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)|[C++](./algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp), [Java](./algorithms/java/src/searchA2DMatrixII/SearchA2DMatrixII.java), [Python](./algorithms/python/SearchA2DMatrixII/searchMatrix.py)|Medium| |239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [C++](./algorithms/cpp/slidingWindowMaximum/SlidingWindowMaximum.cpp)|Hard| |238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [C++](./algorithms/cpp/productOfArrayExceptSelf/ProductOfArrayExceptSelf.cpp)|Medium| |237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [C++](./algorithms/cpp/deleteNodeInALinkedList/DeleteNodeInALinkedList.cpp)|Easy| @@ -169,11 +173,11 @@ LeetCode |205|[Isomorphic Strings](https://leetcode.com/problems/isomorphic-strings/)| [C++](./algorithms/cpp/isomorphicStrings/IsomorphicStrings.cpp)|Easy| |204|[Count Primes](https://leetcode.com/problems/count-primes/)| [C++](./algorithms/cpp/countPrimes/CountPrimes.cpp)|Easy| |203|[Remove Linked List Elements](https://leetcode.com/problems/remove-linked-list-elements/)| [C++](./algorithms/cpp/removeLinkedListElements/RemoveLinkedListElements.cpp)|Easy| -|202|[Happy Number](https://leetcode.com/problems/happy-number/)| [C++](./algorithms/cpp/happyNumber/HappyNumber.cpp)|Easy| +|202|[Happy Number](https://leetcode.com/problems/happy-number/)| [C++](./algorithms/cpp/happyNumber/HappyNumber.cpp), [Python](./algorithms/python/HappyNumber/isHappy.py)|Easy| |201|[Bitwise AND of Numbers Range](https://leetcode.com/problems/bitwise-and-of-numbers-range/)| [C++](./algorithms/cpp/bitwiseANDOfNumbersRange/BitwiseAndOfNumbersRange.cpp)|Medium| -|200|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [C++](./algorithms/cpp/numberOfIslands/NumberOfIslands.cpp)|Medium| +|200|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [C++](./algorithms/cpp/numberOfIslands/NumberOfIslands.cpp), [Python](./algorithms/python/NumberOfIslands/numIslands.py)|Medium| |199|[Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)| [C++](./algorithms/cpp/binaryTreeRightSideView/binaryTreeRightSideView.cpp)|Medium| -|198|[House Robber](https://leetcode.com/problems/house-robber/)| [C++](./algorithms/cpp/houseRobber/houseRobber.cpp)|Easy| +|198|[House Robber](https://leetcode.com/problems/house-robber/)| [C++](./algorithms/cpp/houseRobber/houseRobber.cpp), [Python](./algorithms/python/HouseRobber/rob.py)|Easy| |191|[Number of 1 Bits](https://oj.leetcode.com/problems/number-of-1-bits/)| [C++](./algorithms/cpp/numberOf1Bits/numberOf1Bits.cpp)|Easy| |190|[Reverse Bits](https://oj.leetcode.com/problems/reverse-bits/)| [C++](./algorithms/cpp/reverseBits/reverseBits.cpp)|Easy| |189|[Rotate Array](https://oj.leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp), [Java](./algorithms/java/src/rotateArray/RotateArray.java)|Easy| @@ -212,12 +216,12 @@ LeetCode |146|[LRU Cache](https://oj.leetcode.com/problems/lru-cache/)| [C++](./algorithms/cpp/LRUCache/LRUCache.cpp), [Java](./algorithms/java/src/lruCache/LRUCache.java)|Hard| |145|[Binary Tree Postorder Traversal](https://oj.leetcode.com/problems/binary-tree-postorder-traversal/)| [C++](./algorithms/cpp/binaryTreePostorderTraversal/binaryTreePostorderTraversal.cpp), [Python](./algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py)|Hard| |144|[Binary Tree Preorder Traversal](https://oj.leetcode.com/problems/binary-tree-preorder-traversal/)| [C++](./algorithms/cpp/binaryTreePreorderTraversal/binaryTreePreorderTraversal.cpp), [Java](./algorithms/java/src/binaryTreePreorderTraversal/binaryTreePreorderTraversal.java)|Medium| -|143|[Reorder List](https://oj.leetcode.com/problems/reorder-list/)| [C++](./algorithms/cpp/reorderList/reorderList.cpp)|Medium| -|142|[Linked List Cycle II](https://oj.leetcode.com/problems/linked-list-cycle-ii/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.II.cpp)|Medium| +|143|[Reorder List](https://oj.leetcode.com/problems/reorder-list/)| [C++](./algorithms/cpp/reorderList/reorderList.cpp), [Python](./algorithms/python/ReorderList/reorderList.py)|Medium| +|142|[Linked List Cycle II](https://oj.leetcode.com/problems/linked-list-cycle-ii/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.II.cpp), [Python](./algorithms/python/LinkedListCycleII/detectCycle.py)|Medium| |141|[Linked List Cycle](https://oj.leetcode.com/problems/linked-list-cycle/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.cpp)|Medium| |140|[Word Break II](https://oj.leetcode.com/problems/word-break-ii/)| [C++](./algorithms/cpp/wordBreak/wordBreak.II.cpp)|Hard| |139|[Word Break](https://oj.leetcode.com/problems/word-break/)| [C++](./algorithms/cpp/wordBreak/wordBreak.cpp)|Medium| -|138|[Copy List with Random Pointer](https://oj.leetcode.com/problems/copy-list-with-random-pointer/)| [C++](./algorithms/cpp/copyListWithRandomPointer/copyListWithRandomPointer.cpp)|Hard| +|138|[Copy List with Random Pointer](https://oj.leetcode.com/problems/copy-list-with-random-pointer/)| [C++](./algorithms/cpp/copyListWithRandomPointer/copyListWithRandomPointer.cpp), [Python](./algorithms/python/CopyListWithRandomPointer/copyRandomList.py)|Hard| |137|[Single Number II](https://oj.leetcode.com/problems/single-number-ii/)| [C++](./algorithms/cpp/singleNumber/singleNumber.II.cpp)|Medium| |136|[Single Number](https://oj.leetcode.com/problems/single-number/)| [C++](./algorithms/cpp/singleNumber/singleNumber.cpp)|Medium| |135|[Candy](https://oj.leetcode.com/problems/candy/)| [C++](./algorithms/cpp/candy/candy.cpp)|Hard| diff --git a/algorithms/python/CopyListWithRandomPointer/copyRandomList.py b/algorithms/python/CopyListWithRandomPointer/copyRandomList.py new file mode 100644 index 000000000..997fd0de6 --- /dev/null +++ b/algorithms/python/CopyListWithRandomPointer/copyRandomList.py @@ -0,0 +1,51 @@ +# method 1: using a dict and store each node as key, each copied node as value +# Space complexity: O(n) +# Time complexity: O(n) + +def copyRandomList(self, head): + d = {} + m = n = head + while m: + d[m] = RandomListNode(m.label) + m = m.next + + while n: + d[n].next = d.get(n.next) + d[n].random = d.get(n.random) + n = n.next + + return d.get(head) + +# Method 2: +# Space complexity: O(1) +# Time complexity: O(n) + +def copyRandomList(self, head): + if not head: return None + + # Step 1: copy each node and link them together with original ones + curr = head + while curr: + new = RandomListNode(curr.label) + new.next = curr.next + curr.next = new + curr = curr.next.next + + # Step 2: build random node for each copied nodes + curr = head + while curr: + if curr.random: curr.next.random = curr.random.next + curr = curr.next.next + + # Step 3: restore the original list and extract copied list + newhead = head.next + pold = head + pnew = newhead + while pnew.next: + pold.next = pnew.next + pold = pold.next + pnew.next = pold.next + pnew = pnew.next + pold.next = None + pnew.next = None + return newhead \ No newline at end of file diff --git a/algorithms/python/DifferentWaysToAddParentheses/diffWaysToCompute.py b/algorithms/python/DifferentWaysToAddParentheses/diffWaysToCompute.py new file mode 100644 index 000000000..62831e4a4 --- /dev/null +++ b/algorithms/python/DifferentWaysToAddParentheses/diffWaysToCompute.py @@ -0,0 +1,5 @@ +def diffWaysToCompute(self, input): + return [a + b if c == '+' else a - b if c == '-' else a * b \ + for i, c in enumerate(input) if c in '+-*' \ + for a in self.diffWaysToCompute(input[:i]) \ + for b in self.diffWaysToCompute(input[i+1:])] or [int(input)] \ No newline at end of file diff --git a/algorithms/python/FibonacciNumber/fib.py b/algorithms/python/FibonacciNumber/fib.py new file mode 100644 index 000000000..0459a8d17 --- /dev/null +++ b/algorithms/python/FibonacciNumber/fib.py @@ -0,0 +1,27 @@ +""" +Method 1: iterative: +""" +def fib1(self, N): + if N <= 1: return N + a, b = 0, 1 + for _ in range(2, N + 1): + a, b = b, a + b + return b + +""" +Method 2: recursive without memorization: +""" +def fib2(self, N): + if N <= 1: return N + return self.fib(N - 1) + self.fib(N - 2) + +""" +Method 3: recursive with memorization +""" +def fib3(self, N): + memo = {0:0, 1:1} + def helper(n): + if n not in memo: + memo[n] = helper(n - 1) + helper(n - 2) + return memo[n] + return helper(N) \ No newline at end of file diff --git a/algorithms/python/HappyNumber/isHappy.py b/algorithms/python/HappyNumber/isHappy.py new file mode 100644 index 000000000..2e2103911 --- /dev/null +++ b/algorithms/python/HappyNumber/isHappy.py @@ -0,0 +1,33 @@ +# Method 1: straight forward solution, use a set to track if there is a cycle + +def isHappy1(self, n): + if n <= 0: return False + s = set() + while n not in s: + s.add(n) + n = sum([int(i) ** 2 for i in str(n)]) + if n == 1: return True + return False + +# Method 2: using a slow and fast pointer to determine cycle (like in linked list) +# No extra space needed +def isHappy2(self, n): + """ + :type n: int + :rtype: bool + """ + if n <= 0: return False + def helper(n): + res = 0 + while n: + res += (n % 10) ** 2 + n = n // 10 + return res + + slow = fast = n + while True: + slow = helper(slow) + fast = helper(helper(fast)) + if slow == 1: return True + if slow == fast: break + return False \ No newline at end of file diff --git a/algorithms/python/HouseRobber/rob.py b/algorithms/python/HouseRobber/rob.py new file mode 100644 index 000000000..a408de34f --- /dev/null +++ b/algorithms/python/HouseRobber/rob.py @@ -0,0 +1,6 @@ +def rob(self, nums): + temp = [0, 0] + for n in nums: + temp[0], temp[1] = max(temp), n + temp[0] + + return max(temp) \ No newline at end of file diff --git a/algorithms/python/LargestPerimeterTriangle/largestPerimeter.py b/algorithms/python/LargestPerimeterTriangle/largestPerimeter.py new file mode 100644 index 000000000..2052086c6 --- /dev/null +++ b/algorithms/python/LargestPerimeterTriangle/largestPerimeter.py @@ -0,0 +1,7 @@ +def largestPerimeter(self, A): + A.sort() + n = len(A) + for i in range(1, len(A) - 1): + if A[n - i - 2] + A[n - i - 1] > A[n - i]: + return A[n - i - 2] + A[n - i - 1] + A[n - i] + return 0 \ No newline at end of file diff --git a/algorithms/python/LinkedListCycleII/detectCycle.py b/algorithms/python/LinkedListCycleII/detectCycle.py new file mode 100644 index 000000000..5fc5876e3 --- /dev/null +++ b/algorithms/python/LinkedListCycleII/detectCycle.py @@ -0,0 +1,13 @@ +def detectCycle(self, head): + slow, fast = head, head + while fast and fast.next: + slow = slow.next + fast = fast.next.next + if slow == fast: break + + if not fast or not fast.next: return None + slow = head + while slow != fast: + slow = slow.next + fast = fast.next + return slow \ No newline at end of file diff --git a/algorithms/python/NumberOfIslands/numIslands.py b/algorithms/python/NumberOfIslands/numIslands.py new file mode 100644 index 000000000..ccb7ac135 --- /dev/null +++ b/algorithms/python/NumberOfIslands/numIslands.py @@ -0,0 +1,24 @@ +def numIslands(self, grid): + if not grid or not grid[0]: return 0 + row, col = len(grid), len(grid[0]) + self.visited = [[False for _ in range(col)] for _ in range(row)] + + def floodfill(i, j): + if grid[i][j] == '1' and self.visited[i][j] == False: + self.visited[i][j] = True + if i > 0: + floodfill(i - 1, j) + if i < row - 1: + floodfill(i + 1, j) + if j > 0: + floodfill(i, j - 1) + if j < col - 1: + floodfill(i, j + 1) + + res = 0 + for i in range(row): + for j in range(col): + if grid[i][j] == '1' and self.visited[i][j] == False: + res += 1 + floodfill(i, j) + return res \ No newline at end of file diff --git a/algorithms/python/PancakeSorting/pancakeSort.py b/algorithms/python/PancakeSorting/pancakeSort.py new file mode 100644 index 000000000..9c9a8974e --- /dev/null +++ b/algorithms/python/PancakeSorting/pancakeSort.py @@ -0,0 +1,19 @@ +""" +basic idea: find the index of smallest element in A, filp the list from that index, this makes the smallest element +comes to the first, then filp the whole list, to make smallest element goes to the tail. And then delete that element. + +Do this step until all the smallest element comes to the tail, then just filp the whole list again, and we can get what we want +""" + +def pancakeSort(self, A): + res = [] + n = len(A) + while A: + smallest = A.index(min(A)) + res.append(smallest + 1) + res.append(len(A)) + A = list(reversed(A[:smallest + 1])) + A[smallest + 1:] + A.reverse() + del A[-1] + res.append(n) + return res \ No newline at end of file diff --git a/algorithms/python/ReorderList/reorderList.py b/algorithms/python/ReorderList/reorderList.py new file mode 100644 index 000000000..7234b021f --- /dev/null +++ b/algorithms/python/ReorderList/reorderList.py @@ -0,0 +1,25 @@ +def reorderList(self, head): + if not head or not head.next: return + + # Step 1: find the middle node + middle = None + slow, fast = head, head + while fast and fast.next: + middle = slow + slow = slow.next + fast = fast.next.next + middle.next = None + + # Step 2: reverse the second half + prev = None + while slow: + nextNode = slow.next + slow.next = prev + prev, slow = slow, nextNode + + # Step 3: merge two lists + while head and prev: + first, second = head.next, prev.next + head.next = prev + if first: prev.next = first + head, prev = first, second \ No newline at end of file diff --git a/algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py b/algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py new file mode 100644 index 000000000..06ba3ae1e --- /dev/null +++ b/algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py @@ -0,0 +1,9 @@ +def deckRevealedIncreasing(self, deck): + deck.sort() + res = [0] * len(deck) + index = list(range(len(deck))) + + for i in range(len(deck)): + res[index.pop(0)] = deck[i] + if index: index.append(index.pop(0)) + return res \ No newline at end of file diff --git a/algorithms/python/SearchA2DMatrixII/searchMatrix.py b/algorithms/python/SearchA2DMatrixII/searchMatrix.py new file mode 100644 index 000000000..3e372606c --- /dev/null +++ b/algorithms/python/SearchA2DMatrixII/searchMatrix.py @@ -0,0 +1,28 @@ +# Method 1: Binary Search on each row, if the first element of the row is already bigger than target, then skip +# Time Complexity: O(mlogn) +def searchMatrix1(self, matrix, target): + def helper(low, high, row): + while low <= high: + mid = (low + high) // 2 + if matrix[row][mid] < target: low = mid + 1 + elif matrix[row][mid] > target: high = mid - 1 + else: return True + return False + + if not matrix or not matrix[0]: return False + for i in range(len(matrix)): + if matrix[i][0] > target: return False + elif matrix[i][0] == target: return True + if helper(0, len(matrix[i]) - 1, i): return True + return False + +# Method 2: compare the element with top-right corner, and reduce the search range +# Time complexity: O(m + n) +def searchMatrix2(self, matrix, target): + if not matrix or not matrix[0]: return False + row, col = 0, len(matrix[0]) - 1 + while row < len(matrix) and col >= 0: + if matrix[row][col] > target: col -= 1 + elif matrix[row][col] < target: row += 1 + else: return True + return False \ No newline at end of file From b9196c3c59dcd37043edf0f2934e2a62e7392808 Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Wed, 23 Jan 2019 21:15:14 +1100 Subject: [PATCH 169/256] added some python solutions --- README.md | 20 +++++++++++++---- .../isOneBitCharacter.py | 10 +++++++++ .../FindTheDuplicateNumber/findDuplicate.py | 13 +++++++++++ .../python/ImageSmoother/imageSmoother.py | 13 +++++++++++ .../python/K-diffPairsInAnArray/findPairs.py | 6 +++++ .../dominantIndex.py | 6 +++++ .../findLengthOfLCIS.py | 11 ++++++++++ .../maxDistToClosest.py | 16 ++++++++++++++ .../MaximumAverageSubarrayI/findMaxAverage.py | 22 +++++++++++++++++++ .../maximumProduct.py | 11 ++++++++++ .../minCostClimbingStairs.py | 5 +++++ .../Non-decreasingArray/checkPossibility.py | 10 +++++++++ .../largeGroupPositions.py | 13 +++++++++++ .../findUnsortedSubarray.py | 3 +++ .../SquaresOfSortedArray/sortedSquares.py | 2 ++ .../python/ThirdMaximumNumber/thirdMax.py | 14 ++++++++++++ .../ValidMountainArray/validMountainArray.py | 20 +++++++++++++++++ 17 files changed, 191 insertions(+), 4 deletions(-) create mode 100644 algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py create mode 100644 algorithms/python/FindTheDuplicateNumber/findDuplicate.py create mode 100644 algorithms/python/ImageSmoother/imageSmoother.py create mode 100644 algorithms/python/K-diffPairsInAnArray/findPairs.py create mode 100644 algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py create mode 100644 algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py create mode 100644 algorithms/python/MaximizeDistanceToClosestPerson/maxDistToClosest.py create mode 100644 algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py create mode 100644 algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py create mode 100644 algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py create mode 100644 algorithms/python/Non-decreasingArray/checkPossibility.py create mode 100644 algorithms/python/PositionsOfLargeGroups/largeGroupPositions.py create mode 100644 algorithms/python/ShortestUnsortedContinuousSubarray/findUnsortedSubarray.py create mode 100644 algorithms/python/SquaresOfSortedArray/sortedSquares.py create mode 100644 algorithms/python/ThirdMaximumNumber/thirdMax.py create mode 100644 algorithms/python/ValidMountainArray/validMountainArray.py diff --git a/README.md b/README.md index c854b72d5..02508445c 100644 --- a/README.md +++ b/README.md @@ -8,31 +8,43 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| |971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| |969|[Pancake Sorting](https://leetcode.com/problems/pancake-sorting/) | [Python](./algorithms/python/PancakeSorting/pancakeSort.py)|Medium| |958|[Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Python](./algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py)|Medium| |951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| |950|[Reveal Cards In Increasing Order](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Python](./algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py)|Medium| +|941|[Valid Mountain Array](https://leetcode.com/problems/valid-mountain-array/) | [Python](./algorithms/python/ValidMountainArray/validMountainArray.py)|Easy| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| -844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/description/) | [C++](./algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp)|Easy| +|849|[Maximize Distance to Closest Person](https://leetcode.com/problems/maximize-distance-to-closest-person/) | [Python](./algorithms/python/MaximizeDistanceToClosestPerson/maxDistToClosest.py)|Easy| +|844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/description/) | [C++](./algorithms/cpp/backspaceStringCompare/BackspaceStringCompare.cpp)|Easy| |837|[Most Common Word](https://leetcode.com/problems/most-common-word/) | [C++](./algorithms/cpp/mostCommonWord/MostCommonWord.cpp)|Easy| +|830|[Positions of Large Groups](https://leetcode.com/problems/positions-of-large-groups/) | [Python](./algorithms/python/PositionsOfLargeGroups/largeGroupPositions.py)|Easy| |804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| +|747|[Largest Number At Least Twice of Others](https://leetcode.com/problems/largest-number-at-least-twice-of-others/) | [Python](./algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py)|Easy| +|746|[Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [Python](./algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py)|Easy| +|717|[1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/) | [Python](./algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py)|Easy| |687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/) | [Python](./algorithms/python/LongestUnivaluePath/longestUnivaluePath.py)|Easy| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| +|674|[Longest Continuous Increasing Subsequence](https://leetcode.com/problems/longest-continuous-increasing-subsequence/) | [Python](./algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py)|Easy| |671|[Second Minimum Node In a Binary Tree](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/) | [Python](./algorithms/python/SecondMinimumNodeInABinaryTree/findSecondMinimumValue.py)|Easy| +|665|[Non-decreasing Array](https://leetcode.com/problems/non-decreasing-array/) | [Python](./algorithms/python/Non-decreasingArray/checkPossibility.py)|Easy| |662|[Maximum Width of Binary Tree](https://leetcode.com/problems/maximum-width-of-binary-tree/) | [Python](./algorithms/python/MaximumWidthOfBinaryTree/widthOfBinaryTree.py)|Medium| +|661|[Image Smoother](https://leetcode.com/problems/image-smoother/) | [Python](./algorithms/python/ImageSmoother/imageSmoother.py)|Easy| |655|[Print Binary Tree](https://leetcode.com/problems/print-binary-tree/) | [Python](./algorithms/python/PrintBinaryTree/printTree.py)|Medium| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/) | [Python](./algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py)|Medium| -|643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp)|Easy| +|643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp), [Python](./algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py)|Easy| +|628|[Maximum Product of Three Numbers](https://leetcode.com/problems/maximum-product-of-three-numbers/) | [Python](./algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py)|Easy| |623|[Add One Row to Tree](https://leetcode.com/problems/add-one-row-to-tree/) | [Python](./algorithms/python/AddOneRowToTree/addOneRow.py)|Medium| |572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) | [Python](./algorithms/python/SubtreeOfAnotherTree/isSubtree.py)|Easy| |563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| +|532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy| |509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| @@ -41,7 +53,7 @@ LeetCode |418|[SentenceScreenFitting](https://leetcode.com/problems/sentence-screen-fitting/) ♥ | [C++](./algorithms/cpp/sentenceScreenFitting/sentenceScreenFitting.cpp)|Easy| |416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/description/) | [C++](./algorithms/cpp/partitionEqualSubsetSum/PartitionEqualSubsetSum.cpp)|Medium| |415|[Add Strings](https://leetcode.com/problems/add-strings/) | [C++](./algorithms/cpp/addStrings/AddStrings.cpp)|Easy| -|414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp)|Easy| +|414|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/) | [C++](./algorithms/cpp/thirdMaximumNumber/ThirdMaximumNumber.cpp), [Python](./algorithms/python/ThirdMaximumNumber/thirdMax.py)|Easy| |413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/) | [C++](./algorithms/cpp/arithmeticSlices/ArithmeticSlices.cpp)|Medium| |412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) | [C++](./algorithms/cpp/fizzBuzz/FizzBuzz.cpp)|Easy| |410|[Split Array Largest Sum](https://leetcode.com/problems/split-array-largest-sum/) | [C++](./algorithms/cpp/splitArrayLargestSum/SplitArrayLargestSum.cpp)|Hard| @@ -117,7 +129,7 @@ LeetCode |295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/) | [C++](./algorithms/cpp/findMedianFromDataStream/FindMedianFromDataStream.cpp)|Hard| |292|[Nim Game](https://leetcode.com/problems/nim-game/) | [C++](./algorithms/cpp/nimGame/nimGame.cpp)|Easy| |290|[Word Pattern](https://leetcode.com/problems/word-pattern/) | [C++](./algorithms/cpp/wordPattern/WordPattern.cpp)|Easy| -|287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/) | [C++](./algorithms/cpp/findTheDuplicateNumber/findTheDuplicateNumber.cpp)|Hard| +|287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/) | [C++](./algorithms/cpp/findTheDuplicateNumber/findTheDuplicateNumber.cpp), [Python](./algorithms/python/FindTheDuplicateNumber/findDuplicate.py)|Hard| |285|[Inorder Successor in BST](https://leetcode.com/problems/inorder-successor-in-bst/) ♥ | [Java](./algorithms/java/src/inorderSuccessorInBST/inorderSuccessorInBST.java)|Medium| |284|[Peeking Iterator](https://leetcode.com/problems/peeking-iterator/) | [C++](./algorithms/cpp/peekingIterator/PeekingIterator.cpp)|Medium| |283|[Move Zeroes](https://leetcode.com/problems/move-zeroes/) | [C++](./algorithms/cpp/moveZeroes/moveZeroes.cpp)|Easy| diff --git a/algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py b/algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py new file mode 100644 index 000000000..bcdfc7069 --- /dev/null +++ b/algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py @@ -0,0 +1,10 @@ +def isOneBitCharacter(self, bits): + i = 0 + while i < len(bits): + if bits[i] == 0: + i += 1 + if i >= len(bits): return True + if bits[i] == 1: + i += 2 + if i >= len(bits): return False + if i == len(bits) - 1: return True \ No newline at end of file diff --git a/algorithms/python/FindTheDuplicateNumber/findDuplicate.py b/algorithms/python/FindTheDuplicateNumber/findDuplicate.py new file mode 100644 index 000000000..f682b4c76 --- /dev/null +++ b/algorithms/python/FindTheDuplicateNumber/findDuplicate.py @@ -0,0 +1,13 @@ +# the same as linked list cycle problem +def findDuplicate(self, nums): + if len(nums) <= 1: return -1 + slow, fast = nums[0], nums[nums[0]] + while slow != fast: + slow = nums[slow] + fast = nums[nums[fast]] + + fast = 0 + while slow != fast: + slow = nums[slow] + fast = nums[fast] + return slow \ No newline at end of file diff --git a/algorithms/python/ImageSmoother/imageSmoother.py b/algorithms/python/ImageSmoother/imageSmoother.py new file mode 100644 index 000000000..f90828d7b --- /dev/null +++ b/algorithms/python/ImageSmoother/imageSmoother.py @@ -0,0 +1,13 @@ +def imageSmoother(self, M): + from copy import deepcopy + + if not M or not M[0]: return [[]] + row, col = len(M), len(M[0]) + res = deepcopy(M) + for x in range(row): + for y in range(col): + temp = [M[i][j] for i in [x - 1, x, x + 1] for j in [y - 1, y, y + 1] if \ + 0 <= i < row and 0 <= j < col] + res[x][y] = sum(temp) // len(temp) + + return res \ No newline at end of file diff --git a/algorithms/python/K-diffPairsInAnArray/findPairs.py b/algorithms/python/K-diffPairsInAnArray/findPairs.py new file mode 100644 index 000000000..271a39668 --- /dev/null +++ b/algorithms/python/K-diffPairsInAnArray/findPairs.py @@ -0,0 +1,6 @@ +def findPairs(self, nums, k): + if k > 0: + return len(set(nums) & set(a + k for a in nums)) + elif k == 0: + return sum(v > 1 for v in collections.Counter(nums).values()) + return 0 \ No newline at end of file diff --git a/algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py b/algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py new file mode 100644 index 000000000..676bea452 --- /dev/null +++ b/algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py @@ -0,0 +1,6 @@ +def dominantIndex(self, nums): + i = nums.index(max(nums)) + l = nums[i] + del nums[i] + if not nums: return 0 + return i if l >= 2 * max(nums) else -1 \ No newline at end of file diff --git a/algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py b/algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py new file mode 100644 index 000000000..3588468a0 --- /dev/null +++ b/algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py @@ -0,0 +1,11 @@ +def findLengthOfLCIS(self, nums): + if not nums: return 0 + res = 1 + temp = 1 + for i in range(1, len(nums)): + if nums[i] > nums[i - 1]: + temp += 1 + else: + res = max(temp, res) + temp = 1 + return max(temp, res) \ No newline at end of file diff --git a/algorithms/python/MaximizeDistanceToClosestPerson/maxDistToClosest.py b/algorithms/python/MaximizeDistanceToClosestPerson/maxDistToClosest.py new file mode 100644 index 000000000..c72de387b --- /dev/null +++ b/algorithms/python/MaximizeDistanceToClosestPerson/maxDistToClosest.py @@ -0,0 +1,16 @@ +def maxDistToClosest(self, seats): + first = seats.index(1) + last = 0 + for i in range(len(seats) - 1, -1, -1): + if seats[i]: + last = i + break + res = 0 + temp = 0 + for i in range(first, last + 1): + if seats[i] == 1: + res = max(temp, res) + temp = 0 + else: + temp += 1 + return max(first, len(seats) - last - 1, (res + 1) // 2) \ No newline at end of file diff --git a/algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py b/algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py new file mode 100644 index 000000000..496a4facc --- /dev/null +++ b/algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py @@ -0,0 +1,22 @@ +# Method 1: sliding window + +def findMaxAverage(self, nums, k): + total = 0 + temp = float('-inf') + for i, n in enumerate(nums): + total += n + if i >= k: total -= nums[i- k] + if i >= k - 1: + temp = max(temp, total) + return temp / k + + + +# Method 2: prefix sum + def findMaxAverage(self, nums, k): + temp = [0] + for n in nums: + temp.append(temp[-1] + n) + + res = max(temp[i + k] - temp[i] for i in range(len(nums) - k + 1)) + return res / k \ No newline at end of file diff --git a/algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py b/algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py new file mode 100644 index 000000000..ea36a256a --- /dev/null +++ b/algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py @@ -0,0 +1,11 @@ +# simply find the three largest and two smallest +# Method 1: sort +def maximumProduct(self, nums): + nums.sort() + return max(nums[0] * nums[1] * nums[-1], nums[-1] * nums[-2] * nums[-3]) + +# Method 2: using heapq, O(n) time +def maximumProduct(self, nums): + import heapq + a, b = heapq.nlargest(3, nums), heapq.nsmallest(2, nums) + return max(a[0] * a[1] * a[2], a[0] * b[0] * b[1]) \ No newline at end of file diff --git a/algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py b/algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py new file mode 100644 index 000000000..403946efc --- /dev/null +++ b/algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py @@ -0,0 +1,5 @@ +def minCostClimbingStairs(self, cost): + temp = [0, cost[0]] + for i in range(1, len(cost)): + temp[0], temp[1] = temp[1], min(temp) + cost[i] + return min(temp) \ No newline at end of file diff --git a/algorithms/python/Non-decreasingArray/checkPossibility.py b/algorithms/python/Non-decreasingArray/checkPossibility.py new file mode 100644 index 000000000..5c8f27e80 --- /dev/null +++ b/algorithms/python/Non-decreasingArray/checkPossibility.py @@ -0,0 +1,10 @@ +def checkPossibility(self, nums): + count = 0 + for i in range(1, len(nums)): + if nums[i] < nums[i - 1]: + count += 1 + if i == 1 or nums[i - 2] <= nums[i]: nums[i - 1] = nums[i] + else: nums[i] = nums[i - 1] + + if count >= 2: return False + return True \ No newline at end of file diff --git a/algorithms/python/PositionsOfLargeGroups/largeGroupPositions.py b/algorithms/python/PositionsOfLargeGroups/largeGroupPositions.py new file mode 100644 index 000000000..616d19a49 --- /dev/null +++ b/algorithms/python/PositionsOfLargeGroups/largeGroupPositions.py @@ -0,0 +1,13 @@ +def largeGroupPositions(self, S): + res = [] + i = 0 + while i < len(S) - 2: + if S[i] == S[i + 1] and S[i] == S[i + 2]: + val = S[i] + index = i + while i < len(S) and S[i] == val: + i += 1 + res.append([index, i - 1]) + i -= 1 + i += 1 + return res \ No newline at end of file diff --git a/algorithms/python/ShortestUnsortedContinuousSubarray/findUnsortedSubarray.py b/algorithms/python/ShortestUnsortedContinuousSubarray/findUnsortedSubarray.py new file mode 100644 index 000000000..631bc04a9 --- /dev/null +++ b/algorithms/python/ShortestUnsortedContinuousSubarray/findUnsortedSubarray.py @@ -0,0 +1,3 @@ +def findUnsortedSubarray(self, nums): + same = [a == b for a, b in zip(nums, sorted(nums))] + return 0 if all(same) else len(nums) - same.index(False) - same[::-1].index(False) \ No newline at end of file diff --git a/algorithms/python/SquaresOfSortedArray/sortedSquares.py b/algorithms/python/SquaresOfSortedArray/sortedSquares.py new file mode 100644 index 000000000..cbbe06ccf --- /dev/null +++ b/algorithms/python/SquaresOfSortedArray/sortedSquares.py @@ -0,0 +1,2 @@ +def sortedSquares(self, A): + return list(sorted([a ** 2 for a in A])) \ No newline at end of file diff --git a/algorithms/python/ThirdMaximumNumber/thirdMax.py b/algorithms/python/ThirdMaximumNumber/thirdMax.py new file mode 100644 index 000000000..36f46d90b --- /dev/null +++ b/algorithms/python/ThirdMaximumNumber/thirdMax.py @@ -0,0 +1,14 @@ +def thirdMax(self, nums): + if len(set(nums)) < 3: return max(nums) + first = second = third = float('-inf') + for n in nums: + if n > first: + third = second + second = first + first = n + elif second < n < first: + third = second + second = n + elif third < n < second: + third = n + return third \ No newline at end of file diff --git a/algorithms/python/ValidMountainArray/validMountainArray.py b/algorithms/python/ValidMountainArray/validMountainArray.py new file mode 100644 index 000000000..c40f5db3a --- /dev/null +++ b/algorithms/python/ValidMountainArray/validMountainArray.py @@ -0,0 +1,20 @@ +# Method 1: using index find the max first, and then process + +def validMountainArray(self, A): + if len(A) < 3: return False + index = A.index(max(A)) + if index == 0 or index == len(A) -1: return False + for i in range(1, len(A)): + if i <= index: + if A[i] <= A[i - 1]: return False + else: + if A[i] >= A[i - 1]: return False + return True + + +# Method 2: one pass, using two pointers trace from the begining and end +def validMountainArray(self, A): + i, j = 0, len(A) - 1 + while i < len(A) - 1 and A[i] < A[i + 1]: i += 1 + while j > 0 and A[j - 1] > A[j]: j -= 1 + return 0 < i == j < len(A) - 1 \ No newline at end of file From c28ac08e803b4eac13a37d706c901d852b34027e Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Fri, 25 Jan 2019 23:55:01 +1100 Subject: [PATCH 170/256] added some python solutions --- README.md | 9 +++++--- .../containsNearbyDuplicate.py | 21 +++++++++++++++++++ .../containsNearbyAlmostDuplicate.py | 12 +++++++++++ .../maxTurbulenceSize.py | 14 +++++++++++++ algorithms/python/Subsets/subsets.py | 12 +++++++++++ .../XOfAKindInADeckOfCards/hasGroupsSizeX.py | 19 +++++++++++++++++ 6 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 algorithms/python/ContainsDuplicateII/containsNearbyDuplicate.py create mode 100644 algorithms/python/ContainsDuplicateIII/containsNearbyAlmostDuplicate.py create mode 100644 algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py create mode 100644 algorithms/python/Subsets/subsets.py create mode 100644 algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py diff --git a/README.md b/README.md index 02508445c..a8737ac46 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| |971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| @@ -16,6 +17,7 @@ LeetCode |951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| |950|[Reveal Cards In Increasing Order](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Python](./algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py)|Medium| |941|[Valid Mountain Array](https://leetcode.com/problems/valid-mountain-array/) | [Python](./algorithms/python/ValidMountainArray/validMountainArray.py)|Easy| +|914|[X of a Kind in a Deck of Cards](https://leetcode.com/problems/x-of-a-kind-in-a-deck-of-cards/) | [Python](./algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py)|Easy| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| @@ -40,6 +42,7 @@ LeetCode |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp), [Python](./algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py)|Easy| |628|[Maximum Product of Three Numbers](https://leetcode.com/problems/maximum-product-of-three-numbers/) | [Python](./algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py)|Easy| |623|[Add One Row to Tree](https://leetcode.com/problems/add-one-row-to-tree/) | [Python](./algorithms/python/AddOneRowToTree/addOneRow.py)|Medium| +|581|[Shortest Unsorted Continuous Subarray](https://leetcode.com/problems/shortest-unsorted-continuous-subarray/) | [Python](./algorithms/python/ShortestUnsortedContinuousSubarray/findUnsortedSubarray.py)|Easy| |572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) | [Python](./algorithms/python/SubtreeOfAnotherTree/isSubtree.py)|Easy| |563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| @@ -167,8 +170,8 @@ LeetCode |223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [C++](./algorithms/cpp/rectangleArea/RectangleArea.cpp)|Easy| |222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [C++](./algorithms/cpp/countCompleteTreeNodes/CountCompleteTreeNodes.cpp), [Python](./algorithms/python/CountCompleteTreeNodes/countNodes.py)|Medium| |221|[Maximal Square](https://leetcode.com/problems/maximal-square/)| [C++](./algorithms/cpp/maximalSquare/MaximalSquare.cpp)|Medium| -|220|[Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.III.cpp)|Medium| -|219|[Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.II.cpp)|Easy| +|220|[Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.III.cpp), [Python](./algorithms/python/ContainsDuplicateIII/containsNearbyAlmostDuplicate.py)|Medium| +|219|[Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.II.cpp), [Python](./algorithms/python/ContainsDuplicateII/containsNearbyDuplicate.py)|Easy| |218|[The Skyline Problem](https://leetcode.com/problems/the-skyline-problem/)| [C++](./algorithms/cpp/theSkylineProblem/TheSkylineProblem.cpp)|Hard| |217|[Contains Duplicate](https://leetcode.com/problems/contains-duplicate/)| [C++](./algorithms/cpp/containsDuplicate/ContainsDuplicate.cpp)|Easy| |216|[Combination Sum III](https://leetcode.com/problems/combination-sum-iii/)| [C++](./algorithms/cpp/combinationSum/combinationSum.III.cpp)|Medium| @@ -293,7 +296,7 @@ LeetCode |81|[Search in Rotated Sorted Array II](https://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/searchInRotatedSortedArray/searchInRotatedSortedArray.II.cpp)|Medium| |80|[Remove Duplicates from Sorted Array II](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.II.cpp)|Medium| |79|[Word Search](https://oj.leetcode.com/problems/word-search/)| [C++](./algorithms/cpp/wordSearch/wordSearch.cpp)|Medium| -|78|[Subsets](https://oj.leetcode.com/problems/subsets/)| [C++](./algorithms/cpp/subsets/subsets.cpp), [Java](./algorithms/java/src/subsets/subsets.java)|Medium| +|78|[Subsets](https://oj.leetcode.com/problems/subsets/)| [C++](./algorithms/cpp/subsets/subsets.cpp), [Java](./algorithms/java/src/subsets/subsets.java), [Python](./algorithms/python/Subsets/subsets.py)|Medium| |77|[Combinations](https://oj.leetcode.com/problems/combinations/)| [C++](./algorithms/cpp/combinations/combinations.cpp)|Medium| |76|[Minimum Window Substring](https://oj.leetcode.com/problems/minimum-window-substring/)| [C++](./algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp)|Hard| |75|[Sort Colors](https://oj.leetcode.com/problems/sort-colors/)| [C++](./algorithms/cpp/sortColors/sortColors.cpp)|Medium| diff --git a/algorithms/python/ContainsDuplicateII/containsNearbyDuplicate.py b/algorithms/python/ContainsDuplicateII/containsNearbyDuplicate.py new file mode 100644 index 000000000..372539e74 --- /dev/null +++ b/algorithms/python/ContainsDuplicateII/containsNearbyDuplicate.py @@ -0,0 +1,21 @@ +# Method 1: using set + +def containsNearbyDuplicate(self, nums, k): + if len(nums) <= k + 1: return len(nums) != len(set(nums)) + if k == 0: return False + s = set(nums[:k]) + for i in range(k, len(nums)): + if nums[i] in s: return True + else: + s.remove(nums[i - k]) + s.add(nums[i]) + return False + +# Method 2: using dictionary +def containsNearbyDuplicate(self, nums, k): + d = {} + for i, n in enumerate(nums): + if n in d and i - d[v] <= k: + return True + d[n] = i + return False \ No newline at end of file diff --git a/algorithms/python/ContainsDuplicateIII/containsNearbyAlmostDuplicate.py b/algorithms/python/ContainsDuplicateIII/containsNearbyAlmostDuplicate.py new file mode 100644 index 000000000..4bb450920 --- /dev/null +++ b/algorithms/python/ContainsDuplicateIII/containsNearbyAlmostDuplicate.py @@ -0,0 +1,12 @@ +def containsNearbyAlmostDuplicate(self, nums, k, t): + if k < 1 or t < 0: return False + d = {} + w = t + 1 + for i, n in enumerate(nums): + m = n // w + if m in d: return True + if m - 1 in d and abs(d[m-1] - n) <= t: return True + if m + 1 in d and abs(d[m+1] - n) <= t: return True + d[m] = n + if i >= k: del d[nums[i - k] // w] + return False \ No newline at end of file diff --git a/algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py b/algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py new file mode 100644 index 000000000..242287628 --- /dev/null +++ b/algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py @@ -0,0 +1,14 @@ +def maxTurbulenceSize(self, A): + res = inc = dec = 1 + for i in range(1, len(A)): + if A[i] > A[i - 1]: + inc = dec + 1 + dec = 1 + elif A[i] < A[i - 1]: + dec = inc + 1 + inc = 1 + else: + inc = 1 + dec = 1 + res = max(res, max(inc, dec)) + return res \ No newline at end of file diff --git a/algorithms/python/Subsets/subsets.py b/algorithms/python/Subsets/subsets.py new file mode 100644 index 000000000..6f810b551 --- /dev/null +++ b/algorithms/python/Subsets/subsets.py @@ -0,0 +1,12 @@ +def subsets(self, nums): + res = [] + def backtracking(temp, start): + res.append(temp[:]) + for i in range(start, len(nums)): + temp.append(nums[i]) + backtracking(temp, i + 1) + temp.pop() + + backtracking([], 0) + return res + \ No newline at end of file diff --git a/algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py b/algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py new file mode 100644 index 000000000..e65e2554f --- /dev/null +++ b/algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py @@ -0,0 +1,19 @@ +# Method 1: find the greatest common divisor using iteration + +def hasGroupsSizeX(self, deck): + if len(deck) < 2: return False + vals = collections.Counter(deck).values() + for n in range(2, max(vals) + 1): + if all(v % n == 0 for v in vals): return True + return False + +# Method 2: find the greatest common divisor using reduce +# Time complexity: O(n) +def hasGroupsSizeX(self, deck): + from functools import reduce + if len(deck) < 2: return False + vals = collections.Counter(deck).values() + def gcd(a, b): + while b: a, b = b, a % b + return a + return reduce(gcd, vals) \ No newline at end of file From ed86932cf06f6d7b61a8256c292ed851411c23be Mon Sep 17 00:00:00 2001 From: Kurt-Yu Date: Fri, 25 Jan 2019 23:57:10 +1100 Subject: [PATCH 171/256] fixed a small markdown syntax --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a8737ac46..fea13bb72 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ LeetCode |233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [C++](./algorithms/cpp/numberOfDigitOne/NumberOfDigitOne.cpp)|Medium| |232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp), [Java](./algorithms/java/src/myQueue/MyQueue.java)|Easy| |231|[Power of Two](https://leetcode.com/problems/power-of-two/)| [C++](./algorithms/cpp/powerOfTwo/PowerOfTwo.cpp)|Easy| -|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp), [Python] (./algorithms/python/KthSmallestElementInABST/kthSmallest.py)|Medium| +|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp), [Python](./algorithms/python/KthSmallestElementInABST/kthSmallest.py)|Medium| |229|[Majority Element II](https://oj.leetcode.com/problems/majority-element-ii/) | [C++](./algorithms/cpp/majorityElement/majorityElement.II.cpp)|Medium| |228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [C++](./algorithms/cpp/summaryRanges/SummaryRanges.cpp)|Easy| |227|[Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.II.cpp)|Medium| From 046bb1ce57895128e159482ed61e15c1a752a308 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 26 Jan 2019 09:21:36 +0800 Subject: [PATCH 172/256] fix the graphQL API request payload body --- scripts/lib/query_problem.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index f895507c9..97a423d26 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -34,8 +34,7 @@ function query_problem() -H 'authority: leetcode.com' \ -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36' \ -H "referer: ${1}" \ - --data-binary '{"operationName":"getQuestionDetail","variables":{"titleSlug":"'${2}'"},"query":"query getQuestionDetail($titleSlug: String!) {\n isCurrentUserAuthenticated\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n questionTitle\n translatedTitle\n questionTitleSlug\n content\n translatedContent\n difficulty\n stats\n allowDiscuss\n contributors\n similarQuestions\n mysqlSchemas\n randomQuestionUrl\n sessionId\n categoryTitle\n submitUrl\n interpretUrl\n codeDefinition\n sampleTestCase\n enableTestMode\n metaData\n enableRunCode\n enableSubmit\n judgerAvailable\n infoVerified\n envInfo\n urlManager\n article\n questionDetailUrl\n libraryUrl\n companyTags {\n name\n slug\n translatedName\n __typename\n }\n topicTags {\n name\n slug\n translatedName\n __typename\n }\n __typename\n }\n interviewed {\n interviewedUrl\n companies {\n id\n name\n slug\n __typename\n }\n timeOptions {\n id\n name\n __typename\n }\n stageOptions {\n id\n name\n __typename\n }\n __typename\n }\n subscribeUrl\n isPremium\n loginUrl\n}\n"}' --compressed > ${TMP_JSON_FILE} - + --data-binary '{"operationName":"questionData","variables":{"titleSlug":"'${2}'"},"query":"query questionData($titleSlug: String!) {\n question(titleSlug: $titleSlug) {\n questionId\n questionFrontendId\n boundTopicId\n title\n titleSlug\n content\n translatedTitle\n translatedContent\n isPaidOnly\n difficulty\n likes\n dislikes\n isLiked\n similarQuestions\n contributors {\n username\n profileUrl\n avatarUrl\n __typename\n }\n langToValidPlayground\n topicTags {\n name\n slug\n translatedName\n __typename\n }\n companyTagStats\n codeSnippets {\n lang\n langSlug\n code\n __typename\n }\n stats\n hints\n solution {\n id\n canSeeDetail\n __typename\n }\n status\n sampleTestCase\n metaData\n judgerAvailable\n judgeType\n mysqlSchemas\n enableRunCode\n enableTestMode\n envInfo\n __typename\n }\n}\n"}' --compressed > ${TMP_JSON_FILE} # xidel change the -q option to -s after 0.9.4 version, so we have to check that # if xidel has -q option, then it will return error. From 00482f1111bb87b6e265216f8eb380af25273753 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 26 Jan 2019 12:54:54 +0800 Subject: [PATCH 173/256] fix the bug with question title --- scripts/lib/query_problem.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/query_problem.sh b/scripts/lib/query_problem.sh index 97a423d26..8c26dc1ea 100644 --- a/scripts/lib/query_problem.sh +++ b/scripts/lib/query_problem.sh @@ -58,7 +58,7 @@ function query_problem() QUESTION_DIFFICULTY=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.difficulty') - QUESTION_TITLE=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.questionTitle') + QUESTION_TITLE=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.title') QUESTION_ID=$(xidel ${OPT} ${TMP_JSON_FILE} -e '$json("data").question.questionId') From f54ad383d87e56659257896f5ed79f2e7460df90 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 26 Jan 2019 12:55:20 +0800 Subject: [PATCH 174/256] optimized the scripts to generate the comments --- scripts/comments.sh | 71 +++++++++++++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index 1c170524d..30b35e721 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -132,35 +132,62 @@ if ! grep -Fq "${COMMENT_TAG} Author :" $source_file ; then fi - +#echo "--------------" #echo "$QUESTION_CONTENT" #echo $QUESTION_DIFFICULTY #echo $QUESTION_TITLE #echo $QUESTION_ID #echo $QUESTION_CATEGORY - +#echo "--------------" + + +function make_comments() { + + # arguments - comment content, style and the outputfile + CONTENT=${1} + STYLE=${2} + OUTPUT_FILE=${3} + + # the width of comments + WIDTH=100 + WIDTH_SEQ=$(seq 1 ${WIDTH}) + + # 1) the `fold` command is used to wrap the text at centain column + # 2) the last two `sed` commands are used to add the comments tags + case ${STYLE} in + clike ) echo "${CONTENT}" | + sed 's/^[[:space:]]*$/'"$(printf '\n')"'/g' | cat -s | # replace the multiple empty line with a single empty line + fold -w ${WIDTH} -s | # wrap the text at centain column + sed 's/^/ * /' | # add the '*' for each line + sed '1i\'$'\n'"/*$(printf '%.0s*' ${WIDTH_SEQ}) "$'\n' | # add the first line - /*********** + sed '2i\'$'\n'"@@@*"$'\n' | sed 's/^@@@/ /g' | # add the second line - * (lead by a space) + sed '$a\'$'\n'"@@@*$(printf '%.0s*' ${WIDTH_SEQ})*/"$'\n'| # add the end line - **********/ + sed 's/^@@@/ /' > ${OUTPUT_FILE} + ;; + script ) echo "${CONTENT}" | + sed 's/^[[:space:]]*$/'"$(printf '\n')"'/g' | cat -s | # replace the multiple empty line with a single empty line + fold -w ${WIDTH} -s | # wrap the text at centain column + sed 's/^/# /' | # add the '*' for each line + sed '1i\'$'\n'"#$(printf '%.0s#' ${WIDTH_SEQ}) "$'\n' | # add the first line - ############ + sed '2i\'$'\n'"#"$'\n' | # add the second line - # + sed '$a\'$'\n'"#$(printf '%.0s#' ${WIDTH_SEQ})"$'\n' > ${OUTPUT_FILE} # add the end line - ############# + ;; + * ) echo "Bad Comment Style!" + exit 1; + esac +} TMP_FILE=/tmp/tmp.txt - -# 1) the `fold` command is used to wrap the text at centain column -# 2) the last two `sed` commands are used to add the comments tags -case $FILE_EXT in - .cpp ) echo "$QUESTION_CONTENT" |\ - grep -v ' ' | sed '/^$/N;/^\n$/D' | fold -w 85 -s |\ - sed 's/^/ * /' | sed '1i\'$'\n'"/*$(printf '%.0s*' {0..85}) "$'\n' |\ - sed '2i\'$'\n''!@#$%'$'\n' | sed 's/!@#$%/ */' | \ - sed '$a\'$'\n'"*$(printf '%.0s*' {0..85})*/"$'\n'| \ - sed 's/^*/ /' > ${TMP_FILE} - ;; - .sh ) echo "$QUESTION_CONTENT" |\ - grep -v ' ' |sed '/^$/N;/^\n$/D' | fold -w 85 -s| \ - sed 's/^/# /' | sed '1i\'$'\n'"#$(printf '%.0s#' {0..85}) "$'\n' | \ - sed '2i\'$'\n''#'$'\n' | sed '$a\'$'\n'"#$(printf '%.0s#' {0..85})"$'\n'\ - > ${TMP_FILE} - ;; - * ) echo "Bad file extension!" - exit 1; - +case ${FILE_EXT} in + .c | .cpp | .java ) + make_comments "${QUESTION_CONTENT}" clike "${TMP_FILE}" + ;; + .sh | .py ) + make_comments "${QUESTION_CONTENT}" script "${TMP_FILE}" + ;; + * ) + echo "Bad file extension!" + exit 1; esac #remove the ^M chars From d73a5a0a2dab7ac5fda9b288306bf3e80a0afa53 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 27 Jan 2019 11:24:19 +0800 Subject: [PATCH 175/256] New Solution "Longest Turbulent Subarray" --- README.md | 2 +- .../LongestTurbulentSubarray.cpp | 138 ++++++++++++++++++ 2 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp diff --git a/README.md b/README.md index fea13bb72..f23ab8bc2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | -|978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| +|978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| |971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| diff --git a/algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp b/algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp new file mode 100644 index 000000000..a38edfb46 --- /dev/null +++ b/algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp @@ -0,0 +1,138 @@ +// Source : https://leetcode.com/problems/longest-turbulent-subarray/ +// Author : Hao Chen +// Date : 2019-01-26 + +/***************************************************************************************************** + * + * A subarray A[i], A[i+1], ..., A[j] of A is said to be turbulent if and only if: + * + * For i <= k < j, A[k] > A[k+1] when k is odd, and A[k] < A[k+1] when k is even; + * OR, for i <= k < j, A[k] > A[k+1] when k is even, and A[k] < A[k+1] when k is odd. + * + * That is, the subarray is turbulent if the comparison sign flips between each adjacent pair of + * elements in the subarray. + * + * Return the length of a maximum size turbulent subarray of A. + * + * Example 1: + * + * Input: [9,4,2,10,7,8,8,1,9] + * Output: 5 + * Explanation: (A[1] > A[2] < A[3] > A[4] < A[5]) + * + * Example 2: + * + * Input: [4,8,12,16] + * Output: 2 + * + * Example 3: + * + * Input: [100] + * Output: 1 + * + * Note: + * + * 1 <= A.length <= 40000 + * 0 <= A[i] <= 109 + * + ******************************************************************************************************/ +class Solution { +public: + + int maxTurbulenceSize_01(vector& A) { + + if (A.size() <= 1) return A.size(); + + // declare status to mark the current pair status is go up or go down. + enum Status { + up, + down, + none + } s = none; + + int maxlen = 1; + int len = 1; + + for (int i=1; i< A.size(); i++) { + + // if there is a pair is equal, reset the status + if ( A[i] == A[i-1] ) { + s = none; + continue; + } + + // init the first status + if ( s == none ) { + s = A[i] > A[i-1] ? up : down; + len = 2; + continue; + } + + // keep tracking the status + // make sure the status is zigzag pattern...up-down-up-down... + if ( s == up ) { + if ( A[i] < A[i-1] ) { + len++; + s = down; + }else{ + len=2; + } + }else{ + if ( A[i] > A[i-1] ) { + len++; + s = up; + }else{ + len=2; + } + } + + maxlen = len > maxlen ? len : maxlen; + + } + return maxlen; + } + + // The previous solution is quite straight forward, but the code is a bit complcated + // the following solution tries to use another way to make the code simpler. + // + // Then, we need to tracking the previous length of the zigzag pattern. + // + // And we have to tacking the length for both UP and DOWN patterns + // + // - UP means the previous status goes up. and the previous length of the zigzog pattern. + // - DOWN is same. + // + // So, + // + // - if the previous is UP, then the previous DWON must be 1, and vice versa. + // + // - the current UP could be two values : 1 or DOWN + 1 , and vice versa. + // - if A[k] > A[k-1], UP = DWON +1, otherwise UP = 1 + // - if A[K] < A[K-1], DOWN = UP + 1, otherise DOWN = 1 + // + int maxTurbulenceSize_02(vector& A) { + + if (A.size() <= 1) return A.size(); + + int up = 1; + int down = 1; + int maxlen = 1; + + for (int k=1; k A[k-1]) ? d + 1 : 1; + down = (A[k] < A[k-1]) ? u + 1 : 1; + + int len = down > up ? down : up; + maxlen = len > maxlen ? len : maxlen; + } + return maxlen; + } + + int maxTurbulenceSize(vector& A) { + return maxTurbulenceSize_02(A); + return maxTurbulenceSize_01(A); + } +}; From 35ecea39423c505272effa67969f2022ee02fa02 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 29 Jan 2019 14:34:27 +0800 Subject: [PATCH 176/256] New Problem Solution "String Without AAA or BBB" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f23ab8bc2..8e5202f56 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| From bcb337f272d1306738aec5e6b9dc15ce5c796391 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 29 Jan 2019 15:42:40 +0800 Subject: [PATCH 177/256] New Problem Solution "Minimum Cost For Tickets" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e5202f56..7f49707ce 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| +|983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| From d675cfa540adbb14d3303beacaa2a1451b9cf061 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 29 Jan 2019 15:44:58 +0800 Subject: [PATCH 178/256] missed coommit the source files --- .../MinimumCostForTickets.cpp | 99 +++++++++++++++++++ .../StringWithoutAAAOrBBB.cpp | 77 +++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp create mode 100644 algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp diff --git a/algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp b/algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp new file mode 100644 index 000000000..79dff08f1 --- /dev/null +++ b/algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp @@ -0,0 +1,99 @@ +// Source : https://leetcode.com/problems/minimum-cost-for-tickets/ +// Author : Hao Chen +// Date : 2019-01-29 + +/***************************************************************************************************** + * + * In a country popular for train travel, you have planned some train travelling one year in advance. + * The days of the year that you will travel is given as an array days. Each day is an integer from 1 + * to 365. + * + * Train tickets are sold in 3 different ways: + * + * a 1-day pass is sold for costs[0] dollars; + * a 7-day pass is sold for costs[1] dollars; + * a 30-day pass is sold for costs[2] dollars. + * + * The passes allow that many days of consecutive travel. For example, if we get a 7-day pass on day + * 2, then we can travel for 7 days: day 2, 3, 4, 5, 6, 7, and 8. + * + * Return the minimum number of dollars you need to travel every day in the given list of days. + * + * Example 1: + * + * Input: days = [1,4,6,7,8,20], costs = [2,7,15] + * Output: 11 + * Explanation: + * For example, here is one way to buy passes that lets you travel your travel plan: + * On day 1, you bought a 1-day pass for costs[0] = $2, which covered day 1. + * On day 3, you bought a 7-day pass for costs[1] = $7, which covered days 3, 4, ..., 9. + * On day 20, you bought a 1-day pass for costs[0] = $2, which covered day 20. + * In total you spent $11 and covered all the days of your travel. + * + * Example 2: + * + * Input: days = [1,2,3,4,5,6,7,8,9,10,30,31], costs = [2,7,15] + * Output: 17 + * Explanation: + * For example, here is one way to buy passes that lets you travel your travel plan: + * On day 1, you bought a 30-day pass for costs[2] = $15 which covered days 1, 2, ..., 30. + * On day 31, you bought a 1-day pass for costs[0] = $2 which covered day 31. + * In total you spent $17 and covered all the days of your travel. + * + * Note: + * + * 1 <= days.length <= 365 + * 1 <= days[i] <= 365 + * days is in strictly increasing order. + * costs.length == 3 + * 1 <= costs[i] <= 1000 + * + ******************************************************************************************************/ + +class Solution { +private: + int min(int x, int y){ + return x < y ? x : y; + } + int min(int x, int y, int z) { + return min(min(x, y), z); + } +public: + int mincostTickets(vector& days, vector& costs) { + + // Dynamic Programming + vector dp(days.size(), INT_MAX); + + // dp[i] is the minimal cost from Days[0] to Days[i] + dp[0] = costs[0]; + + for (int i = 1; i< days.size(); i ++) { + + // the currnet day need at least 1-day pass cost + int OneDayPass = dp[i-1] + costs[0]; + + // Seprating the array to two parts. + // days[0] -> days[j] -> day[i] + // + // calculate the day[i] - day[j] whether can use 7-day pass or 30-day pass + // + // Traking the minimal costs, then can have dp[i] minimal cost + + int SevenDayPass = INT_MAX, ThrityDayPass = INT_MAX; + for (int j=i-1; j>=0; j--){ + if (days[i] - days[j] < 7 ) { + SevenDayPass = dp[j-1] + costs[1]; + } else if (days[i] - days[j] < 30 ) { + ThrityDayPass = dp[j-1] + costs[2]; + } else { + break; + } + int m = min(OneDayPass, SevenDayPass, ThrityDayPass); + if ( dp[i] > m ) dp[i] = m; + } + + } + + return dp[dp.size()-1]; + } +}; diff --git a/algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp b/algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp new file mode 100644 index 000000000..8609aabff --- /dev/null +++ b/algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp @@ -0,0 +1,77 @@ +// Source : https://leetcode.com/problems/string-without-aaa-or-bbb/ +// Author : Hao Chen +// Date : 2019-01-29 + +/***************************************************************************************************** + * + * Given two integers A and B, return any string S such that: + * + * S has length A + B and contains exactly A 'a' letters, and exactly B 'b' letters; + * The substring 'aaa' does not occur in S; + * The substring 'bbb' does not occur in S. + * + * Example 1: + * + * Input: A = 1, B = 2 + * Output: "abb" + * Explanation: "abb", "bab" and "bba" are all correct answers. + * + * Example 2: + * + * Input: A = 4, B = 1 + * Output: "aabaa" + * + * Note: + * + * 0 <= A <= 100 + * 0 <= B <= 100 + * It is guaranteed such an S exists for the given A and B. + ******************************************************************************************************/ + +class Solution { +public: + string strWithout3a3b(int A, int B) { + + string result; + while (true){ + + // if A == B, then just simpley repeat "ab" pattern; + if (A == B) { + for ( int i=0; i 0 ) result += 'a'; + while ( B-- > 0 ) result += 'b'; + break; + } + + // if A+B >=3 and A !=B + + // if A > B, then we need consume 'a' more than 'b' + // So, only "aab" can be used. + if ( A > B ) { + result += "aab"; + A -= 2; + B--; + continue; + } + + // if A > B, then we need consume 'b' more than 'a' + // So, only "bba" can be used. + if (B > A ){ + result += "bba"; + B-=2; + A--; + continue; + } + + } + + return result; + } +}; From 50a6de1f9dcb48f488d3f8a9537de44c8d109927 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 10:49:31 +0800 Subject: [PATCH 179/256] New Problem Solution "Time Based Key-Value Store" --- README.md | 1 + .../TimeBasedKeyValueStore.cpp | 84 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp diff --git a/README.md b/README.md index 7f49707ce..3608ad1c8 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ LeetCode |---| ----- | -------- | ---------- | |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| +|981|[Time Based Key-Value Store](https://leetcode.com/problems/time-based-key-value-store/) | [C++](./algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp)|Medium| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| diff --git a/algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp b/algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp new file mode 100644 index 000000000..16783b495 --- /dev/null +++ b/algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp @@ -0,0 +1,84 @@ +// Source : https://leetcode.com/problems/time-based-key-value-store/ +// Author : Hao Chen +// Date : 2019-01-30 + +/***************************************************************************************************** + * + * Create a timebased key-value store class Timeap, that supports two operations. + * + * 1. set(string key, string value, int timestamp) + * + * Stores the key and value, along with the given timestamp. + * + * 2. get(string key, int timestamp) + * + * Returns a value such that set(key, value, timestamp_prev) was called previously, with + * timestamp_prev <= timestamp. + * If there are multiple such values, it returns the one with the largest timestamp_prev. + * If there are no values, it returns the empty string (""). + * + * Example 1: + * + * Input: inputs = ["Timeap","set","get","get","set","get","get"], inputs = + * [[],["foo","bar",1],["foo",1],["foo",3],["foo","bar2",4],["foo",4],["foo",5]] + * Output: [null,null,"bar","bar",null,"bar2","bar2"] + * Explanation: + * Timeap kv; + * kv.set("foo", "bar", 1); // store the key "foo" and value "bar" along with timestamp = 1 + * kv.get("foo", 1); // output "bar" + * kv.get("foo", 3); // output "bar" since there is no value corresponding to foo at timestamp 3 and + * timestamp 2, then the only value is at timestamp 1 ie "bar" + * kv.set("foo", "bar2", 4); + * kv.get("foo", 4); // output "bar2" + * kv.get("foo", 5); //output "bar2" + * + * Example 2: + * + * Input: inputs = ["Timeap","set","set","get","get","get","get","get"], inputs = + * [[],["love","high",10],["love","low",20],["love",5],["love",10],["love",15],["love",20],["love",25]] + * Output: [null,null,null,"","high","high","low","low"] + * + * Note: + * + * All key/value strings are lowercase. + * All key/value strings have length in the range [1, 100] + * The timestamps for all Timeap.set operations are strictly increasing. + * 1 <= timestamp <= 107 + * Timeap.set and Timeap.get functions will be called a total of 120000 times (combined) per + * test case. + ******************************************************************************************************/ + +class TimeMap { +private: + unordered_map> key_time; + unordered_map time_value; +public: + /** Initialize your data structure here. */ + TimeMap() { + + } + + void set(string key, string value, int timestamp) { + key_time[key].insert(timestamp); + time_value[timestamp] = value; + } + + string get(string key, int timestamp) { + if ( key_time.find(key) == key_time.end() ) return ""; + auto it = key_time[key].lower_bound(timestamp); + if ( *it == timestamp ) return time_value[*it]; + if ( it != key_time[key].begin() ) { + it--; + return time_value[*it]; + } + return ""; + } +}; + + +/** + * Your TimeMap object will be instantiated and called as such: + * TimeMap* obj = new TimeMap(); + * obj->set(key,value,timestamp); + * string param_2 = obj->get(key,timestamp); + */ From ef13f1ec4eb0ffd6915fc700fc735db030cd9450 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 11:53:28 +0800 Subject: [PATCH 180/256] New Problem Solution "Palindromic Substrings" --- README.md | 1 + .../PalindromicSubstrings.cpp | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 algorithms/cpp/palindromicSubstrings/PalindromicSubstrings.cpp diff --git a/README.md b/README.md index 3608ad1c8..9c17acc5f 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ LeetCode |661|[Image Smoother](https://leetcode.com/problems/image-smoother/) | [Python](./algorithms/python/ImageSmoother/imageSmoother.py)|Easy| |655|[Print Binary Tree](https://leetcode.com/problems/print-binary-tree/) | [Python](./algorithms/python/PrintBinaryTree/printTree.py)|Medium| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/) | [Python](./algorithms/python/FindDuplicateSubtrees/findDuplicateSubtrees.py)|Medium| +|647|[Palindromic Substrings](https://leetcode.com/problems/palindromic-substrings/) | [C++](./algorithms/cpp/palindromicSubstrings/PalindromicSubstrings.cpp)|Medium| |643|[Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) | [C++](./algorithms/cpp/maximumAverageSubarray/MaximumAverageSubarray.I.cpp), [Python](./algorithms/python/MaximumAverageSubarrayI/findMaxAverage.py)|Easy| |628|[Maximum Product of Three Numbers](https://leetcode.com/problems/maximum-product-of-three-numbers/) | [Python](./algorithms/python/MaximumProductOfThreeNumbers/maximumProduct.py)|Easy| |623|[Add One Row to Tree](https://leetcode.com/problems/add-one-row-to-tree/) | [Python](./algorithms/python/AddOneRowToTree/addOneRow.py)|Medium| diff --git a/algorithms/cpp/palindromicSubstrings/PalindromicSubstrings.cpp b/algorithms/cpp/palindromicSubstrings/PalindromicSubstrings.cpp new file mode 100644 index 000000000..ec282867b --- /dev/null +++ b/algorithms/cpp/palindromicSubstrings/PalindromicSubstrings.cpp @@ -0,0 +1,51 @@ +// Source : https://leetcode.com/problems/palindromic-substrings/ +// Author : Hao Chen +// Date : 2019-01-30 + +/***************************************************************************************************** + * + * + * Given a string, your task is to count how many palindromic substrings in this string. + * + * The substrings with different start indexes or end indexes are counted as different substrings even + * they consist of same characters. + * + * Example 1: + * + * Input: "abc" + * Output: 3 + * Explanation: Three palindromic strings: "a", "b", "c". + * + * Example 2: + * + * Input: "aaa" + * Output: 6 + * Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa". + * + * Note: + * + * The input string length won't exceed 1000. + * + ******************************************************************************************************/ +class Solution { +public: + int countSubstrings(string s) { + int len = s.size(); + if (len<=1) return len; + + vector< vector > dp(len, vector(len, false)); + + int cnt = 0; + for( int i=len-1; i>=0; i--) { + for (int j=i; j<=len-1; j++) { + if ( i == j || ( s[i] == s[j] && ( j-i<2 || dp[i+1][j-1]) ) ) { + dp[i][j] = true; + cnt++; + } + } + } + + return cnt; + + } +}; From e1012ef848f4e62e1bdc599874a506044cb7cd0b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 12:19:45 +0800 Subject: [PATCH 181/256] New Problem Solution "Minimum Falling Path Sum" --- README.md | 1 + .../MinimumFallingPathSum.cpp | 64 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp diff --git a/README.md b/README.md index 9c17acc5f..e4b66ad00 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ LeetCode |951|[Flip Equivalent Binary Trees](https://leetcode.com/problems/flip-equivalent-binary-trees/) | [Python](./algorithms/python/FlipEquivalentBinaryTrees/flipEquiv.py)|Medium| |950|[Reveal Cards In Increasing Order](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Python](./algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py)|Medium| |941|[Valid Mountain Array](https://leetcode.com/problems/valid-mountain-array/) | [Python](./algorithms/python/ValidMountainArray/validMountainArray.py)|Easy| +|931|[Minimum Falling Path Sum](https://leetcode.com/problems/minimum-falling-path-sum/) | [C++](./algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp)|Medium| |914|[X of a Kind in a Deck of Cards](https://leetcode.com/problems/x-of-a-kind-in-a-deck-of-cards/) | [Python](./algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py)|Easy| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| diff --git a/algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp b/algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp new file mode 100644 index 000000000..6ce6817d1 --- /dev/null +++ b/algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp @@ -0,0 +1,64 @@ +// Source : https://leetcode.com/problems/minimum-falling-path-sum/ +// Author : Hao Chen +// Date : 2019-01-30 + +/***************************************************************************************************** + * + * Given a square array of integers A, we want the minimum sum of a falling path through A. + * + * A falling path starts at any element in the first row, and chooses one element from each row. The + * next row's choice must be in a column that is different from the previous row's column by at most + * one. + * + * Example 1: + * + * Input: [[1,2,3],[4,5,6],[7,8,9]] + * Output: 12 + * Explanation: + * The possible falling paths are: + * + * [1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9] + * [2,4,7], [2,4,8], [2,5,7], [2,5,8], [2,5,9], [2,6,8], [2,6,9] + * [3,5,7], [3,5,8], [3,5,9], [3,6,8], [3,6,9] + * + * The falling path with the smallest sum is [1,4,7], so the answer is 12. + * + * Note: + * + * 1 <= A.length == A[0].length <= 100 + * -100 <= A[i][j] <= 100 + ******************************************************************************************************/ +class Solution { +private: + int min(int x, int y) { + return x < y ? x: y; + } + int min( int x, int y, int z) { + return min(min(x, y),z); + } +public: + int minFallingPathSum(vector>& A) { + int m = INT_MAX; + + for (int i=0; i 0) { + if (j == 0 ){ + A[i][j] += min( A[i-1][j], A[i-1][j+1]); + } else if ( j + 1 == A[i].size()) { + A[i][j] += min( A[i-1][j], A[i-1][j-1]); + }else { + A[i][j] += min( A[i-1][j], A[i-1][j-1], A[i-1][j+1]); + } + } + + if ( i + 1 == A.size() ) { + m = min(m, A[i][j]); + } + } + } + + return m; + } +}; From b0daa57ffd459e5abff4698a845cf22f70ee708a Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 15:16:14 +0800 Subject: [PATCH 182/256] New Problem Solution "Minimum ASCII Delete Sum for Two String" --- README.md | 1 + .../MinimumAsciiDeleteSumForTwoStrings.cpp | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp diff --git a/README.md b/README.md index e4b66ad00..7a8d85c39 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ LeetCode |747|[Largest Number At Least Twice of Others](https://leetcode.com/problems/largest-number-at-least-twice-of-others/) | [Python](./algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py)|Easy| |746|[Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [Python](./algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py)|Easy| |717|[1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/) | [Python](./algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py)|Easy| +|712|[Minimum ASCII Delete Sum for Two Strings](https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/) | [C++](./algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp)|Medium| |687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/) | [Python](./algorithms/python/LongestUnivaluePath/longestUnivaluePath.py)|Easy| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| |674|[Longest Continuous Increasing Subsequence](https://leetcode.com/problems/longest-continuous-increasing-subsequence/) | [Python](./algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py)|Easy| diff --git a/algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp b/algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp new file mode 100644 index 000000000..dc4de5933 --- /dev/null +++ b/algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp @@ -0,0 +1,55 @@ +// Source : https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/ +// Author : Hao Chen +// Date : 2019-01-30 + +/***************************************************************************************************** + * + * Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. + * + * Example 1: + * + * Input: s1 = "sea", s2 = "eat" + * Output: 231 + * Explanation: Deleting "s" from "sea" adds the ASCII value of "s" (115) to the sum. + * Deleting "t" from "eat" adds 116 to the sum. + * At the end, both strings are equal, and 115 + 116 = 231 is the minimum sum possible to achieve this. + * + * Example 2: + * + * Input: s1 = "delete", s2 = "leet" + * Output: 403 + * Explanation: Deleting "dee" from "delete" to turn the string into "let", + * adds 100[d]+101[e]+101[e] to the sum. Deleting "e" from "leet" adds 101[e] to the sum. + * At the end, both strings are equal to "let", and the answer is 100+101+101+101 = 403. + * If instead we turned both strings into "lee" or "eet", we would get answers of 433 or 417, which + * are higher. + * + * Note: + * 0 . + * All elements of each string will have an ASCII value in [97, 122]. + ******************************************************************************************************/ + +class Solution { +public: + int minimumDeleteSum(string s1, string s2) { + // Dynamic Programm - simlar with : Edit Distance + vector < vector > dp ( s1.size()+1, vector( s2.size()+1, 0) ); + + // s1 is row, s2 is column + for (int i=1; i<=s2.size(); i++) dp[0][i] = dp[0][i-1] + s2[i-1]; + for (int i=1; i<=s1.size(); i++) dp[i][0] = dp[i-1][0] + s1[i-1]; + + for (int i=1; i<=s1.size(); i++){ + for (int j=1; j<=s2.size(); j++) { + if ( s1[i-1] == s2[j-1] ) { + dp[i][j] = dp[i-1][j-1]; + }else{ + dp[i][j] = min(dp[i-1][j] + s1[i-1], dp[i][j-1] + s2[j-1]); + } + } + } + + return dp[s1.size()][s2.size()]; + + } +}; From 0f15689db54476ed514975bd5c70cca930d65e46 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 15:20:00 +0800 Subject: [PATCH 183/256] fix #165 - correct the difficulty level --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a8d85c39..48a901e91 100644 --- a/README.md +++ b/README.md @@ -379,7 +379,7 @@ LeetCode |4|[Median of Two Sorted Arrays](https://oj.leetcode.com/problems/median-of-two-sorted-arrays/)| [C++](./algorithms/cpp/medianOfTwoSortedArrays/medianOfTwoSortedArrays.cpp)|Hard| |3|[Longest Substring Without Repeating Characters](https://oj.leetcode.com/problems/longest-substring-without-repeating-characters/)| [C++](./algorithms/cpp/longestSubstringWithoutRepeatingCharacters/longestSubstringWithoutRepeatingCharacters.cpp)|Medium| |2|[Add Two Numbers](https://oj.leetcode.com/problems/add-two-numbers/)| [C++](./algorithms/cpp/addTwoNumbers/addTwoNumbers.cpp)|Medium| -|1|[Two Sum](https://oj.leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)|Medium| +|1|[Two Sum](https://oj.leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)|Easy| ### LeetCode Shell From 6fcccec82acce8f7b24858a3510dbf0ab8ae0488 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 15:26:27 +0800 Subject: [PATCH 184/256] correct the link from "https://oj.leetcode.com/" to "https://leetcode.com/" --- README.md | 364 +++++++++++++++++++++++++++--------------------------- 1 file changed, 182 insertions(+), 182 deletions(-) diff --git a/README.md b/README.md index 48a901e91..6fda54810 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ LeetCode |232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [C++](./algorithms/cpp/implementQueueUsingStacks/ImplementQueueUsingStacks.cpp), [Java](./algorithms/java/src/myQueue/MyQueue.java)|Easy| |231|[Power of Two](https://leetcode.com/problems/power-of-two/)| [C++](./algorithms/cpp/powerOfTwo/PowerOfTwo.cpp)|Easy| |230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [C++](./algorithms/cpp/kthSmallestElementInaBST/KthSmallestElementInABst.cpp), [Python](./algorithms/python/KthSmallestElementInABST/kthSmallest.py)|Medium| -|229|[Majority Element II](https://oj.leetcode.com/problems/majority-element-ii/) | [C++](./algorithms/cpp/majorityElement/majorityElement.II.cpp)|Medium| +|229|[Majority Element II](https://leetcode.com/problems/majority-element-ii/) | [C++](./algorithms/cpp/majorityElement/majorityElement.II.cpp)|Medium| |228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [C++](./algorithms/cpp/summaryRanges/SummaryRanges.cpp)|Easy| |227|[Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/)| [C++](./algorithms/cpp/basicCalculator/BasicCalculator.II.cpp)|Medium| |226|[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)| [C++](./algorithms/cpp/invertBinaryTree/InvertBinaryTree.cpp)|Easy| @@ -199,187 +199,187 @@ LeetCode |200|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [C++](./algorithms/cpp/numberOfIslands/NumberOfIslands.cpp), [Python](./algorithms/python/NumberOfIslands/numIslands.py)|Medium| |199|[Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)| [C++](./algorithms/cpp/binaryTreeRightSideView/binaryTreeRightSideView.cpp)|Medium| |198|[House Robber](https://leetcode.com/problems/house-robber/)| [C++](./algorithms/cpp/houseRobber/houseRobber.cpp), [Python](./algorithms/python/HouseRobber/rob.py)|Easy| -|191|[Number of 1 Bits](https://oj.leetcode.com/problems/number-of-1-bits/)| [C++](./algorithms/cpp/numberOf1Bits/numberOf1Bits.cpp)|Easy| -|190|[Reverse Bits](https://oj.leetcode.com/problems/reverse-bits/)| [C++](./algorithms/cpp/reverseBits/reverseBits.cpp)|Easy| -|189|[Rotate Array](https://oj.leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp), [Java](./algorithms/java/src/rotateArray/RotateArray.java)|Easy| -|188|[Best Time to Buy and Sell Stock IV](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp)|Hard| -|187|[Repeated DNA Sequences](https://oj.leetcode.com/problems/repeated-dna-sequences/)| [C++](./algorithms/cpp/repeatedDNASequences/repeatedDNASequences.cpp)|Medium| -|186|[Reverse Words in a String II](https://oj.leetcode.com/problems/reverse-words-in-a-string-ii/) ♥ | [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.II.cpp)|Medium| -|179|[Largest Number](https://oj.leetcode.com/problems/largest-number/) | [C++](./algorithms/cpp/largestNumber/largestNumber.cpp)|Medium| -|174|[Dungeon Game](https://oj.leetcode.com/problems/dungeon-game/) | [C++](./algorithms/cpp/dungeonGame/dungeonGame.cpp)|Hard| -|173|[Binary Search Tree Iterator](https://oj.leetcode.com/problems/binary-search-tree-iterator/) | [C++](./algorithms/cpp/binarySearchTreeIterator/binarySearchTreeIterator.cpp), [Java](./algorithms/java/src/binarySearchTreeIterator/binarySearchTreeIterator.java), [Python](./algorithms/python/BinarySearchTreeIterator/BSTIterator.py)|Medium| -|172|[Factorial Trailing Zeroes](https://oj.leetcode.com/problems/factorial-trailing-zeroes/) | [C++](./algorithms/cpp/factorialTrailingZeroes/factorialTrailingZeroes.cpp)|Easy| -|171|[Excel Sheet Column Number](https://oj.leetcode.com/problems/excel-sheet-column-number/) | [C++](./algorithms/cpp/excelSheetColumnNumber/excelSheetColumnNumber.cpp)|Easy| -|170|[Two Sum III - Data structure design](https://oj.leetcode.com/problems/two-sum-iii-data-structure-design/) ♥ | [C++](./algorithms/cpp/twoSum/twoSum.III.cpp)|Easy| -|169|[Majority Element](https://oj.leetcode.com/problems/majority-element/) | [C++](./algorithms/cpp/majorityElement/majorityElement.cpp)|Easy| -|168|[Excel Sheet Column Title](https://oj.leetcode.com/problems/excel-sheet-column-title/) | [C++](./algorithms/cpp/excelSheetColumnTitle/excelSheetColumnTitle.cpp)|Easy| -|167|[Two Sum II - Input array is sorted](https://oj.leetcode.com/problems/two-sum-ii-input-array-is-sorted/) ♥ | [C++](./algorithms/cpp/twoSum/twoSum.II.cpp)|Medium| -|166|[Fraction to Recurring Decimal](https://oj.leetcode.com/problems/fraction-to-recurring-decimal/) | [C++](./algorithms/cpp/fractionToRecurringDecimal/fractionToRecurringDecimal.cpp)|Medium| -|165|[Compare Version Numbers](https://oj.leetcode.com/problems/compare-version-numbers/) | [C++](./algorithms/cpp/compareVersionNumbers/compareVersionNumbers.cpp)|Easy| -|164|[Maximum Gap](https://oj.leetcode.com/problems/maximum-gap/) | [C++](./algorithms/cpp/maximumGap/maximumGap.cpp)|Hard| -|163|[Missing Ranges](https://oj.leetcode.com/problems/missing-ranges/) ♥ | [C++](./algorithms/cpp/missingRanges/missingRanges.cpp)|Medium| -|162|[Find Peak Element](https://oj.leetcode.com/problems/find-peak-element/) | [C++](./algorithms/cpp/findPeakElement/findPeakElement.cpp), [Java](./algorithms/java/src/findPeakElement/findPeakElement.java)|Medium| -|161|[One Edit Distance](https://oj.leetcode.com/problems/one-edit-distance/)♥ | [C++](./algorithms/cpp/oneEditDistance/oneEditDistance.cpp)|Medium| -|160|[Intersection of Two Linked Lists](https://oj.leetcode.com/problems/intersection-of-two-linked-lists/) | [C++](./algorithms/cpp/intersectionOfTwoLinkedLists/intersectionOfTwoLinkedLists.cpp)|Easy| -|159|[Longest Substring with At Most Two Distinct Characters](https://oj.leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/) ♥ | [C++](./algorithms/cpp/longestSubstringWithAtMostTwoDistinctCharacters/longestSubstringWithAtMostTwoDistinctCharacters.cpp)|Hard| -|158|[Read N Characters Given Read4 II - Call multiple times](https://oj.leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.II.cpp)|Hard| -|157|[Read N Characters Given Read4](https://oj.leetcode.com/problems/read-n-characters-given-read4/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.cpp)|Easy| -|156|[Binary Tree Upside Down](https://oj.leetcode.com/problems/binary-tree-upside-down/) ♥ | [C++](./algorithms/cpp/binaryTreeUpsideDown/binaryTreeUpsideDown.cpp)|Medium| -|155|[Min Stack](https://oj.leetcode.com/problems/min-stack/)| [C++](./algorithms/cpp/minStack/minStack.cpp), [Java](./algorithms/java/src/minStack/MinStack.java)|Easy| -|154|[Find Minimum in Rotated Sorted Array II](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.II.cpp)|Hard| -|153|[Find Minimum in Rotated Sorted Array](https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp), [Java](./algorithms/java/src/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.java)|Medium| -|152|[Maximum Product Subarray](https://oj.leetcode.com/problems/maximum-product-subarray/)| [C++](./algorithms/cpp/maximumProductSubarray/maximumProductSubarray.cpp)|Medium| -|151|[Reverse Words in a String](https://oj.leetcode.com/problems/reverse-words-in-a-string/)| [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp), [Java](./algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java)|Medium| -|150|[Evaluate Reverse Polish Notation](https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/)| [C++](./algorithms/cpp/evaluateReversePolishNotation/evaluateReversePolishNotation.cpp)|Medium| -|149|[Max Points on a Line](https://oj.leetcode.com/problems/max-points-on-a-line/)| [C++](./algorithms/cpp/maxPointsOnALine/maxPointsOnALine.cpp)|Hard| -|148|[Sort List](https://oj.leetcode.com/problems/sort-list/)| [C++](./algorithms/cpp/sortList/sortList.cpp), [Python](./algorithms/python/SortList/sortList.py)|Medium| -|147|[Insertion Sort List](https://oj.leetcode.com/problems/insertion-sort-list/)| [C++](./algorithms/cpp/insertionSortList/insertionSortList.cpp), [Python](./algorithms/python/InsertionSortList/insertionSortList.py)|Medium| -|146|[LRU Cache](https://oj.leetcode.com/problems/lru-cache/)| [C++](./algorithms/cpp/LRUCache/LRUCache.cpp), [Java](./algorithms/java/src/lruCache/LRUCache.java)|Hard| -|145|[Binary Tree Postorder Traversal](https://oj.leetcode.com/problems/binary-tree-postorder-traversal/)| [C++](./algorithms/cpp/binaryTreePostorderTraversal/binaryTreePostorderTraversal.cpp), [Python](./algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py)|Hard| -|144|[Binary Tree Preorder Traversal](https://oj.leetcode.com/problems/binary-tree-preorder-traversal/)| [C++](./algorithms/cpp/binaryTreePreorderTraversal/binaryTreePreorderTraversal.cpp), [Java](./algorithms/java/src/binaryTreePreorderTraversal/binaryTreePreorderTraversal.java)|Medium| -|143|[Reorder List](https://oj.leetcode.com/problems/reorder-list/)| [C++](./algorithms/cpp/reorderList/reorderList.cpp), [Python](./algorithms/python/ReorderList/reorderList.py)|Medium| -|142|[Linked List Cycle II](https://oj.leetcode.com/problems/linked-list-cycle-ii/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.II.cpp), [Python](./algorithms/python/LinkedListCycleII/detectCycle.py)|Medium| -|141|[Linked List Cycle](https://oj.leetcode.com/problems/linked-list-cycle/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.cpp)|Medium| -|140|[Word Break II](https://oj.leetcode.com/problems/word-break-ii/)| [C++](./algorithms/cpp/wordBreak/wordBreak.II.cpp)|Hard| -|139|[Word Break](https://oj.leetcode.com/problems/word-break/)| [C++](./algorithms/cpp/wordBreak/wordBreak.cpp)|Medium| -|138|[Copy List with Random Pointer](https://oj.leetcode.com/problems/copy-list-with-random-pointer/)| [C++](./algorithms/cpp/copyListWithRandomPointer/copyListWithRandomPointer.cpp), [Python](./algorithms/python/CopyListWithRandomPointer/copyRandomList.py)|Hard| -|137|[Single Number II](https://oj.leetcode.com/problems/single-number-ii/)| [C++](./algorithms/cpp/singleNumber/singleNumber.II.cpp)|Medium| -|136|[Single Number](https://oj.leetcode.com/problems/single-number/)| [C++](./algorithms/cpp/singleNumber/singleNumber.cpp)|Medium| -|135|[Candy](https://oj.leetcode.com/problems/candy/)| [C++](./algorithms/cpp/candy/candy.cpp)|Hard| -|134|[Gas Station](https://oj.leetcode.com/problems/gas-station/)| [C++](./algorithms/cpp/gasStation/gasStation.cpp)|Medium| -|133|[Clone Graph](https://oj.leetcode.com/problems/clone-graph/)| [C++](./algorithms/cpp/cloneGraph/cloneGraph.cpp)|Medium| -|132|[Palindrome Partitioning II](https://oj.leetcode.com/problems/palindrome-partitioning-ii/)| [C++](./algorithms/cpp/palindromePartitioning/palindromePartitioning.II.cpp)|Hard| -|131|[Palindrome Partitioning](https://oj.leetcode.com/problems/palindrome-partitioning/)| [C++](./algorithms/cpp/palindromePartitioning/palindromePartitioning.cpp)|Medium| -|130|[Surrounded Regions](https://oj.leetcode.com/problems/surrounded-regions/)| [C++](./algorithms/cpp/surroundedRegions/surroundedRegions.cpp)|Medium| -|129|[Sum Root to Leaf Numbers](https://oj.leetcode.com/problems/sum-root-to-leaf-numbers/)| [C++](./algorithms/cpp/sumRootToLeafNumber/sumRootToLeafNumber.cpp), [Python](./algorithms/python/SumRootToLeafNumbers/sumNumbers.py)|Medium| -|128|[Longest Consecutive Sequence](https://oj.leetcode.com/problems/longest-consecutive-sequence/)| [C++](./algorithms/cpp/longestConsecutiveSequence/longestConsecutiveSequence.cpp)|Hard| -|127|[Word Ladder](https://oj.leetcode.com/problems/word-ladder/)| [C++](./algorithms/cpp/wordLadder/wordLadder.cpp)|Medium| -|126|[Word Ladder II](https://oj.leetcode.com/problems/word-ladder-ii/)| [C++](./algorithms/cpp/wordLadder/wordLadder.II.cpp)|Hard| -|125|[Valid Palindrome](https://oj.leetcode.com/problems/valid-palindrome/)| [C++](./algorithms/cpp/validPalindrome/validPalindrome.cpp), [Java](./algorithms/java/src/validPalindrome/ValidPalindrome.java)|Easy| -|124|[Binary Tree Maximum Path Sum](https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/)| [C++](./algorithms/cpp/binaryTreeMaximumPathSum/binaryTreeMaximumPathSum.cpp), [Java](./algorithms/java/src/binaryTreeMaximumPathSum/binaryTreeMaximumPathSum.java)|Hard| -|123|[Best Time to Buy and Sell Stock III](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp)|Hard| -|122|[Best Time to Buy and Sell Stock II](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp)|Medium| -|121|[Best Time to Buy and Sell Stock](https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp)|Medium| -|120|[Triangle](https://oj.leetcode.com/problems/triangle/)| [C++](./algorithms/cpp/triangle/triangle.cpp), [Java](./algorithms/java/src/dynamicProgramming/triangle/triangle.java)|Medium| -|119|[Pascal's Triangle II](https://oj.leetcode.com/problems/pascals-triangle-ii/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.II.cpp)|Easy| -|118|[Pascal's Triangle](https://oj.leetcode.com/problems/pascals-triangle/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.cpp)|Easy| -|117|[Populating Next Right Pointers in Each Node II](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.II.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py)|Hard| -|116|[Populating Next Right Pointers in Each Node](https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNode/connect.py)|Medium| -|115|[Distinct Subsequences](https://oj.leetcode.com/problems/distinct-subsequences/)| [C++](./algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp)|Hard| -|114|[Flatten Binary Tree to Linked List](https://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [C++](./algorithms/cpp/flattenBinaryTreeToLinkedList/flattenBinaryTreeToLinkedList.cpp), [Python](./algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py)|Medium| -|113|[Path Sum II](https://oj.leetcode.com/problems/path-sum-ii/)| [C++](./algorithms/cpp/pathSum/pathSum.II.cpp), [Python](./algorithms/python/PathSumII/pathSum.py)|Medium| -|112|[Path Sum](https://oj.leetcode.com/problems/path-sum/)| [C++](./algorithms/cpp/pathSum/pathSum.cpp)|Easy| -|111|[Minimum Depth of Binary Tree](https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/)| [C++](./algorithms/cpp/minimumDepthOfBinaryTree/minimumDepthOfBinaryTree.cpp)|Easy| -|110|[Balanced Binary Tree](https://oj.leetcode.com/problems/balanced-binary-tree/)| [C++](./algorithms/cpp/balancedBinaryTree/balancedBinaryTree.cpp), [Java](./algorithms/java/src/balancedBinaryTree/balancedBinaryTree.java)|Easy| -|109|[Convert Sorted List to Binary Search Tree](https://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/)| [C++](./algorithms/cpp/convertSortedListToBinarySearchTree/convertSortedListToBinarySearchTree.cpp)|Medium| -|108|[Convert Sorted Array to Binary Search Tree](https://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)| [C++](./algorithms/cpp/convertSortedArrayToBinarySearchTree/convertSortedArrayToBinarySearchTree.cpp)|Medium| -|107|[Binary Tree Level Order Traversal II](https://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.II.cpp)|Easy| -|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromInorderAndPostorderTraversal/constructBinaryTreeFromInorderAndPostorderTraversal.cpp), [Python](./algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py)|Medium| -|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromPreorderAndInorderTraversal/constructBinaryTreeFromPreorderAndInorderTraversal.cpp), [Python](./algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py)|Medium| -|104|[Maximum Depth of Binary Tree](https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/)| [C++](./algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp), [Java](./algorithms/java/src/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.java)|Easy| -|103|[Binary Tree Zigzag Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeZigzagLevelOrderTraversal/binaryTreeZigzagLevelOrderTraversal.cpp), [Python](./algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py)|Medium| -|102|[Binary Tree Level Order Traversal](https://oj.leetcode.com/problems/binary-tree-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.cpp), [Java](./algorithms/java/src/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.java)|Easy| -|101|[Symmetric Tree](https://oj.leetcode.com/problems/symmetric-tree/)| [C++](./algorithms/cpp/symmetricTree/symmetricTree.cpp)|Easy| -|100|[Same Tree](https://oj.leetcode.com/problems/same-tree/)| [C++](./algorithms/cpp/sameTree/sameTree.cpp)|Easy| -|99|[Recover Binary Search Tree](https://oj.leetcode.com/problems/recover-binary-search-tree/)| [C++](./algorithms/cpp/recoverBinarySearchTree/recoverBinarySearchTree.cpp)|Hard| -|98|[Validate Binary Search Tree](https://oj.leetcode.com/problems/validate-binary-search-tree/)| [C++](./algorithms/cpp/validateBinarySearchTree/validateBinarySearchTree.cpp), [Java](./algorithms/java/src/validateBinarySearchTree/validateBinarySearchTree.java), [Python](./algorithms/python/ValidateBinarySearchTree/isValidBST.py)|Medium| -|97|[Interleaving String](https://oj.leetcode.com/problems/interleaving-string/)| [C++](./algorithms/cpp/interleavingString/interleavingString.cpp)|Hard| -|96|[Unique Binary Search Trees](https://oj.leetcode.com/problems/unique-binary-search-trees/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.cpp), [Python](./algorithms/python/UniqueBinarySearchTrees/numTrees.py)|Medium| -|95|[Unique Binary Search Trees II](https://oj.leetcode.com/problems/unique-binary-search-trees-ii/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.II.cpp), [Python](./algorithms/python/UniqueBinarySearchTreesII/generateTrees.py)|Medium| -|94|[Binary Tree Inorder Traversal](https://oj.leetcode.com/problems/binary-tree-inorder-traversal/)| [C++](./algorithms/cpp/binaryTreeInorderTraversal/binaryTreeInorderTraversal.cpp)|Medium| -|93|[Restore IP Addresses](https://oj.leetcode.com/problems/restore-ip-addresses/)| [C++](./algorithms/cpp/restoreIPAddresses/restoreIPAddresses.cpp)|Medium| -|92|[Reverse Linked List II](https://oj.leetcode.com/problems/reverse-linked-list-ii/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.II.cpp), [Java](./algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java), [Python](./algorithms/python/ReverseLinkedListII/reverseBetween.py)|Medium| -|91|[Decode Ways](https://oj.leetcode.com/problems/decode-ways/)| [C++](./algorithms/cpp/decodeWays/decodeWays.cpp)|Medium| -|90|[Subsets II](https://oj.leetcode.com/problems/subsets-ii/)| [C++](./algorithms/cpp/subsets/subsets.II.cpp), [Java](./algorithms/java/src/subsets/subsetsII.java)|Medium| -|89|[Gray Code](https://oj.leetcode.com/problems/gray-code/)| [C++](./algorithms/cpp/grayCode/grayCode.cpp)|Medium| -|88|[Merge Sorted Array](https://oj.leetcode.com/problems/merge-sorted-array/)| [C++](./algorithms/cpp/mergeTwoSortedArray/mergeTwoSortedArray.cpp)|Easy| -|87|[Scramble String](https://oj.leetcode.com/problems/scramble-string/)| [C++](./algorithms/cpp/scrambleString/scrambleString.cpp)|Hard| -|86|[Partition List](https://oj.leetcode.com/problems/partition-list/)| [C++](./algorithms/cpp/partitionList/partitionList.cpp), [Python](./algorithms/python/PartitionList/partition.py)|Medium| -|85|[Maximal Rectangle](https://oj.leetcode.com/problems/maximal-rectangle/)| [C++](./algorithms/cpp/maximalRectangle/maximalRectangle.cpp)|Hard| -|84|[Largest Rectangle in Histogram](https://oj.leetcode.com/problems/largest-rectangle-in-histogram/)| [C++](./algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp)|Hard| -|83|[Remove Duplicates from Sorted List](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.cpp)|Easy| -|82|[Remove Duplicates from Sorted List II](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.II.cpp), [Python](./algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py)|Medium| -|81|[Search in Rotated Sorted Array II](https://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/searchInRotatedSortedArray/searchInRotatedSortedArray.II.cpp)|Medium| -|80|[Remove Duplicates from Sorted Array II](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.II.cpp)|Medium| -|79|[Word Search](https://oj.leetcode.com/problems/word-search/)| [C++](./algorithms/cpp/wordSearch/wordSearch.cpp)|Medium| -|78|[Subsets](https://oj.leetcode.com/problems/subsets/)| [C++](./algorithms/cpp/subsets/subsets.cpp), [Java](./algorithms/java/src/subsets/subsets.java), [Python](./algorithms/python/Subsets/subsets.py)|Medium| -|77|[Combinations](https://oj.leetcode.com/problems/combinations/)| [C++](./algorithms/cpp/combinations/combinations.cpp)|Medium| -|76|[Minimum Window Substring](https://oj.leetcode.com/problems/minimum-window-substring/)| [C++](./algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp)|Hard| -|75|[Sort Colors](https://oj.leetcode.com/problems/sort-colors/)| [C++](./algorithms/cpp/sortColors/sortColors.cpp)|Medium| -|74|[Search a 2D Matrix](https://oj.leetcode.com/problems/search-a-2d-matrix/)| [C++](./algorithms/cpp/search2DMatrix/search2DMatrix.cpp), [Java](./algorithms/java/src/search2DMatrix/search2DMatrix.java)|Medium| -|73|[Set Matrix Zeroes](https://oj.leetcode.com/problems/set-matrix-zeroes/)| [C++](./algorithms/cpp/setMatrixZeroes/setMatrixZeroes.cpp)|Medium| -|72|[Edit Distance](https://oj.leetcode.com/problems/edit-distance/)| [C++](./algorithms/cpp/editDistance/editDistance.cpp)|Hard| -|71|[Simplify Path](https://oj.leetcode.com/problems/simplify-path/)| [C++](./algorithms/cpp/simplifyPath/simplifyPath.cpp)|Medium| -|70|[Climbing Stairs](https://oj.leetcode.com/problems/climbing-stairs/)| [C++](./algorithms/cpp/climbStairs/climbStairs.cpp), [Java](./algorithms/java/src/dynamicProgramming/climbStairs/climbStairs.java)|Easy| -|69|[Sqrt(x)](https://oj.leetcode.com/problems/sqrtx/)| [C++](./algorithms/cpp/sqrt/sqrt.cpp)|Medium| -|68|[Text Justification](https://oj.leetcode.com/problems/text-justification/)| [C++](./algorithms/cpp/textJustification/textJustification.cpp)|Hard| -|67|[Add Binary](https://oj.leetcode.com/problems/add-binary/)| [C++](./algorithms/cpp/addBinary/addBinary.cpp)|Easy| -|66|[Plus One](https://oj.leetcode.com/problems/plus-one/)| [C++](./algorithms/cpp/plusOne/plusOne.cpp)|Easy| -|65|[Valid Number](https://oj.leetcode.com/problems/valid-number/)| [C++](./algorithms/cpp/validNumber/validNumber.cpp)|Easy| -|64|[Minimum Path Sum](https://oj.leetcode.com/problems/minimum-path-sum/)| [C++](./algorithms/cpp/minimumPathSum/minimumPathSum.cpp), [Java](./algorithms/java/src/dynamicProgramming/minimumPathSum/minimumPathSum.java)|Medium| -|63|[Unique Paths II](https://oj.leetcode.com/problems/unique-paths-ii/)| [C++](./algorithms/cpp/uniquePaths/uniquePaths.II.cpp), [Java](./algorithms/java/src/dynamicProgramming/uniquePaths/uniquePathsII.java)|Medium| -|62|[Unique Paths](https://oj.leetcode.com/problems/unique-paths/)| [C++](./algorithms/cpp/uniquePaths/uniquePaths.cpp), [Java](./algorithms/java/src/dynamicProgramming/uniquePaths/uniquePaths.java)|Medium| -|61|[Rotate List](https://oj.leetcode.com/problems/rotate-list/)| [C++](./algorithms/cpp/rotateList/rotateList.cpp)|Medium| -|60|[Permutation Sequence](https://oj.leetcode.com/problems/permutation-sequence/)| [C++](./algorithms/cpp/permutationSequence/permutationSequence.cpp)|Medium| -|59|[Spiral Matrix II](https://oj.leetcode.com/problems/spiral-matrix-ii/)| [C++](./algorithms/cpp/spiralMatrix/spiralMatrix.II.cpp)|Medium| -|58|[Length of Last Word](https://oj.leetcode.com/problems/length-of-last-word/)| [C++](./algorithms/cpp/lengthOfLastWord/lengthOfLastWord.cpp), [Java](./algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java)|Easy| -|57|[Insert Interval](https://oj.leetcode.com/problems/insert-interval/)| [C++](./algorithms/cpp/insertInterval/insertInterval.cpp)|Hard| -|56|[Merge Intervals](https://oj.leetcode.com/problems/merge-intervals/)| [C++](./algorithms/cpp/mergeIntervals/mergeIntervals.cpp)|Hard| -|55|[Jump Game](https://oj.leetcode.com/problems/jump-game/)| [C++](./algorithms/cpp/jumpGame/jumpGame.cpp)|Medium| -|54|[Spiral Matrix](https://oj.leetcode.com/problems/spiral-matrix/)| [C++](./algorithms/cpp/spiralMatrix/spiralMatrix.cpp)|Medium| -|53|[Maximum Subarray](https://oj.leetcode.com/problems/maximum-subarray/)| [C++](./algorithms/cpp/maximumSubArray/maximumSubArray.cpp)|Medium| -|52|[N-Queens II](https://oj.leetcode.com/problems/n-queens-ii/)| [C++](./algorithms/cpp/nQueens/nQueuens.II.cpp)|Hard| -|51|[N-Queens](https://oj.leetcode.com/problems/n-queens/)| [C++](./algorithms/cpp/nQueens/nQueuens.cpp)|Hard| -|50|["Pow(x, n)"](https://oj.leetcode.com/problems/powx-n/)| [C++](./algorithms/cpp/pow/pow.cpp), [Java](./algorithms/java/src/powXn/PowXn.java)|Medium| -|49|[Group Anagrams](https://oj.leetcode.com/problems/anagrams/)| [C++](./algorithms/cpp/anagrams/GroupAnagrams.cpp)|Medium| -|48|[Rotate Image](https://oj.leetcode.com/problems/rotate-image/)| [C++](./algorithms/cpp/rotateImage/rotateImage.cpp)|Medium| -|47|[Permutations II](https://oj.leetcode.com/problems/permutations-ii/)| [C++](./algorithms/cpp/permutations/permutations.II.cpp)|Hard| -|46|[Permutations](https://oj.leetcode.com/problems/permutations/)| [C++](./algorithms/cpp/permutations/permutations.cpp)|Medium| -|45|[Jump Game II](https://oj.leetcode.com/problems/jump-game-ii/)| [C++](./algorithms/cpp/jumpGame/jumpGame.II.cpp)|Hard| -|44|[Wildcard Matching](https://oj.leetcode.com/problems/wildcard-matching/)| [C++](./algorithms/cpp/wildcardMatching/wildcardMatching.cpp)|Hard| -|43|[Multiply Strings](https://oj.leetcode.com/problems/multiply-strings/)| [C++](./algorithms/cpp/multiplyStrings/multiplyStrings.cpp)|Medium| -|42|[Trapping Rain Water](https://oj.leetcode.com/problems/trapping-rain-water/)| [C++](./algorithms/cpp/trappingRainWater/trappingRainWater.cpp)|Hard| -|41|[First Missing Positive](https://oj.leetcode.com/problems/first-missing-positive/)| [C++](./algorithms/cpp/firstMissingPositive/firstMissingPositive.cpp)|Hard| -|40|[Combination Sum II](https://oj.leetcode.com/problems/combination-sum-ii/)| [C++](./algorithms/cpp/combinationSum/combinationSum.II.cpp)|Medium| -|39|[Combination Sum](https://oj.leetcode.com/problems/combination-sum/)| [C++](./algorithms/cpp/combinationSum/combinationSum.cpp)|Medium| -|38|[Count and Say](https://oj.leetcode.com/problems/count-and-say/)| [C++](./algorithms/cpp/countAndSay/countAndSay.cpp), [Java](./algorithms/java/src/countAndSay/CountAndSay.java)|Easy| -|37|[Sudoku Solver](https://oj.leetcode.com/problems/sudoku-solver/)| [C++](./algorithms/cpp/sudokuSolver/sudokuSolver.cpp)|Hard| -|36|[Valid Sudoku](https://oj.leetcode.com/problems/valid-sudoku/)| [C++](./algorithms/cpp/validSudoku/validSudoku.cpp)|Easy| -|35|[Search Insert Position](https://oj.leetcode.com/problems/search-insert-position/)| [C++](./algorithms/cpp/searchInsertPosition/searchInsertPosition.cpp), [Java](./algorithms/java/src/searchInsertPosition/searchInsertPosition.java)|Medium| -|34|[Search for a Range](https://oj.leetcode.com/problems/search-for-a-range/)| [C++](./algorithms/cpp/searchForRange/searchForRange.cpp), [Java](./algorithms/java/src/searchForRange/searchForRange.java)|Medium| -|33|[Search in Rotated Sorted Array](https://oj.leetcode.com/problems/search-in-rotated-sorted-array/)| [C++](./algorithms/cpp/searchInRotatedSortedArray/searchInRotatedSortedArray.cpp), [Java](./algorithms/java/src/searchInRotatedSortedArray/searchInRotatedSortedArray.java)|Hard| -|32|[Longest Valid Parentheses](https://oj.leetcode.com/problems/longest-valid-parentheses/)| [C++](./algorithms/cpp/longestValidParentheses/longestValidParentheses.cpp)|Hard| -|31|[Next Permutation](https://oj.leetcode.com/problems/next-permutation/)| [C++](./algorithms/cpp/nextPermutation/nextPermutation.cpp)|Medium| -|30|[Substring with Concatenation of All Words](https://oj.leetcode.com/problems/substring-with-concatenation-of-all-words/)| [C++](./algorithms/cpp/substringWithConcatenationOfAllWords/substringWithConcatenationOfAllWords.cpp)|Hard| -|29|[Divide Two Integers](https://oj.leetcode.com/problems/divide-two-integers/)| [C++](./algorithms/cpp/divideTwoInt/divideTwoInt.cpp)|Medium| -|28|[Implement strStr()](https://oj.leetcode.com/problems/implement-strstr/)| [C++](./algorithms/cpp/strStr/strStr.cpp), [Java](./algorithms/java/src/strStr/strStr.java)|Easy| -|27|[Remove Element](https://oj.leetcode.com/problems/remove-element/)| [C++](./algorithms/cpp/removeElement/removeElement.cpp)|Easy| -|26|[Remove Duplicates from Sorted Array](https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.java)|Easy| -|25|[Reverse Nodes in k-Group](https://oj.leetcode.com/problems/reverse-nodes-in-k-group/)| [C++](./algorithms/cpp/reverseNodesInKGroup/reverseNodesInKGroup.cpp)|Hard| -|24|[Swap Nodes in Pairs](https://oj.leetcode.com/problems/swap-nodes-in-pairs/)| [C++](./algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp)|Medium| -|23|[Merge k Sorted Lists](https://oj.leetcode.com/problems/merge-k-sorted-lists/)| [C++](./algorithms/cpp/mergeKSortedLists/mergeKSortedLists.cpp)|Hard| -|22|[Generate Parentheses](https://oj.leetcode.com/problems/generate-parentheses/)| [C++](./algorithms/cpp/generateParentheses/generateParentheses.cpp)|Medium| -|21|[Merge Two Sorted Lists](https://oj.leetcode.com/problems/merge-two-sorted-lists/)| [C++](./algorithms/cpp/mergeTwoSortedList/mergeTwoSortedList.cpp)|Easy| -|20|[Valid Parentheses](https://oj.leetcode.com/problems/valid-parentheses/)| [C++](./algorithms/cpp/validParentheses/validParentheses.cpp)|Easy| -|19|[Remove Nth Node From End of List](https://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/)| [C++](./algorithms/cpp/removeNthNodeFromEndOfList/removeNthNodeFromEndOfList.cpp), [Python](./algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py)|Easy| -|18|[4Sum](https://oj.leetcode.com/problems/4sum/)| [C++](./algorithms/cpp/4Sum/4Sum.cpp)|Medium| -|17|[Letter Combinations of a Phone Number](https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/)| [C++](./algorithms/cpp/letterCombinationsOfAPhoneNumber/letterCombinationsOfAPhoneNumber.cpp)|Medium| -|16|[3Sum Closest](https://oj.leetcode.com/problems/3sum-closest/)| [C++](./algorithms/cpp/3SumClosest/3SumClosest.cpp)|Medium| -|15|[3Sum](https://oj.leetcode.com/problems/3sum/)| [C++](./algorithms/cpp/3Sum/3Sum.cpp)|Medium| -|14|[Longest Common Prefix](https://oj.leetcode.com/problems/longest-common-prefix/)| [C++](./algorithms/cpp/longestCommonPrefix/longestCommonPrefix.cpp)|Easy| -|13|[Roman to Integer](https://oj.leetcode.com/problems/roman-to-integer/)| [C++](./algorithms/cpp/romanToInteger/romanToInteger.cpp)|Easy| -|12|[Integer to Roman](https://oj.leetcode.com/problems/integer-to-roman/)| [C++](./algorithms/cpp/integerToRoman/integerToRoman.cpp)|Medium| -|11|[Container With Most Water](https://oj.leetcode.com/problems/container-with-most-water/)| [C++](./algorithms/cpp/containerWithMostWater/containerWithMostWater.cpp)|Medium| -|10|[Regular Expression Matching](https://oj.leetcode.com/problems/regular-expression-matching/)| [C++](./algorithms/cpp/regularExpressionMatching/regularExpressionMatching.cpp)|Hard| -|9|[Palindrome Number](https://oj.leetcode.com/problems/palindrome-number/)| [C++](./algorithms/cpp/palindromeNumber/palindromeNumber.cpp), [Java](./algorithms/java/src/palindromeNumber/PalindromeNumber.java)|Easy| -|8|[String to Integer (atoi)](https://oj.leetcode.com/problems/string-to-integer-atoi/)| [C++](./algorithms/cpp/stringToIntegerAtoi/stringToIntegerAtoi.cpp)|Easy| -|7|[Reverse Integer](https://oj.leetcode.com/problems/reverse-integer/)| [C++](./algorithms/cpp/reverseInteger/reverseInteger.cpp)|Easy| -|6|[ZigZag Conversion](https://oj.leetcode.com/problems/zigzag-conversion/)| [C++](./algorithms/cpp/zigZagConversion/zigZagConversion.cpp)|Easy| -|5|[Longest Palindromic Substring](https://oj.leetcode.com/problems/longest-palindromic-substring/)| [C++](./algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp)|Medium| -|4|[Median of Two Sorted Arrays](https://oj.leetcode.com/problems/median-of-two-sorted-arrays/)| [C++](./algorithms/cpp/medianOfTwoSortedArrays/medianOfTwoSortedArrays.cpp)|Hard| -|3|[Longest Substring Without Repeating Characters](https://oj.leetcode.com/problems/longest-substring-without-repeating-characters/)| [C++](./algorithms/cpp/longestSubstringWithoutRepeatingCharacters/longestSubstringWithoutRepeatingCharacters.cpp)|Medium| -|2|[Add Two Numbers](https://oj.leetcode.com/problems/add-two-numbers/)| [C++](./algorithms/cpp/addTwoNumbers/addTwoNumbers.cpp)|Medium| -|1|[Two Sum](https://oj.leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)|Easy| +|191|[Number of 1 Bits](https://leetcode.com/problems/number-of-1-bits/)| [C++](./algorithms/cpp/numberOf1Bits/numberOf1Bits.cpp)|Easy| +|190|[Reverse Bits](https://leetcode.com/problems/reverse-bits/)| [C++](./algorithms/cpp/reverseBits/reverseBits.cpp)|Easy| +|189|[Rotate Array](https://leetcode.com/problems/rotate-array/)| [C++](./algorithms/cpp/rotateArray/rotateArray.cpp), [Java](./algorithms/java/src/rotateArray/RotateArray.java)|Easy| +|188|[Best Time to Buy and Sell Stock IV](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp)|Hard| +|187|[Repeated DNA Sequences](https://leetcode.com/problems/repeated-dna-sequences/)| [C++](./algorithms/cpp/repeatedDNASequences/repeatedDNASequences.cpp)|Medium| +|186|[Reverse Words in a String II](https://leetcode.com/problems/reverse-words-in-a-string-ii/) ♥ | [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.II.cpp)|Medium| +|179|[Largest Number](https://leetcode.com/problems/largest-number/) | [C++](./algorithms/cpp/largestNumber/largestNumber.cpp)|Medium| +|174|[Dungeon Game](https://leetcode.com/problems/dungeon-game/) | [C++](./algorithms/cpp/dungeonGame/dungeonGame.cpp)|Hard| +|173|[Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/) | [C++](./algorithms/cpp/binarySearchTreeIterator/binarySearchTreeIterator.cpp), [Java](./algorithms/java/src/binarySearchTreeIterator/binarySearchTreeIterator.java), [Python](./algorithms/python/BinarySearchTreeIterator/BSTIterator.py)|Medium| +|172|[Factorial Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes/) | [C++](./algorithms/cpp/factorialTrailingZeroes/factorialTrailingZeroes.cpp)|Easy| +|171|[Excel Sheet Column Number](https://leetcode.com/problems/excel-sheet-column-number/) | [C++](./algorithms/cpp/excelSheetColumnNumber/excelSheetColumnNumber.cpp)|Easy| +|170|[Two Sum III - Data structure design](https://leetcode.com/problems/two-sum-iii-data-structure-design/) ♥ | [C++](./algorithms/cpp/twoSum/twoSum.III.cpp)|Easy| +|169|[Majority Element](https://leetcode.com/problems/majority-element/) | [C++](./algorithms/cpp/majorityElement/majorityElement.cpp)|Easy| +|168|[Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/) | [C++](./algorithms/cpp/excelSheetColumnTitle/excelSheetColumnTitle.cpp)|Easy| +|167|[Two Sum II - Input array is sorted](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/) ♥ | [C++](./algorithms/cpp/twoSum/twoSum.II.cpp)|Medium| +|166|[Fraction to Recurring Decimal](https://leetcode.com/problems/fraction-to-recurring-decimal/) | [C++](./algorithms/cpp/fractionToRecurringDecimal/fractionToRecurringDecimal.cpp)|Medium| +|165|[Compare Version Numbers](https://leetcode.com/problems/compare-version-numbers/) | [C++](./algorithms/cpp/compareVersionNumbers/compareVersionNumbers.cpp)|Easy| +|164|[Maximum Gap](https://leetcode.com/problems/maximum-gap/) | [C++](./algorithms/cpp/maximumGap/maximumGap.cpp)|Hard| +|163|[Missing Ranges](https://leetcode.com/problems/missing-ranges/) ♥ | [C++](./algorithms/cpp/missingRanges/missingRanges.cpp)|Medium| +|162|[Find Peak Element](https://leetcode.com/problems/find-peak-element/) | [C++](./algorithms/cpp/findPeakElement/findPeakElement.cpp), [Java](./algorithms/java/src/findPeakElement/findPeakElement.java)|Medium| +|161|[One Edit Distance](https://leetcode.com/problems/one-edit-distance/)♥ | [C++](./algorithms/cpp/oneEditDistance/oneEditDistance.cpp)|Medium| +|160|[Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/) | [C++](./algorithms/cpp/intersectionOfTwoLinkedLists/intersectionOfTwoLinkedLists.cpp)|Easy| +|159|[Longest Substring with At Most Two Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/) ♥ | [C++](./algorithms/cpp/longestSubstringWithAtMostTwoDistinctCharacters/longestSubstringWithAtMostTwoDistinctCharacters.cpp)|Hard| +|158|[Read N Characters Given Read4 II - Call multiple times](https://leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.II.cpp)|Hard| +|157|[Read N Characters Given Read4](https://leetcode.com/problems/read-n-characters-given-read4/) ♥ | [C++](./algorithms/cpp/readNCharactersGivenRead4/readNCharactersGivenRead4.cpp)|Easy| +|156|[Binary Tree Upside Down](https://leetcode.com/problems/binary-tree-upside-down/) ♥ | [C++](./algorithms/cpp/binaryTreeUpsideDown/binaryTreeUpsideDown.cpp)|Medium| +|155|[Min Stack](https://leetcode.com/problems/min-stack/)| [C++](./algorithms/cpp/minStack/minStack.cpp), [Java](./algorithms/java/src/minStack/MinStack.java)|Easy| +|154|[Find Minimum in Rotated Sorted Array II](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.II.cpp)|Hard| +|153|[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [C++](./algorithms/cpp/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.cpp), [Java](./algorithms/java/src/findMinimumInRotatedSortedArray/findMinimumInRotatedSortedArray.java)|Medium| +|152|[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/)| [C++](./algorithms/cpp/maximumProductSubarray/maximumProductSubarray.cpp)|Medium| +|151|[Reverse Words in a String](https://leetcode.com/problems/reverse-words-in-a-string/)| [C++](./algorithms/cpp/reverseWordsInAString/reverseWordsInAString.cpp), [Java](./algorithms/java/src/reverseWordsInAString/ReverseWordsInAString.java)|Medium| +|150|[Evaluate Reverse Polish Notation](https://leetcode.com/problems/evaluate-reverse-polish-notation/)| [C++](./algorithms/cpp/evaluateReversePolishNotation/evaluateReversePolishNotation.cpp)|Medium| +|149|[Max Points on a Line](https://leetcode.com/problems/max-points-on-a-line/)| [C++](./algorithms/cpp/maxPointsOnALine/maxPointsOnALine.cpp)|Hard| +|148|[Sort List](https://leetcode.com/problems/sort-list/)| [C++](./algorithms/cpp/sortList/sortList.cpp), [Python](./algorithms/python/SortList/sortList.py)|Medium| +|147|[Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/)| [C++](./algorithms/cpp/insertionSortList/insertionSortList.cpp), [Python](./algorithms/python/InsertionSortList/insertionSortList.py)|Medium| +|146|[LRU Cache](https://leetcode.com/problems/lru-cache/)| [C++](./algorithms/cpp/LRUCache/LRUCache.cpp), [Java](./algorithms/java/src/lruCache/LRUCache.java)|Hard| +|145|[Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/)| [C++](./algorithms/cpp/binaryTreePostorderTraversal/binaryTreePostorderTraversal.cpp), [Python](./algorithms/python/BinaryTreePostorderTraversal/postorderTraversal.py)|Hard| +|144|[Binary Tree Preorder Traversal](https://leetcode.com/problems/binary-tree-preorder-traversal/)| [C++](./algorithms/cpp/binaryTreePreorderTraversal/binaryTreePreorderTraversal.cpp), [Java](./algorithms/java/src/binaryTreePreorderTraversal/binaryTreePreorderTraversal.java)|Medium| +|143|[Reorder List](https://leetcode.com/problems/reorder-list/)| [C++](./algorithms/cpp/reorderList/reorderList.cpp), [Python](./algorithms/python/ReorderList/reorderList.py)|Medium| +|142|[Linked List Cycle II](https://leetcode.com/problems/linked-list-cycle-ii/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.II.cpp), [Python](./algorithms/python/LinkedListCycleII/detectCycle.py)|Medium| +|141|[Linked List Cycle](https://leetcode.com/problems/linked-list-cycle/)| [C++](./algorithms/cpp/linkedListCycle/linkedListCycle.cpp)|Medium| +|140|[Word Break II](https://leetcode.com/problems/word-break-ii/)| [C++](./algorithms/cpp/wordBreak/wordBreak.II.cpp)|Hard| +|139|[Word Break](https://leetcode.com/problems/word-break/)| [C++](./algorithms/cpp/wordBreak/wordBreak.cpp)|Medium| +|138|[Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer/)| [C++](./algorithms/cpp/copyListWithRandomPointer/copyListWithRandomPointer.cpp), [Python](./algorithms/python/CopyListWithRandomPointer/copyRandomList.py)|Hard| +|137|[Single Number II](https://leetcode.com/problems/single-number-ii/)| [C++](./algorithms/cpp/singleNumber/singleNumber.II.cpp)|Medium| +|136|[Single Number](https://leetcode.com/problems/single-number/)| [C++](./algorithms/cpp/singleNumber/singleNumber.cpp)|Medium| +|135|[Candy](https://leetcode.com/problems/candy/)| [C++](./algorithms/cpp/candy/candy.cpp)|Hard| +|134|[Gas Station](https://leetcode.com/problems/gas-station/)| [C++](./algorithms/cpp/gasStation/gasStation.cpp)|Medium| +|133|[Clone Graph](https://leetcode.com/problems/clone-graph/)| [C++](./algorithms/cpp/cloneGraph/cloneGraph.cpp)|Medium| +|132|[Palindrome Partitioning II](https://leetcode.com/problems/palindrome-partitioning-ii/)| [C++](./algorithms/cpp/palindromePartitioning/palindromePartitioning.II.cpp)|Hard| +|131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)| [C++](./algorithms/cpp/palindromePartitioning/palindromePartitioning.cpp)|Medium| +|130|[Surrounded Regions](https://leetcode.com/problems/surrounded-regions/)| [C++](./algorithms/cpp/surroundedRegions/surroundedRegions.cpp)|Medium| +|129|[Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/)| [C++](./algorithms/cpp/sumRootToLeafNumber/sumRootToLeafNumber.cpp), [Python](./algorithms/python/SumRootToLeafNumbers/sumNumbers.py)|Medium| +|128|[Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)| [C++](./algorithms/cpp/longestConsecutiveSequence/longestConsecutiveSequence.cpp)|Hard| +|127|[Word Ladder](https://leetcode.com/problems/word-ladder/)| [C++](./algorithms/cpp/wordLadder/wordLadder.cpp)|Medium| +|126|[Word Ladder II](https://leetcode.com/problems/word-ladder-ii/)| [C++](./algorithms/cpp/wordLadder/wordLadder.II.cpp)|Hard| +|125|[Valid Palindrome](https://leetcode.com/problems/valid-palindrome/)| [C++](./algorithms/cpp/validPalindrome/validPalindrome.cpp), [Java](./algorithms/java/src/validPalindrome/ValidPalindrome.java)|Easy| +|124|[Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/)| [C++](./algorithms/cpp/binaryTreeMaximumPathSum/binaryTreeMaximumPathSum.cpp), [Java](./algorithms/java/src/binaryTreeMaximumPathSum/binaryTreeMaximumPathSum.java)|Hard| +|123|[Best Time to Buy and Sell Stock III](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp)|Hard| +|122|[Best Time to Buy and Sell Stock II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp)|Medium| +|121|[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)| [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp)|Medium| +|120|[Triangle](https://leetcode.com/problems/triangle/)| [C++](./algorithms/cpp/triangle/triangle.cpp), [Java](./algorithms/java/src/dynamicProgramming/triangle/triangle.java)|Medium| +|119|[Pascal's Triangle II](https://leetcode.com/problems/pascals-triangle-ii/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.II.cpp)|Easy| +|118|[Pascal's Triangle](https://leetcode.com/problems/pascals-triangle/)| [C++](./algorithms/cpp/pascalTriangle/pascalTriangle.cpp)|Easy| +|117|[Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.II.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNodeII/connect.py)|Hard| +|116|[Populating Next Right Pointers in Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [C++](./algorithms/cpp/populatingNextRightPointersInEachNode/populatingNextRightPointersInEachNode.cpp), [Python](./algorithms/python/PopulatingNextRightPointersInEachNode/connect.py)|Medium| +|115|[Distinct Subsequences](https://leetcode.com/problems/distinct-subsequences/)| [C++](./algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp)|Hard| +|114|[Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [C++](./algorithms/cpp/flattenBinaryTreeToLinkedList/flattenBinaryTreeToLinkedList.cpp), [Python](./algorithms/python/FlattenBinaryTreeToLinkedList/flatten.py)|Medium| +|113|[Path Sum II](https://leetcode.com/problems/path-sum-ii/)| [C++](./algorithms/cpp/pathSum/pathSum.II.cpp), [Python](./algorithms/python/PathSumII/pathSum.py)|Medium| +|112|[Path Sum](https://leetcode.com/problems/path-sum/)| [C++](./algorithms/cpp/pathSum/pathSum.cpp)|Easy| +|111|[Minimum Depth of Binary Tree](https://leetcode.com/problems/minimum-depth-of-binary-tree/)| [C++](./algorithms/cpp/minimumDepthOfBinaryTree/minimumDepthOfBinaryTree.cpp)|Easy| +|110|[Balanced Binary Tree](https://leetcode.com/problems/balanced-binary-tree/)| [C++](./algorithms/cpp/balancedBinaryTree/balancedBinaryTree.cpp), [Java](./algorithms/java/src/balancedBinaryTree/balancedBinaryTree.java)|Easy| +|109|[Convert Sorted List to Binary Search Tree](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/)| [C++](./algorithms/cpp/convertSortedListToBinarySearchTree/convertSortedListToBinarySearchTree.cpp)|Medium| +|108|[Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)| [C++](./algorithms/cpp/convertSortedArrayToBinarySearchTree/convertSortedArrayToBinarySearchTree.cpp)|Medium| +|107|[Binary Tree Level Order Traversal II](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.II.cpp)|Easy| +|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromInorderAndPostorderTraversal/constructBinaryTreeFromInorderAndPostorderTraversal.cpp), [Python](./algorithms/python/ConstructBinaryTreeFromInorderAndPostorderTraversal/buildTree.py)|Medium| +|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [C++](./algorithms/cpp/constructBinaryTreeFromPreorderAndInorderTraversal/constructBinaryTreeFromPreorderAndInorderTraversal.cpp), [Python](./algorithms/python/ConstructBinaryTreeFromPreorderAndInorderTraversal/buildTree.py)|Medium| +|104|[Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/)| [C++](./algorithms/cpp/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.cpp), [Java](./algorithms/java/src/maximumDepthOfBinaryTree/maximumDepthOfBinaryTree.java)|Easy| +|103|[Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeZigzagLevelOrderTraversal/binaryTreeZigzagLevelOrderTraversal.cpp), [Python](./algorithms/python/BinaryTreeZigzagLevelOrderTraversal/zigzagLevelOrder.py)|Medium| +|102|[Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/)| [C++](./algorithms/cpp/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.cpp), [Java](./algorithms/java/src/binaryTreeLevelOrderTraversal/binaryTreeLevelOrderTraversal.java)|Easy| +|101|[Symmetric Tree](https://leetcode.com/problems/symmetric-tree/)| [C++](./algorithms/cpp/symmetricTree/symmetricTree.cpp)|Easy| +|100|[Same Tree](https://leetcode.com/problems/same-tree/)| [C++](./algorithms/cpp/sameTree/sameTree.cpp)|Easy| +|99|[Recover Binary Search Tree](https://leetcode.com/problems/recover-binary-search-tree/)| [C++](./algorithms/cpp/recoverBinarySearchTree/recoverBinarySearchTree.cpp)|Hard| +|98|[Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/)| [C++](./algorithms/cpp/validateBinarySearchTree/validateBinarySearchTree.cpp), [Java](./algorithms/java/src/validateBinarySearchTree/validateBinarySearchTree.java), [Python](./algorithms/python/ValidateBinarySearchTree/isValidBST.py)|Medium| +|97|[Interleaving String](https://leetcode.com/problems/interleaving-string/)| [C++](./algorithms/cpp/interleavingString/interleavingString.cpp)|Hard| +|96|[Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.cpp), [Python](./algorithms/python/UniqueBinarySearchTrees/numTrees.py)|Medium| +|95|[Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/)| [C++](./algorithms/cpp/uniqueBinarySearchTrees/uniqueBinarySearchTrees.II.cpp), [Python](./algorithms/python/UniqueBinarySearchTreesII/generateTrees.py)|Medium| +|94|[Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/)| [C++](./algorithms/cpp/binaryTreeInorderTraversal/binaryTreeInorderTraversal.cpp)|Medium| +|93|[Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/)| [C++](./algorithms/cpp/restoreIPAddresses/restoreIPAddresses.cpp)|Medium| +|92|[Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)| [C++](./algorithms/cpp/reverseLinkedList/reverseLinkedList.II.cpp), [Java](./algorithms/java/src/reverseLinkedListII/ReverseLinkedListII.java), [Python](./algorithms/python/ReverseLinkedListII/reverseBetween.py)|Medium| +|91|[Decode Ways](https://leetcode.com/problems/decode-ways/)| [C++](./algorithms/cpp/decodeWays/decodeWays.cpp)|Medium| +|90|[Subsets II](https://leetcode.com/problems/subsets-ii/)| [C++](./algorithms/cpp/subsets/subsets.II.cpp), [Java](./algorithms/java/src/subsets/subsetsII.java)|Medium| +|89|[Gray Code](https://leetcode.com/problems/gray-code/)| [C++](./algorithms/cpp/grayCode/grayCode.cpp)|Medium| +|88|[Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/)| [C++](./algorithms/cpp/mergeTwoSortedArray/mergeTwoSortedArray.cpp)|Easy| +|87|[Scramble String](https://leetcode.com/problems/scramble-string/)| [C++](./algorithms/cpp/scrambleString/scrambleString.cpp)|Hard| +|86|[Partition List](https://leetcode.com/problems/partition-list/)| [C++](./algorithms/cpp/partitionList/partitionList.cpp), [Python](./algorithms/python/PartitionList/partition.py)|Medium| +|85|[Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/)| [C++](./algorithms/cpp/maximalRectangle/maximalRectangle.cpp)|Hard| +|84|[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)| [C++](./algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp)|Hard| +|83|[Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.cpp)|Easy| +|82|[Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedList/removeDuplicatesFromSortedList.II.cpp), [Python](./algorithms/python/RemoveDuplicatesFromSortedListII/deleteDuplicates.py)|Medium| +|81|[Search in Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [C++](./algorithms/cpp/searchInRotatedSortedArray/searchInRotatedSortedArray.II.cpp)|Medium| +|80|[Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.II.cpp)|Medium| +|79|[Word Search](https://leetcode.com/problems/word-search/)| [C++](./algorithms/cpp/wordSearch/wordSearch.cpp)|Medium| +|78|[Subsets](https://leetcode.com/problems/subsets/)| [C++](./algorithms/cpp/subsets/subsets.cpp), [Java](./algorithms/java/src/subsets/subsets.java), [Python](./algorithms/python/Subsets/subsets.py)|Medium| +|77|[Combinations](https://leetcode.com/problems/combinations/)| [C++](./algorithms/cpp/combinations/combinations.cpp)|Medium| +|76|[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)| [C++](./algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp)|Hard| +|75|[Sort Colors](https://leetcode.com/problems/sort-colors/)| [C++](./algorithms/cpp/sortColors/sortColors.cpp)|Medium| +|74|[Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/)| [C++](./algorithms/cpp/search2DMatrix/search2DMatrix.cpp), [Java](./algorithms/java/src/search2DMatrix/search2DMatrix.java)|Medium| +|73|[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/)| [C++](./algorithms/cpp/setMatrixZeroes/setMatrixZeroes.cpp)|Medium| +|72|[Edit Distance](https://leetcode.com/problems/edit-distance/)| [C++](./algorithms/cpp/editDistance/editDistance.cpp)|Hard| +|71|[Simplify Path](https://leetcode.com/problems/simplify-path/)| [C++](./algorithms/cpp/simplifyPath/simplifyPath.cpp)|Medium| +|70|[Climbing Stairs](https://leetcode.com/problems/climbing-stairs/)| [C++](./algorithms/cpp/climbStairs/climbStairs.cpp), [Java](./algorithms/java/src/dynamicProgramming/climbStairs/climbStairs.java)|Easy| +|69|[Sqrt(x)](https://leetcode.com/problems/sqrtx/)| [C++](./algorithms/cpp/sqrt/sqrt.cpp)|Medium| +|68|[Text Justification](https://leetcode.com/problems/text-justification/)| [C++](./algorithms/cpp/textJustification/textJustification.cpp)|Hard| +|67|[Add Binary](https://leetcode.com/problems/add-binary/)| [C++](./algorithms/cpp/addBinary/addBinary.cpp)|Easy| +|66|[Plus One](https://leetcode.com/problems/plus-one/)| [C++](./algorithms/cpp/plusOne/plusOne.cpp)|Easy| +|65|[Valid Number](https://leetcode.com/problems/valid-number/)| [C++](./algorithms/cpp/validNumber/validNumber.cpp)|Easy| +|64|[Minimum Path Sum](https://leetcode.com/problems/minimum-path-sum/)| [C++](./algorithms/cpp/minimumPathSum/minimumPathSum.cpp), [Java](./algorithms/java/src/dynamicProgramming/minimumPathSum/minimumPathSum.java)|Medium| +|63|[Unique Paths II](https://leetcode.com/problems/unique-paths-ii/)| [C++](./algorithms/cpp/uniquePaths/uniquePaths.II.cpp), [Java](./algorithms/java/src/dynamicProgramming/uniquePaths/uniquePathsII.java)|Medium| +|62|[Unique Paths](https://leetcode.com/problems/unique-paths/)| [C++](./algorithms/cpp/uniquePaths/uniquePaths.cpp), [Java](./algorithms/java/src/dynamicProgramming/uniquePaths/uniquePaths.java)|Medium| +|61|[Rotate List](https://leetcode.com/problems/rotate-list/)| [C++](./algorithms/cpp/rotateList/rotateList.cpp)|Medium| +|60|[Permutation Sequence](https://leetcode.com/problems/permutation-sequence/)| [C++](./algorithms/cpp/permutationSequence/permutationSequence.cpp)|Medium| +|59|[Spiral Matrix II](https://leetcode.com/problems/spiral-matrix-ii/)| [C++](./algorithms/cpp/spiralMatrix/spiralMatrix.II.cpp)|Medium| +|58|[Length of Last Word](https://leetcode.com/problems/length-of-last-word/)| [C++](./algorithms/cpp/lengthOfLastWord/lengthOfLastWord.cpp), [Java](./algorithms/java/src/lengthOfLastWord/LengthOfLastWord.java)|Easy| +|57|[Insert Interval](https://leetcode.com/problems/insert-interval/)| [C++](./algorithms/cpp/insertInterval/insertInterval.cpp)|Hard| +|56|[Merge Intervals](https://leetcode.com/problems/merge-intervals/)| [C++](./algorithms/cpp/mergeIntervals/mergeIntervals.cpp)|Hard| +|55|[Jump Game](https://leetcode.com/problems/jump-game/)| [C++](./algorithms/cpp/jumpGame/jumpGame.cpp)|Medium| +|54|[Spiral Matrix](https://leetcode.com/problems/spiral-matrix/)| [C++](./algorithms/cpp/spiralMatrix/spiralMatrix.cpp)|Medium| +|53|[Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)| [C++](./algorithms/cpp/maximumSubArray/maximumSubArray.cpp)|Medium| +|52|[N-Queens II](https://leetcode.com/problems/n-queens-ii/)| [C++](./algorithms/cpp/nQueens/nQueuens.II.cpp)|Hard| +|51|[N-Queens](https://leetcode.com/problems/n-queens/)| [C++](./algorithms/cpp/nQueens/nQueuens.cpp)|Hard| +|50|["Pow(x, n)"](https://leetcode.com/problems/powx-n/)| [C++](./algorithms/cpp/pow/pow.cpp), [Java](./algorithms/java/src/powXn/PowXn.java)|Medium| +|49|[Group Anagrams](https://leetcode.com/problems/anagrams/)| [C++](./algorithms/cpp/anagrams/GroupAnagrams.cpp)|Medium| +|48|[Rotate Image](https://leetcode.com/problems/rotate-image/)| [C++](./algorithms/cpp/rotateImage/rotateImage.cpp)|Medium| +|47|[Permutations II](https://leetcode.com/problems/permutations-ii/)| [C++](./algorithms/cpp/permutations/permutations.II.cpp)|Hard| +|46|[Permutations](https://leetcode.com/problems/permutations/)| [C++](./algorithms/cpp/permutations/permutations.cpp)|Medium| +|45|[Jump Game II](https://leetcode.com/problems/jump-game-ii/)| [C++](./algorithms/cpp/jumpGame/jumpGame.II.cpp)|Hard| +|44|[Wildcard Matching](https://leetcode.com/problems/wildcard-matching/)| [C++](./algorithms/cpp/wildcardMatching/wildcardMatching.cpp)|Hard| +|43|[Multiply Strings](https://leetcode.com/problems/multiply-strings/)| [C++](./algorithms/cpp/multiplyStrings/multiplyStrings.cpp)|Medium| +|42|[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)| [C++](./algorithms/cpp/trappingRainWater/trappingRainWater.cpp)|Hard| +|41|[First Missing Positive](https://leetcode.com/problems/first-missing-positive/)| [C++](./algorithms/cpp/firstMissingPositive/firstMissingPositive.cpp)|Hard| +|40|[Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)| [C++](./algorithms/cpp/combinationSum/combinationSum.II.cpp)|Medium| +|39|[Combination Sum](https://leetcode.com/problems/combination-sum/)| [C++](./algorithms/cpp/combinationSum/combinationSum.cpp)|Medium| +|38|[Count and Say](https://leetcode.com/problems/count-and-say/)| [C++](./algorithms/cpp/countAndSay/countAndSay.cpp), [Java](./algorithms/java/src/countAndSay/CountAndSay.java)|Easy| +|37|[Sudoku Solver](https://leetcode.com/problems/sudoku-solver/)| [C++](./algorithms/cpp/sudokuSolver/sudokuSolver.cpp)|Hard| +|36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/)| [C++](./algorithms/cpp/validSudoku/validSudoku.cpp)|Easy| +|35|[Search Insert Position](https://leetcode.com/problems/search-insert-position/)| [C++](./algorithms/cpp/searchInsertPosition/searchInsertPosition.cpp), [Java](./algorithms/java/src/searchInsertPosition/searchInsertPosition.java)|Medium| +|34|[Search for a Range](https://leetcode.com/problems/search-for-a-range/)| [C++](./algorithms/cpp/searchForRange/searchForRange.cpp), [Java](./algorithms/java/src/searchForRange/searchForRange.java)|Medium| +|33|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)| [C++](./algorithms/cpp/searchInRotatedSortedArray/searchInRotatedSortedArray.cpp), [Java](./algorithms/java/src/searchInRotatedSortedArray/searchInRotatedSortedArray.java)|Hard| +|32|[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/)| [C++](./algorithms/cpp/longestValidParentheses/longestValidParentheses.cpp)|Hard| +|31|[Next Permutation](https://leetcode.com/problems/next-permutation/)| [C++](./algorithms/cpp/nextPermutation/nextPermutation.cpp)|Medium| +|30|[Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/)| [C++](./algorithms/cpp/substringWithConcatenationOfAllWords/substringWithConcatenationOfAllWords.cpp)|Hard| +|29|[Divide Two Integers](https://leetcode.com/problems/divide-two-integers/)| [C++](./algorithms/cpp/divideTwoInt/divideTwoInt.cpp)|Medium| +|28|[Implement strStr()](https://leetcode.com/problems/implement-strstr/)| [C++](./algorithms/cpp/strStr/strStr.cpp), [Java](./algorithms/java/src/strStr/strStr.java)|Easy| +|27|[Remove Element](https://leetcode.com/problems/remove-element/)| [C++](./algorithms/cpp/removeElement/removeElement.cpp)|Easy| +|26|[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./algorithms/cpp/removeDuplicatesFromSortedArray/removeDuplicatesFromSortedArray.cpp), [Java](./algorithms/java/src/removeDuplicatesFromSortedArray/RemoveDuplicatesFromSortedArray.java)|Easy| +|25|[Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/)| [C++](./algorithms/cpp/reverseNodesInKGroup/reverseNodesInKGroup.cpp)|Hard| +|24|[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/)| [C++](./algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp)|Medium| +|23|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)| [C++](./algorithms/cpp/mergeKSortedLists/mergeKSortedLists.cpp)|Hard| +|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)| [C++](./algorithms/cpp/generateParentheses/generateParentheses.cpp)|Medium| +|21|[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)| [C++](./algorithms/cpp/mergeTwoSortedList/mergeTwoSortedList.cpp)|Easy| +|20|[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)| [C++](./algorithms/cpp/validParentheses/validParentheses.cpp)|Easy| +|19|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)| [C++](./algorithms/cpp/removeNthNodeFromEndOfList/removeNthNodeFromEndOfList.cpp), [Python](./algorithms/python/RemoveNthNodeFromEndOfList/removeNthFromEnd.py)|Easy| +|18|[4Sum](https://leetcode.com/problems/4sum/)| [C++](./algorithms/cpp/4Sum/4Sum.cpp)|Medium| +|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)| [C++](./algorithms/cpp/letterCombinationsOfAPhoneNumber/letterCombinationsOfAPhoneNumber.cpp)|Medium| +|16|[3Sum Closest](https://leetcode.com/problems/3sum-closest/)| [C++](./algorithms/cpp/3SumClosest/3SumClosest.cpp)|Medium| +|15|[3Sum](https://leetcode.com/problems/3sum/)| [C++](./algorithms/cpp/3Sum/3Sum.cpp)|Medium| +|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)| [C++](./algorithms/cpp/longestCommonPrefix/longestCommonPrefix.cpp)|Easy| +|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer/)| [C++](./algorithms/cpp/romanToInteger/romanToInteger.cpp)|Easy| +|12|[Integer to Roman](https://leetcode.com/problems/integer-to-roman/)| [C++](./algorithms/cpp/integerToRoman/integerToRoman.cpp)|Medium| +|11|[Container With Most Water](https://leetcode.com/problems/container-with-most-water/)| [C++](./algorithms/cpp/containerWithMostWater/containerWithMostWater.cpp)|Medium| +|10|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)| [C++](./algorithms/cpp/regularExpressionMatching/regularExpressionMatching.cpp)|Hard| +|9|[Palindrome Number](https://leetcode.com/problems/palindrome-number/)| [C++](./algorithms/cpp/palindromeNumber/palindromeNumber.cpp), [Java](./algorithms/java/src/palindromeNumber/PalindromeNumber.java)|Easy| +|8|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)| [C++](./algorithms/cpp/stringToIntegerAtoi/stringToIntegerAtoi.cpp)|Easy| +|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)| [C++](./algorithms/cpp/reverseInteger/reverseInteger.cpp)|Easy| +|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)| [C++](./algorithms/cpp/zigZagConversion/zigZagConversion.cpp)|Easy| +|5|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)| [C++](./algorithms/cpp/longestPalindromicSubstring/longestPalindromicSubstring.cpp)|Medium| +|4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [C++](./algorithms/cpp/medianOfTwoSortedArrays/medianOfTwoSortedArrays.cpp)|Hard| +|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [C++](./algorithms/cpp/longestSubstringWithoutRepeatingCharacters/longestSubstringWithoutRepeatingCharacters.cpp)|Medium| +|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [C++](./algorithms/cpp/addTwoNumbers/addTwoNumbers.cpp)|Medium| +|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)|Easy| ### LeetCode Shell From 59204d7a639c80b2a4718472a7e5ec56b2b938be Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 30 Jan 2019 15:34:07 +0800 Subject: [PATCH 185/256] fix #160 - when the input is "-2147483648 -1",the array named bit_num out of bounds --- algorithms/cpp/divideTwoInt/divideTwoInt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/divideTwoInt/divideTwoInt.cpp b/algorithms/cpp/divideTwoInt/divideTwoInt.cpp index d205965a6..95601c6f0 100644 --- a/algorithms/cpp/divideTwoInt/divideTwoInt.cpp +++ b/algorithms/cpp/divideTwoInt/divideTwoInt.cpp @@ -24,7 +24,7 @@ int divide(int dividend, int divisor) { unsigned int dvd = dividend > 0 ? dividend : -dividend; unsigned int dvs = divisor > 0 ? divisor : -divisor; - unsigned int bit_num[32]; + unsigned int bit_num[33]; unsigned int i=0; long long d = dvs; bit_num[i] = d; From 56f72e6ac42016c0a72c6444242122ce790585c3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 31 Jan 2019 18:03:36 +0800 Subject: [PATCH 186/256] optimzing the logic - reduced the control state --- .../bestTimeToBuyAndSellStock.II.cpp | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp index 353989372..976a02c96 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp @@ -20,28 +20,28 @@ class Solution { // add their delta together // int maxProfit(vector &prices) { - int max=0, begin=0, end=0; - bool up=false, down=false; - for (int i=1; i prices[i-1] && up==false){ // goes up - begin = i-1; - up = true; - down = false; + + if ( prices.size() < 1 ) return 0; + + int max = 0; + int low = -1; + for (int i=0; i < prices.size() - 1; i++){ + //meet the valley, then goes up + if (prices[i] < prices[i+1] && low < 0 ) { + low = i; } - - if (prices[i] < prices[i-1] && down==false) { // goes down - end = i-1; - down = true; - up = false; - max += (prices[end] - prices[begin]); + //meet the peak, then goes down + if (prices[i] > prices[i+1] && low >= 0) { + max += ( prices[i] - prices[low] ) ; + low = -1; // reset the `low` } } - // edge case - if (begin < prices.size() && up==true){ - end = prices.size() - 1; - max += (prices[end] - prices[begin]); + + // edge case + if ( low >= 0 ) { + max += ( prices[prices.size()-1] - prices[low] ); } - + return max; } }; From b6fe67cc2cca54f266d0828f1a6ba23389ccb4ea Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 31 Jan 2019 19:24:02 +0800 Subject: [PATCH 187/256] optimzing the code --- .../bestTimeToBuyAndSellStock.II.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp index 976a02c96..d4adc658b 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp @@ -21,11 +21,10 @@ class Solution { // int maxProfit(vector &prices) { - if ( prices.size() < 1 ) return 0; - int max = 0; int low = -1; - for (int i=0; i < prices.size() - 1; i++){ + int len = prices.size(); + for (int i=0; i < len - 1; i++){ //meet the valley, then goes up if (prices[i] < prices[i+1] && low < 0 ) { low = i; From 0b8e7d991c69494c8504dbb31292c922bd5b884e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 1 Feb 2019 19:27:38 +0800 Subject: [PATCH 188/256] New Problem Solution "Best Time to Buy and Sell Stock with Transaction Fee" --- README.md | 1 + ...imeToBuyAndSellStockWithTransactionFee.cpp | 201 ++++++++++++++++++ 2 files changed, 202 insertions(+) create mode 100644 algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp diff --git a/README.md b/README.md index 6fda54810..c0d7c2ff5 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ LeetCode |747|[Largest Number At Least Twice of Others](https://leetcode.com/problems/largest-number-at-least-twice-of-others/) | [Python](./algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py)|Easy| |746|[Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [Python](./algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py)|Easy| |717|[1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/) | [Python](./algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py)|Easy| +|714|[Best Time to Buy and Sell Stock with Transaction Fee](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee) | [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp)|Medium| |712|[Minimum ASCII Delete Sum for Two Strings](https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/) | [C++](./algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp)|Medium| |687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/) | [Python](./algorithms/python/LongestUnivaluePath/longestUnivaluePath.py)|Easy| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp new file mode 100644 index 000000000..d176ae58c --- /dev/null +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp @@ -0,0 +1,201 @@ +// Source : https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee +// Author : Hao Chen +// Date : 2019-02-01 + +/***************************************************************************************************** + * + * Your are given an array of integers prices, for which the i-th element is the price of a given + * stock on day i; and a non-negative integer fee representing a transaction fee. + * + * You may complete as many transactions as you like, but you need to pay the transaction fee for each + * transaction. You may not buy more than 1 share of a stock at a time (ie. you must sell the stock + * share before you buy again.) + * + * Return the maximum profit you can make. + * + * Example 1: + * + * Input: prices = [1, 3, 2, 8, 4, 9], fee = 2 + * Output: 8 + * + * Explanation: The maximum profit can be achieved by: + * Buying at prices[0] = 1Selling at prices[3] = 8Buying at prices[4] = 4Selling at prices[5] = 9The + * total profit is ((8 - 1) - 2) + ((9 - 4) - 2) = 8. + * + * Note: + * 0 < prices.length <= 50000. + * 0 < prices[i] < 50000. + * 0 <= fee < 50000. + ******************************************************************************************************/ + + + +class Solution { +private: + int max(int x, int y) { + return x > y ? x: y; + } + int max(int x, int y, int z) { + return max(x, max(y,z)); + } + +public: + + int maxProfit(vector& prices, int fee) { + return maxProfit_dp03(prices, fee); // 100ms + return maxProfit_dp02(prices, fee); // 100ms + return maxProfit_dp01(prices, fee); // 2700ms + } + + // find the [buy-low, sell-high] prices pairs, + // and remove the unnecessary prices. + void genPricesPairs(vector &prices, vector< pair > &prices_pairs, int fee){ + + int low = -1; + for (int i=0; i prices[i+1] && low >= 0) { + prices_pairs.push_back( make_pair( prices[low], prices[i]) ); + low = -1; // reset the `low` & `high` + } + } + + // edge case + if ( low >= 0 ) { + prices_pairs.push_back( make_pair( prices[low], prices[prices.size()-1] ) ); + } + + } + + int maxProfit_dp01(vector &prices, int &fee) { + + vector< pair > prices_pairs; + genPricesPairs(prices, prices_pairs, fee); + + vector dp(prices_pairs.size()+1, 0); + + for (int i=0; i &prices, int &fee) { + + vector< pair > prices_pairs; + genPricesPairs(prices, prices_pairs, fee); + + if ( prices_pairs.size() < 1 ) return 0; + + + // first - represent the max profit if we buy. + // second - represent the max profit if we sell. + vector< pair > dp(prices_pairs.size() , make_pair(0,0) ); + + //buy profit - if we buy it in day 0, then we got negtive profit. + dp[0].first = - prices_pairs[0].first; + + //sell profit - if we sell it in day 0, then we have the profits + // if the profit is negtive, then won't sell it. + dp[0].second = max(0, prices_pairs[0].second - prices_pairs[0].first - fee); + + for (int i=1; i &prices, int &fee) { + int buy=-prices[0], sell=0; + int pre_buy=0, pre_sell=0; + + for(auto price: prices) { + pre_buy = buy; + buy = max (sell - price, pre_buy); + + pre_sell = sell; + sell = max( pre_buy + price - fee, pre_sell); + } + + return sell; + } +}; From 7249bc31b67c2d936fb90fcf8b00d3a31cc83cfc Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 1 Feb 2019 20:01:34 +0800 Subject: [PATCH 189/256] New Problem Solution "Best Time to Buy and Sell Stock with Cooldown" --- README.md | 1 + .../BestTimeToBuyAndSellStockWithCooldown.cpp | 78 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp diff --git a/README.md b/README.md index c0d7c2ff5..c552294f2 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,7 @@ LeetCode |313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/) | [C++](./algorithms/cpp/superUglyNumber/SuperUglyNumber.cpp)|Medium| |312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/) | [C++](./algorithms/cpp/burstBalloons/BurstBalloons.cpp)|Hard| |310|[Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/) | [C++](./algorithms/cpp/minimumHeightTrees/MinimumHeightTrees.cpp)|Medium| +|309|[Best Time to Buy and Sell Stock with Cooldown](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/) | [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp)|Medium| |307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [C++](./algorithms/cpp/rangeSumQuery-Immutable/rangeSumQuery-Mutable/RangeSumQueryMutable.cpp)|Medium| |306|[Additive Number](https://leetcode.com/problems/additive-number/) | [C++](./algorithms/cpp/additiveNumber/AdditiveNumber.cpp)|Medium| |304|[Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/) | [C++](./algorithms/cpp/rangeSumQuery2D-Immutable/RangeSumQuery2dImmutable.cpp)|Medium| diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp new file mode 100644 index 000000000..e1699e967 --- /dev/null +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp @@ -0,0 +1,78 @@ +// Source : https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/ +// Author : Hao Chen +// Date : 2019-02-01 + +/***************************************************************************************************** + * + * Say you have an array for which the ith element is the price of a given stock on day i. + * + * Design an algorithm to find the maximum profit. You may complete as many transactions as you like + * (ie, buy one and sell one share of the stock multiple times) with the following restrictions: + * + * You may not engage in multiple transactions at the same time (ie, you must sell the stock + * before you buy again). + * After you sell your stock, you cannot buy stock on next day. (ie, cooldown 1 day) + * + * Example: + * + * Input: [1,2,3,0,2] + * Output: 3 + * Explanation: transactions = [buy, sell, cooldown, buy, sell] + ******************************************************************************************************/ + +class Solution { +public: + // + //Define + // + // - buy[i] as the max profit when you buy the stock at day i. + // - sell[i] as the max profit when you sell the stock at day i. + // + // Therefore set buy[0] = -prices[0], because spend the money, the profit is -prices[0]. + // Also set sell[0] = 0, that you do nothing in the first day. + // + // So, + // + // sell[i] = max ( buy[i-1] + prices[i], + // sell[i-1] - prices[i-1] + prices[i] ); + // + // - buy[i-1]+prices[i] represents buy the stock on day i-1 and sell it on day i; + // - sell[i-1]-prices[i-1]+prices[i] represents you didn't sell the stock on day i-1 + // but sell it on day i (bought stock back and sell it on day i). + // + // + // buy[i] = max ( sell[i-2] - prices[i], + // buy[i-1] + prices[i-1] - prices[i] ); + // + // - sell[i-2]-prices[i] means sold the stock on day i-2 and buy it on day i + // (day i-1 is cooldown). + // - buy[i-1]+prices[i-1]-prices[i] means you didn't buy the stock on day i-1 + // but buy it on day i. + // + + int maxProfit(vector& prices) { + int len = prices.size(); + if ( len < 2 ) return 0; + vector buy(len, 0); + vector sell(len, 0); + + buy[0] = -prices[0]; + + int profit = 0; + + for (int i=1; i Date: Sat, 2 Feb 2019 22:31:04 +0800 Subject: [PATCH 190/256] add a new simpler solution --- .../bestTimeToBuyAndSellStock.II.cpp | 18 ++++++++++++++++-- .../bestTimeToBuyAndSellStock.cpp | 16 ++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp index d4adc658b..a81611820 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp @@ -15,11 +15,15 @@ class Solution { public: - // + int maxProfit(vector& prices) { + return maxProfit02(prices); + return maxProfit01(prices); + } + // Solution 1 // find all of ranges: which start a valley with the nearest peak after // add their delta together // - int maxProfit(vector &prices) { + int maxProfit01(vector &prices) { int max = 0; int low = -1; @@ -43,4 +47,14 @@ class Solution { return max; } + + // Solution 2 + // if we find we can earn money, we just sell + int maxProfit02(vector& prices) { + int profit = 0 ; + for(int i=1; i< prices.size(); i++) { + profit += max(0, prices[i] - prices[i-1]); + } + return profit; + } }; diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp index e6bc986b1..5fdc2baba 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp @@ -50,3 +50,19 @@ class Solution { } }; + + +class Solution { +public: + int maxProfit(vector& prices) { + int buy = INT_MAX; + int profit = 0; + for (auto p : prices) { + // Keep tracking the previous lowest price + buy = min (buy, p); + // Keep tacking the current max profit + profit = max(profit, p - buy); + } + return profit; + } +}; From d07df7164c4762444423fa11a295ce75512d141f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 4 Feb 2019 12:15:10 +0800 Subject: [PATCH 191/256] New Problem Solution "Unique Paths III" --- README.md | 1 + .../cpp/uniquePaths/UniquePaths.III.cpp | 100 ++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 algorithms/cpp/uniquePaths/UniquePaths.III.cpp diff --git a/README.md b/README.md index c552294f2..33482f773 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ LeetCode |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| |981|[Time Based Key-Value Store](https://leetcode.com/problems/time-based-key-value-store/) | [C++](./algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp)|Medium| +|980|[Unique Paths III](https://leetcode.com/problems/unique-paths-iii/) | [C++](./algorithms/cpp/uniquePaths/UniquePaths.III.cpp)|Hard| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| diff --git a/algorithms/cpp/uniquePaths/UniquePaths.III.cpp b/algorithms/cpp/uniquePaths/UniquePaths.III.cpp new file mode 100644 index 000000000..0dd78e4fd --- /dev/null +++ b/algorithms/cpp/uniquePaths/UniquePaths.III.cpp @@ -0,0 +1,100 @@ +// Source : https://leetcode.com/problems/unique-paths-iii/ +// Author : Hao Chen +// Date : 2019-02-03 + +/***************************************************************************************************** + * + * On a 2-dimensional grid, there are 4 types of squares: + * + * 1 represents the starting square. There is exactly one starting square. + * 2 represents the ending square. There is exactly one ending square. + * 0 represents empty squares we can walk over. + * -1 represents obstacles that we cannot walk over. + * + * Return the number of 4-directional walks from the starting square to the ending square, that walk + * over every non-obstacle square exactly once. + * + * Example 1: + * + * Input: [[1,0,0,0],[0,0,0,0],[0,0,2,-1]] + * Output: 2 + * Explanation: We have the following two paths: + * 1. (0,0),(0,1),(0,2),(0,3),(1,3),(1,2),(1,1),(1,0),(2,0),(2,1),(2,2) + * 2. (0,0),(1,0),(2,0),(2,1),(1,1),(0,1),(0,2),(0,3),(1,3),(1,2),(2,2) + * + * Example 2: + * + * Input: [[1,0,0,0],[0,0,0,0],[0,0,0,2]] + * Output: 4 + * Explanation: We have the following four paths: + * 1. (0,0),(0,1),(0,2),(0,3),(1,3),(1,2),(1,1),(1,0),(2,0),(2,1),(2,2),(2,3) + * 2. (0,0),(0,1),(1,1),(1,0),(2,0),(2,1),(2,2),(1,2),(0,2),(0,3),(1,3),(2,3) + * 3. (0,0),(1,0),(2,0),(2,1),(2,2),(1,2),(1,1),(0,1),(0,2),(0,3),(1,3),(2,3) + * 4. (0,0),(1,0),(2,0),(2,1),(1,1),(0,1),(0,2),(0,3),(1,3),(1,2),(2,2),(2,3) + * + * Example 3: + * + * Input: [[0,1],[2,0]] + * Output: 0 + * Explanation: + * There is no path that walks over every empty square exactly once. + * Note that the starting and ending square can be anywhere in the grid. + * + * Note: + * + * 1 <= grid.length * grid[0].length <= 20 + * + ******************************************************************************************************/ +class Solution { +public: + int uniquePathsIII(vector>& grid) { + + int path = 0; + int startX, startY; + if (!findStartPoint( grid, startX, startY)) return 0; + uniquePathsHelper(grid, startX, startY, path); + return path; + } + + bool findStartPoint(vector> &grid, int& x, int& y) { + for(int i=0; i> &grid ) { + for(int i=0; i> &grid, int x, int y, int& path ) { + + if (x < 0 || y < 0 || x>= grid.size() || y>=grid[0].size()) return; + + if ( grid[x][y] < 0) return; + + if ( grid[x][y] == 2) { + if (check(grid)) path++; + return; + } + + //back tracing - mark -2 means already passed. + grid[x][y] = -2; + uniquePathsHelper(grid, x, y-1, path); // up + uniquePathsHelper(grid, x, y+1, path); // down + uniquePathsHelper(grid, x+1, y, path); // right + uniquePathsHelper(grid, x-1, y, path); // left + grid[x][y] = 0; + + } +}; From 4b2f4d01be706b379c1820bf4c77c8ce84568662 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 4 Feb 2019 12:16:03 +0800 Subject: [PATCH 192/256] optimzating the implementation of Unique Paths I/II --- algorithms/cpp/uniquePaths/uniquePaths.II.cpp | 25 +++++++++++++ algorithms/cpp/uniquePaths/uniquePaths.cpp | 36 ++++++++++++++----- 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp index 0b3b1027b..782c10dda 100644 --- a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp +++ b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp @@ -53,4 +53,29 @@ int uniquePathsWithObstacles(vector > &obstacleGrid) { return max; } +// the previous implemetation has too many if-else +// the following dynamic programming is much more easy to read +int uniquePathsWithObstacles(vector>& obstacleGrid) { + int row = obstacleGrid.size(); + int col = obstacleGrid[0].size(); + + vector< vector > dp (row, vector(col, 0)); + + dp[0][0] = obstacleGrid[0][0] ? 0 : 1; + for (int r=1; r #include -void printMatrix(int*a, int m, int n); +void printMatrix(int*a, int m, int n) +{ + for (int i=0; i +using namespace std; + +// using C++ STL vector , the code is much easy to read +int uniquePaths(int m, int n) { + vector< vector > dp (n, vector(m, 1)); + for (int row=1; row Date: Mon, 4 Feb 2019 13:36:16 +0800 Subject: [PATCH 193/256] New Problem C++ Solution - "Min Cost Climbing Stairs" --- README.md | 2 +- .../MinCostClimbingStairs.cpp | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp diff --git a/README.md b/README.md index 33482f773..9d7ab41d1 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ LeetCode |804|[Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words/description/) | [C++](./algorithms/cpp/uniqueMorseCodeWords/UniqueMorseCodeWords.cpp)|Easy| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| |747|[Largest Number At Least Twice of Others](https://leetcode.com/problems/largest-number-at-least-twice-of-others/) | [Python](./algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py)|Easy| -|746|[Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [Python](./algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py)|Easy| +|746|[Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [C++](./algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp), [Python](./algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py)|Easy| |717|[1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/) | [Python](./algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py)|Easy| |714|[Best Time to Buy and Sell Stock with Transaction Fee](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee) | [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp)|Medium| |712|[Minimum ASCII Delete Sum for Two Strings](https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/) | [C++](./algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp)|Medium| diff --git a/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp b/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp new file mode 100644 index 000000000..cb5eee56b --- /dev/null +++ b/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp @@ -0,0 +1,45 @@ +// Source : https://leetcode.com/problems/min-cost-climbing-stairs/ +// Author : Hao Chen +// Date : 2019-02-04 + +/***************************************************************************************************** + * + * + * On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). + * + * Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to + * reach the top of the floor, and you can either start from the step with index 0, or the step with + * index 1. + * + * Example 1: + * + * Input: cost = [10, 15, 20] + * Output: 15 + * Explanation: Cheapest is start on cost[1], pay that cost and go to the top. + * + * Example 2: + * + * Input: cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1] + * Output: 6 + * Explanation: Cheapest is start on cost[0], and only step on 1s, skipping cost[3]. + * + * Note: + * + * cost will have a length in the range [2, 1000]. + * Every cost[i] will be an integer in the range [0, 999]. + * + ******************************************************************************************************/ + +class Solution { +public: + int minCostClimbingStairs(vector& cost) { + vector dp(cost.size() , 0); + dp[0] = cost[0]; + + for (int i=1; i Date: Mon, 4 Feb 2019 16:08:18 +0800 Subject: [PATCH 194/256] New Problem Solution "Detect Capital" --- README.md | 1 + .../cpp/detectCapital/DetectCapital.cpp | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 algorithms/cpp/detectCapital/DetectCapital.cpp diff --git a/README.md b/README.md index 9d7ab41d1..9a9022f71 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ LeetCode |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| |532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy| +|520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C++](./algorithms/cpp/detectCapital/DetectCapital.cpp)|Easy| |509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| diff --git a/algorithms/cpp/detectCapital/DetectCapital.cpp b/algorithms/cpp/detectCapital/DetectCapital.cpp new file mode 100644 index 000000000..bc90ae674 --- /dev/null +++ b/algorithms/cpp/detectCapital/DetectCapital.cpp @@ -0,0 +1,50 @@ +// Source : https://leetcode.com/problems/detect-capital/ +// Author : Hao Chen +// Date : 2019-02-04 + +/***************************************************************************************************** + * + * + * Given a word, you need to judge whether the usage of capitals in it is right or not. + * + * We define the usage of capitals in a word to be right when one of the following cases holds: + * + * All letters in this word are capitals, like "USA". + * All letters in this word are not capitals, like "leetcode". + * Only the first letter in this word is capital if it has more than one letter, like "Google". + * + * Otherwise, we define that this word doesn't use capitals in a right way. + * + * Example 1: + * + * Input: "USA" + * Output: True + * + * Example 2: + * + * Input: "FlaG" + * Output: False + * + * Note: + * The input will be a non-empty word consisting of uppercase and lowercase latin letters. + ******************************************************************************************************/ +class Solution { + bool is_lower(char ch) { + return ch >='a' && ch <='z'; + } + bool is_upper(char ch) { + return ch >='A' && ch <='Z'; + } + bool is_alpha(char ch) { + return is_lower(ch) || is_upper(ch); + } +public: + bool detectCapitalUse(string word) { + bool all_upper = true, all_lower = true, first = is_upper(word[0]); + for(int i=1; i Date: Mon, 4 Feb 2019 16:24:37 +0800 Subject: [PATCH 195/256] New Problem Solution "Island Perimeter" --- README.md | 1 + .../cpp/islandPerimeter/IslandPerimeter.cpp | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 algorithms/cpp/islandPerimeter/IslandPerimeter.cpp diff --git a/README.md b/README.md index 9a9022f71..ddf4224b8 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ LeetCode |520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C++](./algorithms/cpp/detectCapital/DetectCapital.cpp)|Easy| |509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| +|463|[Island Perimeter](https://leetcode.com/problems/island-perimeter/) | [C++](./algorithms/cpp/islandPerimeter/IslandPerimeter.cpp)|Easy| |450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| |449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst/) | [Python](./algorithms/python/SerializeAndDeserializeBST/serialize.py)|Medium| |437|[Path Sum III](https://leetcode.com/problems/path-sum-iii/) | [Python](./algorithms/python/PathSumIII/pathSum.py)|Medium| diff --git a/algorithms/cpp/islandPerimeter/IslandPerimeter.cpp b/algorithms/cpp/islandPerimeter/IslandPerimeter.cpp new file mode 100644 index 000000000..c662c3f98 --- /dev/null +++ b/algorithms/cpp/islandPerimeter/IslandPerimeter.cpp @@ -0,0 +1,56 @@ +// Source : https://leetcode.com/problems/island-perimeter/ +// Author : Hao Chen +// Date : 2019-02-04 + +/***************************************************************************************************** + * + * You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 + * represents water. + * + * Grid cells are connected horizontally/vertically (not diagonally). The grid is completely + * surrounded by water, and there is exactly one island (i.e., one or more connected land cells). + * + * The island doesn't have "lakes" (water inside that isn't connected to the water around the island). + * One cell is a square with side length 1. The grid is rectangular, width and height don't exceed + * 100. Determine the perimeter of the island. + * + * Example: + * + * Input: + * [[0,1,0,0], + * [1,1,1,0], + * [0,1,0,0], + * [1,1,0,0]] + * + * Output: 16 + * + * Explanation: The perimeter is the 16 yellow stripes in the image below: + * + ******************************************************************************************************/ +class Solution { +public: + int edge(vector> &grid, int x, int y) { + int edge = 0; + + if (x==0 || (x>0 && grid[x-1][y] == 0 ) ) edge++; //up + if (y==0 || (y>0 && grid[x][y-1] == 0 ) ) edge++; //left + if (x == grid.size() - 1 || + (x < grid.size() - 1 && grid[x+1][y] == 0)) edge++; //down + if (y == grid[0].size() - 1 || + (y < grid[0].size() - 1 && grid[x][y+1] == 0)) edge++; //right + + return edge; + } + + int islandPerimeter(vector>& grid) { + int perimeter = 0; + for(int i=0; i Date: Tue, 5 Feb 2019 11:03:05 +0800 Subject: [PATCH 196/256] New Problem Solution - "Sum of Even Numbers After Queries" --- README.md | 1 + .../SumOfEvenNumbersAfterQueries.cpp | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp diff --git a/README.md b/README.md index ddf4224b8..7566731f7 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|985|[Sum of Even Numbers After Queries](https://leetcode.com/problems/sum-of-even-numbers-after-queries/) | [C++](./algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp)|Easy| |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| |981|[Time Based Key-Value Store](https://leetcode.com/problems/time-based-key-value-store/) | [C++](./algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp)|Medium| diff --git a/algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp b/algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp new file mode 100644 index 000000000..71c013a26 --- /dev/null +++ b/algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp @@ -0,0 +1,68 @@ +// Source : https://leetcode.com/problems/sum-of-even-numbers-after-queries/ +// Author : Hao Chen +// Date : 2019-02-05 + +/***************************************************************************************************** + * + * We have an array A of integers, and an array queries of queries. + * + * For the i-th query val = queries[i][0], index = queries[i][1], we add val to A[index]. Then, the + * answer to the i-th query is the sum of the even values of A. + * + * (Here, the given index = queries[i][1] is a 0-based index, and each query permanently modifies the + * array A.) + * + * Return the answer to all queries. Your answer array should have answer[i] as the answer to the + * i-th query. + * + * Example 1: + * + * Input: A = [1,2,3,4], queries = [[1,0],[-3,1],[-4,0],[2,3]] + * Output: [8,6,2,4] + * Explanation: + * At the beginning, the array is [1,2,3,4]. + * After adding 1 to A[0], the array is [2,2,3,4], and the sum of even values is 2 + 2 + 4 = 8. + * After adding -3 to A[1], the array is [2,-1,3,4], and the sum of even values is 2 + 4 = 6. + * After adding -4 to A[0], the array is [-2,-1,3,4], and the sum of even values is -2 + 4 = 2. + * After adding 2 to A[3], the array is [-2,-1,3,6], and the sum of even values is -2 + 6 = 4. + * + * Note: + * + * 1 <= A.length <= 10000 + * -10000 <= A[i] <= 10000 + * 1 <= queries.length <= 10000 + * -10000 <= queries[i][0] <= 10000 + * 0 <= queries[i][1] < A.length + * + ******************************************************************************************************/ +class Solution { +public: + vector sumEvenAfterQueries(vector& A, vector>& queries) { + int sum = 0; + for(int i=0; i result; + for(auto query : queries) { + int i = query[1]; + int x = A[i] + query[0]; + + if (A[i] % 2 == 0 && x %2 == 0) { + sum += ( -A[i] + x ); + A[i] = x; + } else if (A[i] % 2 != 0 && x %2 == 0) { + sum += x; + A[i] = x; + } else if (A[i] % 2 == 0 && x %2 != 0) { + sum -= A[i]; + A[i] = x; + } else if (A[i] % 2 != 0 && x %2 != 0){ + A[i] = x; + } + result.push_back(sum); + } + + if (result.size()<=0) result.push_back(0); + return result; + } +}; From b585d3684f75f3a591330899ded1884456e3b094 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 5 Feb 2019 11:46:30 +0800 Subject: [PATCH 197/256] New Problem Solution - "Smallest String Starting From Leaf" --- README.md | 1 + .../SmallestStringStartingFromLeaf.cpp | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp diff --git a/README.md b/README.md index 7566731f7..4ab31c797 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| |985|[Sum of Even Numbers After Queries](https://leetcode.com/problems/sum-of-even-numbers-after-queries/) | [C++](./algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp)|Easy| |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| diff --git a/algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp b/algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp new file mode 100644 index 000000000..a6b25b9f4 --- /dev/null +++ b/algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp @@ -0,0 +1,69 @@ +// Source : https://leetcode.com/problems/smallest-string-starting-from-leaf/ +// Author : Hao Chen +// Date : 2019-02-05 + +/***************************************************************************************************** + * + * Given the root of a binary tree, each node has a value from 0 to 25 representing the letters 'a' to + * 'z': a value of 0 represents 'a', a value of 1 represents 'b', and so on. + * + * Find the lexicographically smallest string that starts at a leaf of this tree and ends at the root. + * + * (As a reminder, any shorter prefix of a string is lexicographically smaller: for example, "ab" is + * lexicographically smaller than "aba". A leaf of a node is a node that has no children.) + * + * Example 1: + * + * Input: [0,1,2,3,4,3,4] + * Output: "dba" + * + * Example 2: + * + * Input: [25,1,3,1,3,0,2] + * Output: "adz" + * + * Example 3: + * + * Input: [2,2,1,null,1,0,null,0] + * Output: "abc" + * + * Note: + * + * The number of nodes in the given tree will be between 1 and 1000. + * Each node in the tree will have a value between 0 and 25. + * + ******************************************************************************************************/ +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode(int x) : val(x), left(NULL), right(NULL) {} + * }; + */ +class Solution { +public: + string smallestFromLeaf(TreeNode* root) { + string str, result="{"; //'z'+1; + smallestFromLeafHelper(root, str, result); + return result; + } + + void smallestFromLeafHelper(TreeNode* root, string str, string& result) { + if (root->left == NULL && root->right == NULL) { + str.insert(0, 1, char(root->val+'a')); + result = min(result, str); + return; + } + + str.insert(0, 1, char(root->val+'a')); + + if (root->left) { + smallestFromLeafHelper(root->left, str, result); + } + if (root->right) { + smallestFromLeafHelper(root->right, str, result); + } + } +}; From b5e252beedb220dbb952f15a73adfd049332c4fa Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 5 Feb 2019 13:31:35 +0800 Subject: [PATCH 198/256] New Problem Solution - "Vertical Order Traversal of a Binary Tree" --- README.md | 1 + .../VerticalOrderTraversalOfABinaryTree.cpp | 133 ++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp diff --git a/README.md b/README.md index 4ab31c797..92e9cfb6c 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| +|987|[Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/) | [C++](./algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp)|Medium| |985|[Sum of Even Numbers After Queries](https://leetcode.com/problems/sum-of-even-numbers-after-queries/) | [C++](./algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp)|Easy| |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| diff --git a/algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp b/algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp new file mode 100644 index 000000000..3eea51cb9 --- /dev/null +++ b/algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp @@ -0,0 +1,133 @@ +// Source : https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/ +// Author : Hao Chen +// Date : 2019-02-05 + +/***************************************************************************************************** + * + * Given a binary tree, return the vertical order traversal of its nodes values. + * + * For each node at position (X, Y), its left and right children respectively will be at positions + * (X-1, Y-1) and (X+1, Y-1). + * + * Running a vertical line from X = -infinity to X = +infinity, whenever the vertical line touches + * some nodes, we report the values of the nodes in order from top to bottom (decreasing Y + * coordinates). + * + * If two nodes have the same position, then the value of the node that is reported first is the value + * that is smaller. + * + * Return an list of non-empty reports in order of X coordinate. Every report will have a list of + * values of nodes. + * + * Example 1: + * + * + * +--+ + * +----+3 +----+ + * | +--+ | + * | | + * +--+ +--+ + * |9 | +---+20+---+ + * +--+ | +--+ | + * | | + * +--+ +--+ + * |15| |7 | + * +--+ +--+ + * + * + * Input: [3,9,20,null,null,15,7] + * Output: [[9],[3,15],[20],[7]] + * Explanation: + * Without loss of generality, we can assume the root node is at position (0, 0): + * Then, the node with value 9 occurs at position (-1, -1); + * The nodes with values 3 and 15 occur at positions (0, 0) and (0, -2); + * The node with value 20 occurs at position (1, -1); + * The node with value 7 occurs at position (2, -2). + * + * Example 2: + * + * + * +-+ + * |1| + * +-----------+ + * | | + * +++ +++ + * |2| |3| + * +--------+ +--------+ + * | | | | + * +++ ++--++ +++ + * |4| |5||6| |7| + * +-+ +----+ +-+ + * + * + * Input: [1,2,3,4,5,6,7] + * Output: [[4],[2],[1,5,6],[3],[7]] + * Explanation: + * The node with value 5 and the node with value 6 have the same position according to the given + * scheme. + * However, in the report "[1,5,6]", the node value of 5 comes first since 5 is smaller than 6. + * + * Note: + * + * The tree will have between 1 and 1000 nodes. + * Each node's value will be between 0 and 1000. + * + ******************************************************************************************************/ + +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode(int x) : val(x), left(NULL), right(NULL) {} + * }; + */ +class Item { +public: + Item(int _x, int _y, int _val):x(_x), y(_y),val(_val) {} + int x, y; + int val; +}; + +class ItemCmp { +public: + bool operator () (const Item &lhs, const Item &rhs) const { + return lhs.y != rhs.y ? lhs.y > rhs.y : lhs.val < rhs.val; + } +}; + +int getValue(const Item& i) { + return i.val; +} + +class Solution { +public: + vector> verticalTraversal(TreeNode* root) { + set rows; + unordered_map> m; + + verticalTraversalHelper(root, 0, 0, rows, m); + + vector> result; + for(auto r : rows) { + vector v; + transform(m[r].begin(), m[r].end(), back_inserter(v), getValue); + result.push_back(v); + } + return result; + } + void verticalTraversalHelper(TreeNode* root, int x, int y, + set& rows, + unordered_map>& m) { + + if ( !root ) return; + + rows.insert(x); + m[x].insert(Item(x, y, root->val)); + verticalTraversalHelper(root->left, x-1, y-1, rows, m); //left + verticalTraversalHelper(root->right, x+1, y-1, rows, m); //right + + + } +}; From fed3639647d31167e063d50bb97630f4f6fb04d3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 5 Feb 2019 14:44:47 +0800 Subject: [PATCH 199/256] New Probelm Solution = "Interval List Intersections" --- README.md | 1 + .../IntervalListIntersections.cpp | 94 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 algorithms/cpp/intervalListIntersectons/IntervalListIntersections.cpp diff --git a/README.md b/README.md index 92e9cfb6c..e36894808 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ LeetCode |---| ----- | -------- | ---------- | |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| |987|[Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/) | [C++](./algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp)|Medium| +|986|[Interval List Intersections](https://leetcode.com/problems/interval-list-intersections/) | [C++](./algorithms/cpp/intervalListIntersectons/IntervalListIntersections.cpp)|Medium| |985|[Sum of Even Numbers After Queries](https://leetcode.com/problems/sum-of-even-numbers-after-queries/) | [C++](./algorithms/cpp/sumOfEvenNumbersAfterQueries/SumOfEvenNumbersAfterQueries.cpp)|Easy| |984|[String Without AAA or BBB](https://leetcode.com/problems/string-without-aaa-or-bbb/) | [C++](./algorithms/cpp/stringWithoutAAAOrBBB/StringWithoutAAAOrBBB.cpp)|Easy| |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| diff --git a/algorithms/cpp/intervalListIntersectons/IntervalListIntersections.cpp b/algorithms/cpp/intervalListIntersectons/IntervalListIntersections.cpp new file mode 100644 index 000000000..8a3112b37 --- /dev/null +++ b/algorithms/cpp/intervalListIntersectons/IntervalListIntersections.cpp @@ -0,0 +1,94 @@ +// Source : https://leetcode.com/problems/interval-list-intersections/ +// Author : Hao Chen +// Date : 2019-02-05 + +/***************************************************************************************************** + * + * Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted + * order. + * + * Return the intersection of these two interval lists. + * + * (Formally, a closed interval [a, b] (with a <= b) denotes the set of real numbers x with a <= x <= + * b. The intersection of two closed intervals is a set of real numbers that is either empty, or can + * be represented as a closed interval. For example, the intersection of [1, 3] and [2, 4] is [2, 3].) + * + * Example 1: + * + * 0 2 5 10 13 23 24 25 + * A +---+ +-------+ +-------------+ +--+ + * + * 1 5 8 12 15 24 25 26 + * B +------+ +------+ +----------+ +--+ + * + * 1 2 5 8 10 15 23 24 25 + * Ans ++ + +--+ +--------+ + + + * + * + * Input: A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[25,26]] + * Output: [[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]] + * Reminder: The inputs and the desired output are lists of Interval objects, and not arrays or lists. + * + * Note: + * + * 0 <= A.length < 1000 + * 0 <= B.length < 1000 + * 0 <= A[i].start, A[i].end, B[i].start, B[i].end < 109 + * + ******************************************************************************************************/ + +/** + * Definition for an interval. + * struct Interval { + * int start; + * int end; + * Interval() : start(0), end(0) {} + * Interval(int s, int e) : start(s), end(e) {} + * }; + */ +class Solution { +public: + //return true if lhs starts earlier than rhs + bool compareInterval(Interval& lhs, Interval& rhs) { + return lhs.start < rhs.start; + } + //check two interval overlapped or not + bool overlapped(Interval& lhs, Interval& rhs) { + return (compareInterval(lhs, rhs)) ? + lhs.end >= rhs.start: + rhs.end >= lhs.start; + + } + //merge two interval - return the intersections of two intervals + Interval mergeTwoInterval(Interval& lhs, Interval& rhs) { + Interval result; + result.start = max(lhs.start, rhs.start); + result.end = min(lhs.end, rhs.end); + return result; + } + + vector intervalIntersection(vector& A, vector& B) { + int lenA = A.size(); + int lenB = B.size(); + + vector result; + if (lenA <=0 || lenB<=0) return result; //edge case + + int i=0, j=0; + while ( i < lenA && j < lenB ) { + if( overlapped(A[i], B[j]) ) { + result.push_back(mergeTwoInterval(A[i], B[j])); + // if the current interval is not overlapped with next one, + // then we move the next interval. + int nexti = i; + if ( j==lenB-1 || !overlapped(A[i], B[j+1]) ) nexti=i+1; + if ( i==lenA-1 || !overlapped(A[i+1], B[j]) ) j++; + i = nexti; + }else{ + //if not overlapped, we just move the next one + compareInterval(A[i], B[j]) ? i++ : j++; + } + } + return result; + } +}; From 3b49afb2a2ac906ea7c4e5ee5e91edf8373d9b58 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 18 Mar 2019 17:22:09 +0800 Subject: [PATCH 200/256] added a recursive solution --- algorithms/cpp/coinChange/coinChange.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/algorithms/cpp/coinChange/coinChange.cpp b/algorithms/cpp/coinChange/coinChange.cpp index 2b7d9b296..2085f623b 100644 --- a/algorithms/cpp/coinChange/coinChange.cpp +++ b/algorithms/cpp/coinChange/coinChange.cpp @@ -25,6 +25,26 @@ * cases. * ***************************************************************************************/ + + +/* Recursive solution - TIME LIMIT ERROR */ +class Solution { +public: + int coinChange(vector& coins, int amount) { + int result = INT_MAX; + if ( amount == 0 ) return 0; + if ( amount < 0 ) return -1; + for (int i=0; i r ) result = r + 1; + } + return result == INT_MAX ? -1 : result; + } +} + + /* * Solution 1 - O(N * amount) * ========= From 0674c9b3dcfe9a5dab3297c01930ccbd90fa362c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 18 Mar 2019 17:22:55 +0800 Subject: [PATCH 201/256] New Problem Solution "Coin Change 2" --- README.md | 1 + algorithms/cpp/coinChange/CoinChange2.cpp | 84 +++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 algorithms/cpp/coinChange/CoinChange2.cpp diff --git a/README.md b/README.md index e36894808..547671b11 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ LeetCode |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| |532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy| |520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C++](./algorithms/cpp/detectCapital/DetectCapital.cpp)|Easy| +|518|[Coin Change 2](https://leetcode.com/problems/coin-change-2/) | [C++](./algorithms/cpp/coinChange/CoinChange2.cpp)|Medium| |509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |463|[Island Perimeter](https://leetcode.com/problems/island-perimeter/) | [C++](./algorithms/cpp/islandPerimeter/IslandPerimeter.cpp)|Easy| diff --git a/algorithms/cpp/coinChange/CoinChange2.cpp b/algorithms/cpp/coinChange/CoinChange2.cpp new file mode 100644 index 000000000..2bcb99205 --- /dev/null +++ b/algorithms/cpp/coinChange/CoinChange2.cpp @@ -0,0 +1,84 @@ +// Source : https://leetcode.com/problems/coin-change-2/ +// Author : Hao Chen +// Date : 2019-03-18 + +/***************************************************************************************************** + * + * You are given coins of different denominations and a total amount of money. Write a function to + * compute the number of combinations that make up that amount. You may assume that you have infinite + * number of each kind of coin. + * + * Example 1: + * + * Input: amount = 5, coins = [1, 2, 5] + * Output: 4 + * Explanation: there are four ways to make up the amount: + * 5=5 + * 5=2+2+1 + * 5=2+1+1+1 + * 5=1+1+1+1+1 + * + * Example 2: + * + * Input: amount = 3, coins = [2] + * Output: 0 + * Explanation: the amount of 3 cannot be made up just with coins of 2. + * + * Example 3: + * + * Input: amount = 10, coins = [10] + * Output: 1 + * + * Note: + * + * You can assume that + * + * 0 <= amount <= 5000 + * 1 <= coin <= 5000 + * the number of coins is less than 500 + * the answer is guaranteed to fit into signed 32-bit integer + * + ******************************************************************************************************/ +class Solution { +public: + int change(int amount, vector& coins) { + return change_dp(amount, coins); + return change_recursive(amount, coins); // Time Limit Error + } + + + int change_recursive(int amount, vector& coins) { + int result = 0; + change_recursive_helper(amount, coins, 0, result); + return result; + } + + // the `idx` is used for remove the duplicated solutions. + void change_recursive_helper(int amount, vector& coins, int idx, int& result) { + if (amount == 0) { + result++; + return; + } + + for ( int i = idx; i < coins.size(); i++ ) { + if (amount < coins[i]) continue; + change_recursive_helper(amount - coins[i], coins, i, result); + } + return; + } + + int change_dp(int amount, vector& coins) { + vector dp(amount+1, 0); + dp[0] = 1; + for (int i=0; i= coins[i]) { + dp[n] += dp[n-coins[i]]; + } + } + } + + return dp[amount]; + } +}; + From 19658033ed6c37867f269feab640d4188716aacc Mon Sep 17 00:00:00 2001 From: ehds Date: Tue, 26 Feb 2019 20:43:05 +0800 Subject: [PATCH 202/256] fix uniquePaths.II solution --- algorithms/cpp/uniquePaths/uniquePaths.II.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp index 782c10dda..477c29f82 100644 --- a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp +++ b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp @@ -30,11 +30,15 @@ using namespace std; //As same as DP solution with "Unique Path I", just need to consider the obstacles. -int uniquePathsWithObstacles(vector > &obstacleGrid) { - vector< vector > v = obstacleGrid; +int uniquePathsWithObstacles(vector>& obstacleGrid) { + + int row =obstacleGrid.size(); + int col = obstacleGrid[0].size(); + vector> v (row, vector(col, 0)); + unsigned int max=0; - for (int i=0; i>& obstacleGrid) { int row = obstacleGrid.size(); int col = obstacleGrid[0].size(); - vector< vector > dp (row, vector(col, 0)); + vector< vector > dp (row, vector(col, 0)); dp[0][0] = obstacleGrid[0][0] ? 0 : 1; for (int r=1; r Date: Tue, 26 Feb 2019 20:45:14 +0800 Subject: [PATCH 203/256] fix uniquePaths.II cpp solution --- algorithms/cpp/uniquePaths/uniquePaths.II.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp index 477c29f82..c6b730f4a 100644 --- a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp +++ b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp @@ -31,14 +31,10 @@ using namespace std; //As same as DP solution with "Unique Path I", just need to consider the obstacles. int uniquePathsWithObstacles(vector>& obstacleGrid) { - - int row =obstacleGrid.size(); - int col = obstacleGrid[0].size(); vector> v (row, vector(col, 0)); - unsigned int max=0; - for (int i=0; i Date: Tue, 26 Feb 2019 20:47:53 +0800 Subject: [PATCH 204/256] fix uniquePaths.II cpp solution --- algorithms/cpp/uniquePaths/uniquePaths.II.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp index c6b730f4a..6cbe39d1b 100644 --- a/algorithms/cpp/uniquePaths/uniquePaths.II.cpp +++ b/algorithms/cpp/uniquePaths/uniquePaths.II.cpp @@ -33,8 +33,8 @@ using namespace std; int uniquePathsWithObstacles(vector>& obstacleGrid) { vector> v (row, vector(col, 0)); unsigned int max=0; - for (int i=0; i Date: Mon, 18 Mar 2019 17:41:03 +0800 Subject: [PATCH 205/256] fix #167 : need to check `y` is overflowed --- algorithms/cpp/palindromeNumber/palindromeNumber.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/palindromeNumber/palindromeNumber.cpp b/algorithms/cpp/palindromeNumber/palindromeNumber.cpp index fde572f3b..021f55125 100644 --- a/algorithms/cpp/palindromeNumber/palindromeNumber.cpp +++ b/algorithms/cpp/palindromeNumber/palindromeNumber.cpp @@ -26,7 +26,12 @@ class Solution { public: - bool isPalindrome(int x) { + bool isPalindrome(int x) { + return isPalindrome1(x); + return isPalindrome2(x); + } + + bool isPalindrome1(int x) { if (x<0) { return false; } @@ -59,6 +64,9 @@ class Solution { int n; while( x!=0 ){ n = x%10; + //check if y is overflowed or not. + //if it is, then it's not palindrome + if ( y > INT_MAX/10 - n) return x-1; y = y*10 + n; x /= 10; } From 054e4268593e6573b535643537342936f56c8b91 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 20 Mar 2019 19:40:43 +0800 Subject: [PATCH 206/256] New Problem Solution - "Game of Life" --- README.md | 2 + algorithms/cpp/gameOfLife/GameOfLife.cpp | 94 ++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 algorithms/cpp/gameOfLife/GameOfLife.cpp diff --git a/README.md b/README.md index 547671b11..5af4e239d 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,7 @@ LeetCode |295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/) | [C++](./algorithms/cpp/findMedianFromDataStream/FindMedianFromDataStream.cpp)|Hard| |292|[Nim Game](https://leetcode.com/problems/nim-game/) | [C++](./algorithms/cpp/nimGame/nimGame.cpp)|Easy| |290|[Word Pattern](https://leetcode.com/problems/word-pattern/) | [C++](./algorithms/cpp/wordPattern/WordPattern.cpp)|Easy| +|289|[Game of Life](https://leetcode.com/problems/game-of-life/) | [C++](./algorithms/cpp/gameOfLife/GameOfLife.cpp)|Medium| |287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/) | [C++](./algorithms/cpp/findTheDuplicateNumber/findTheDuplicateNumber.cpp), [Python](./algorithms/python/FindTheDuplicateNumber/findDuplicate.py)|Hard| |285|[Inorder Successor in BST](https://leetcode.com/problems/inorder-successor-in-bst/) ♥ | [Java](./algorithms/java/src/inorderSuccessorInBST/inorderSuccessorInBST.java)|Medium| |284|[Peeking Iterator](https://leetcode.com/problems/peeking-iterator/) | [C++](./algorithms/cpp/peekingIterator/PeekingIterator.cpp)|Medium| @@ -408,3 +409,4 @@ LeetCode |---| ----- | -------- | ---------- | |1|[Search in a big sorted array](http://www.lintcode.com/en/problem/search-in-a-big-sorted-array/)|[Java](./algorithms/java/src/searchInABigSortedArray/searchInABigSortedArray.java)|Medium| |2|[Search Range in Binary Search Tree](http://www.lintcode.com/en/problem/search-range-in-binary-search-tree/) | [Java](./algorithms/java/src/searchRangeInBinarySearchTree/searchRangeInBinarySearchTree.java)|Medium| + diff --git a/algorithms/cpp/gameOfLife/GameOfLife.cpp b/algorithms/cpp/gameOfLife/GameOfLife.cpp new file mode 100644 index 000000000..328bf5e5a --- /dev/null +++ b/algorithms/cpp/gameOfLife/GameOfLife.cpp @@ -0,0 +1,94 @@ +// Source : https://leetcode.com/problems/game-of-life/ +// Author : Hao Chen +// Date : 2019-03-20 + +/***************************************************************************************************** + * + * According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a cellular + * automaton devised by the British mathematician John Horton Conway in 1970." + * + * Given a board with m by n cells, each cell has an initial state live (1) or dead (0). Each cell + * interacts with its eight neighbors (horizontal, vertical, diagonal) using the following four rules + * (taken from the above Wikipedia article): + * + * Any live cell with fewer than two live neighbors dies, as if caused by under-population. + * Any live cell with two or three live neighbors lives on to the next generation. + * Any live cell with more than three live neighbors dies, as if by over-population.. + * Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction. + * + * Write a function to compute the next state (after one update) of the board given its current state. + * The next state is created by applying the above rules simultaneously to every cell in the current + * state, where births and deaths occur simultaneously. + * + * Example: + * + * Input: + * [ + * [0,1,0], + * [0,0,1], + * [1,1,1], + * [0,0,0] + * ] + * Output: + * [ + * [0,0,0], + * [1,0,1], + * [0,1,1], + * [0,1,0] + * ] + * + * Follow up: + * + * Could you solve it in-place? Remember that the board needs to be updated at the same time: + * You cannot update some cells first and then use their updated values to update other cells. + * In this question, we represent the board using a 2D array. In principle, the board is + * infinite, which would cause problems when the active area encroaches the border of the array. How + * would you address these problems? + * + ******************************************************************************************************/ + + +class Solution { +public: + // the problem here is we need store two states in one cell, + // one is the original state, another is the new state + // So, we could store the state into the bit. + // - Old State: the first bit from the right + // - New State: the second bit from the right + void liveCheck(vector>& board, int r, int c) { + int cnt = 0; + for (int i=r-1; i<=r+1; i++) { + if (i < 0 || i>=board.size()) continue; + for (int j=c-1; j<=c+1; j++) { + if (j<0 || j>=board[0].size() || (i==r && j==c)) continue; + if ( board[i][j] & 1 ) cnt++; + } + } + + //live -> die + //if (board[r][c]==1 && (cnt < 2 || cnt > 3)) board[r][c] = 1; + + //live -> live + if ( board[r][c] == 1 && (cnt == 2 || cnt == 3) ) board[r][c] = 3; + + //die -> live + if ( board[r][c] == 0 && cnt == 3 ) board[r][c] = 2; + + } + + void gameOfLife(vector>& board) { + for (int i=0; i>= 1; + } + + } + + } +}; From 1b0bf37ebee913e367a21750d1ada2fa43c8ac10 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 21 Mar 2019 18:44:40 +0800 Subject: [PATCH 207/256] add Hao's implementation --- .../increasingTripletSubsequence.cpp | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp b/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp index a53f3d7bd..d2a69b84c 100644 --- a/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp +++ b/algorithms/cpp/increasingTripletSubsequence/increasingTripletSubsequence.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/increasing-triplet-subsequence/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2016-02-27 /*************************************************************************************** @@ -41,3 +41,25 @@ class Solution { return solution; } }; + + +//Hao Chen's implementation +class Solution { +public: + bool increasingTriplet(vector& nums) { + if (nums.size() < 3) return false; + + int first=INT_MAX, second = INT_MAX; + + for(int i=0; i nums[i] ) { + first = nums[i]; + }else if ( first < nums[i] && nums[i] < second) { + second = nums[i]; + }else if (nums[i] > second){ + return true; + } + } + return false; + } +}; From 4905e7f06605e61f3b53cac55aabe3547eba1eff Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 24 Mar 2019 16:23:09 +0800 Subject: [PATCH 208/256] New Problem Solution "Count Numbers with Unique Digits" --- README.md | 1 + .../CountNumbersWithUniqueDigits.cpp | 70 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 algorithms/cpp/countNumbersWithUniqueDigits/CountNumbersWithUniqueDigits.cpp diff --git a/README.md b/README.md index 5af4e239d..ff26f835d 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ LeetCode |376|[Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/) | [C++](./algorithms/cpp/wiggleSubsequence/wiggleSubsequence.cpp)|Medium| |371|[Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers/description/) | [C++](./algorithms/cpp/sumOfTwoIntegers/SumOfTwoIntegers.cpp)|Easy| |367|[Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square/description/) | [C++](./algorithms/cpp/validPerfectSquare/ValidPerfectSquare.cpp)|Easy| +|357|[Count Numbers with Unique Digits](https://leetcode.com/problems/count-numbers-with-unique-digits/) | [C++](./algorithms/cpp/countNumbersWithUniqueDigits/CountNumbersWithUniqueDigits.cpp)|Medium| |350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArraysII.cpp)|Easy| |349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/) | [C++](./algorithms/cpp/intersectionOfTwoArrays/intersectionOfTwoArrays.cpp)|Easy| |347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/) | [C++](./algorithms/cpp/topKFrequentElements/topKFrequentElements.cpp)|Medium| diff --git a/algorithms/cpp/countNumbersWithUniqueDigits/CountNumbersWithUniqueDigits.cpp b/algorithms/cpp/countNumbersWithUniqueDigits/CountNumbersWithUniqueDigits.cpp new file mode 100644 index 000000000..6733dced3 --- /dev/null +++ b/algorithms/cpp/countNumbersWithUniqueDigits/CountNumbersWithUniqueDigits.cpp @@ -0,0 +1,70 @@ +// Source : https://leetcode.com/problems/count-numbers-with-unique-digits/ +// Author : Hao Chen +// Date : 2019-03-24 + +/***************************************************************************************************** + * + * Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. + * + * Example: + * + * Input: 2 + * Output: 91 + * Explanation: The answer should be the total numbers in the range of 0 ≤ x < 100, + * excluding 11,22,33,44,55,66,77,88,99 + * + ******************************************************************************************************/ + + +// Considering three digits +// - the first place could be [1-9] which has 9 choices. +// - the second place could be [0-9] with excluding the first digit, which is 10-1=9 choices. +// - the third place could be [0-9] with excluding the 1st and 2nd digits, which is 10-2=8 choices. +// So, three digits has 9*9*8 unique digits. +// +// After adds the 1 digit unique number,and 2 digits unique number, we can have the result: +// +// 9*9*8 + 9*9 + 10 = 648 + 81 + 10 = 739 +// +// n = 0, a[0] = 1; +// n = 1, a[1] = 9 + a[0]; +// n = 2, a[2] = 9*9 + a[1]; +// n = 3, a[3] = 9*9*8 + a[2]; +// n = 4, a[4] = 9*9*8*7 + a[3]; +// .... +class Solution { +public: + int countNumbersWithUniqueDigits(int n) { + int result = 1; + for (int i=0; i Date: Sun, 24 Mar 2019 17:23:12 +0800 Subject: [PATCH 209/256] House Robber III - another implementation --- algorithms/cpp/houseRobber/houseRobberIII.cpp | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/algorithms/cpp/houseRobber/houseRobberIII.cpp b/algorithms/cpp/houseRobber/houseRobberIII.cpp index 8bb4aeadf..2004fc398 100644 --- a/algorithms/cpp/houseRobber/houseRobberIII.cpp +++ b/algorithms/cpp/houseRobber/houseRobberIII.cpp @@ -1,5 +1,5 @@ // Source : https://leetcode.com/problems/house-robber-iii/ -// Author : Calinescu Valentin +// Author : Calinescu Valentin, Hao Chen // Date : 2016-04-29 /*************************************************************************************** @@ -86,3 +86,49 @@ class Solution { return dict[root]; } }; + + +// Another implementation - Hao Chen + +class Solution { +public: + int max(int a, int b) { + return a > b ? a: b; + } + int max(int a, int b, int c) { + return max(a, max(b,c)); + } + int max(int a, int b, int c, int d) { + return max(a, max(b, max(c,d))); + } + + void rob_or_not(TreeNode* root, int& max_robbed, int& max_not_robbed) { + // NULL room return 0; + if (root == NULL) { + max_robbed = max_not_robbed = 0; + return ; + } + + // we have two options, rob current room or not. + int max_left_robbed, max_left_not_robbed; + int max_right_robbed, max_right_not_robbed; + rob_or_not(root->left, max_left_robbed, max_left_not_robbed); + rob_or_not(root->right, max_right_robbed, max_right_not_robbed); + + // If root is robbed, then both left and right must not be robbed. + max_robbed = root->val + max_left_not_robbed + max_right_not_robbed; + + // If root is not robbed, then 4 combinations are possible: + // left is robbed or not and right is either robbed or not robbed, + max_not_robbed = max(max_left_robbed + max_right_robbed, + max_left_robbed + max_right_not_robbed, + max_left_not_robbed + max_right_robbed, + max_left_not_robbed + max_right_not_robbed); + + } + int rob(TreeNode* root) { + int robbed, not_robbed; + rob_or_not(root, robbed, not_robbed); + return max(robbed, not_robbed); + } +}; From 395a4d8bbaf5affdffba2c6e78b26d64688e4f1f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 25 Mar 2019 14:29:49 +0800 Subject: [PATCH 210/256] reformat the script --- scripts/comments.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index 30b35e721..f89d3e48e 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -36,7 +36,7 @@ function get_author_name() git=`type -P git || ${TRUE_CMD}` if [ ! -z "${git}" ]; then AUTHOR=`git config --get user.name` - else + else AUTHOR=`whoami` fi } @@ -113,10 +113,10 @@ else fi -# the source file is existed but it is empty, add a line, +# the source file is existed but it is empty, add a line, # otherwise it could casue the comments inserts failed. if [ ! -s $source_file ]; then - echo "" > $source_file + echo "" > $source_file fi #detect the author name @@ -133,7 +133,7 @@ fi #echo "--------------" -#echo "$QUESTION_CONTENT" +#echo "$QUESTION_CONTENT" #echo $QUESTION_DIFFICULTY #echo $QUESTION_TITLE #echo $QUESTION_ID @@ -142,7 +142,7 @@ fi function make_comments() { - + # arguments - comment content, style and the outputfile CONTENT=${1} STYLE=${2} @@ -151,23 +151,23 @@ function make_comments() { # the width of comments WIDTH=100 WIDTH_SEQ=$(seq 1 ${WIDTH}) - + # 1) the `fold` command is used to wrap the text at centain column # 2) the last two `sed` commands are used to add the comments tags case ${STYLE} in - clike ) echo "${CONTENT}" | + clike ) echo "${CONTENT}" | sed 's/^[[:space:]]*$/'"$(printf '\n')"'/g' | cat -s | # replace the multiple empty line with a single empty line fold -w ${WIDTH} -s | # wrap the text at centain column - sed 's/^/ * /' | # add the '*' for each line - sed '1i\'$'\n'"/*$(printf '%.0s*' ${WIDTH_SEQ}) "$'\n' | # add the first line - /*********** + sed 's/^/ * /' | # add the '*' for each line + sed '1i\'$'\n'"/*$(printf '%.0s*' ${WIDTH_SEQ}) "$'\n' | # add the first line - /*********** sed '2i\'$'\n'"@@@*"$'\n' | sed 's/^@@@/ /g' | # add the second line - * (lead by a space) - sed '$a\'$'\n'"@@@*$(printf '%.0s*' ${WIDTH_SEQ})*/"$'\n'| # add the end line - **********/ + sed '$a\'$'\n'"@@@*$(printf '%.0s*' ${WIDTH_SEQ})*/"$'\n'| # add the end line - **********/ sed 's/^@@@/ /' > ${OUTPUT_FILE} ;; script ) echo "${CONTENT}" | sed 's/^[[:space:]]*$/'"$(printf '\n')"'/g' | cat -s | # replace the multiple empty line with a single empty line fold -w ${WIDTH} -s | # wrap the text at centain column - sed 's/^/# /' | # add the '*' for each line + sed 's/^/# /' | # add the '*' for each line sed '1i\'$'\n'"#$(printf '%.0s#' ${WIDTH_SEQ}) "$'\n' | # add the first line - ############ sed '2i\'$'\n'"#"$'\n' | # add the second line - # sed '$a\'$'\n'"#$(printf '%.0s#' ${WIDTH_SEQ})"$'\n' > ${OUTPUT_FILE} # add the end line - ############# @@ -179,11 +179,11 @@ function make_comments() { TMP_FILE=/tmp/tmp.txt case ${FILE_EXT} in - .c | .cpp | .java ) + .c | .cpp | .java ) make_comments "${QUESTION_CONTENT}" clike "${TMP_FILE}" ;; - .sh | .py ) - make_comments "${QUESTION_CONTENT}" script "${TMP_FILE}" + .sh | .py ) + make_comments "${QUESTION_CONTENT}" script "${TMP_FILE}" ;; * ) echo "Bad file extension!" From 86183f92791c234a7943410adf9e760eca5b366d Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 25 Mar 2019 14:31:02 +0800 Subject: [PATCH 211/256] fix the bug - tr: Illegal byte sequence --- scripts/comments.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/comments.sh b/scripts/comments.sh index f89d3e48e..bb5eeae0a 100755 --- a/scripts/comments.sh +++ b/scripts/comments.sh @@ -191,7 +191,7 @@ case ${FILE_EXT} in esac #remove the ^M chars -cat -v ${TMP_FILE} | tr -d '^M' > ${TMP_FILE}.1 +tr -d $'\r' < ${TMP_FILE} > ${TMP_FILE}.1 mv ${TMP_FILE}.1 ${TMP_FILE} #insert the problem description into the source file, and remove it From f18b0251453f3b8135ba240ec79aa52365bd71d3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 25 Mar 2019 14:32:57 +0800 Subject: [PATCH 212/256] New Problem Solution "Add to Array-Form of Integer" --- README.md | 1 + .../AddToArrayFormOfInteger.cpp | 62 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp diff --git a/README.md b/README.md index ff26f835d..007cef2cf 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|989|[Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/) | [C++](./algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp)|Easy| |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| |987|[Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/) | [C++](./algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp)|Medium| |986|[Interval List Intersections](https://leetcode.com/problems/interval-list-intersections/) | [C++](./algorithms/cpp/intervalListIntersectons/IntervalListIntersections.cpp)|Medium| diff --git a/algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp b/algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp new file mode 100644 index 000000000..652a5d0e6 --- /dev/null +++ b/algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp @@ -0,0 +1,62 @@ +// Source : https://leetcode.com/problems/add-to-array-form-of-integer/ +// Author : Hao Chen +// Date : 2019-03-25 + +/***************************************************************************************************** + * + * For a non-negative integer X, the array-form of X is an array of its digits in left to right order. + * For example, if X = 1231, then the array form is [1,2,3,1]. + * + * Given the array-form A of a non-negative integer X, return the array-form of the integer X+K. + * + * Example 1: + * + * Input: A = [1,2,0,0], K = 34 + * Output: [1,2,3,4] + * Explanation: 1200 + 34 = 1234 + * + * Example 2: + * + * Input: A = [2,7,4], K = 181 + * Output: [4,5,5] + * Explanation: 274 + 181 = 455 + * + * Example 3: + * + * Input: A = [2,1,5], K = 806 + * Output: [1,0,2,1] + * Explanation: 215 + 806 = 1021 + * + * Example 4: + * + * Input: A = [9,9,9,9,9,9,9,9,9,9], K = 1 + * Output: [1,0,0,0,0,0,0,0,0,0,0] + * Explanation: 9999999999 + 1 = 10000000000 + * + * Note: + * + * 1 <= A.length <= 10000 + * 0 <= A[i] <= 9 + * 0 <= K <= 10000 + * If A.length > 1, then A[0] != 0 + * + ******************************************************************************************************/ + +class Solution { +public: + vector addToArrayForm(vector& A, int K) { + int carry = K; + for (int i = A.size() - 1; i >= 0 && carry > 0; i--) { + int a = A[i] + carry; + A[i] = a % 10 ; + carry = a / 10; + } + + while ( carry > 0 ) { + A.insert(A.begin(), carry%10); + carry /= 10; + } + + return A; + } +}; From 2f01d8988d67d2844fe423e30c0db4715b578627 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 25 Mar 2019 15:37:57 +0800 Subject: [PATCH 213/256] New Problem Solution "Satisfiability of Equality Equations" --- README.md | 1 + .../SatisfiabilityOfEqualityEquations.cpp | 101 ++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp diff --git a/README.md b/README.md index 007cef2cf..3fa9fa245 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| |989|[Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/) | [C++](./algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp)|Easy| |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| |987|[Vertical Order Traversal of a Binary Tree](https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/) | [C++](./algorithms/cpp/verticalOrderTraversalOfABinaryTree/VerticalOrderTraversalOfABinaryTree.cpp)|Medium| diff --git a/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp b/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp new file mode 100644 index 000000000..bfdbf0a92 --- /dev/null +++ b/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp @@ -0,0 +1,101 @@ +// Source : https://leetcode.com/problems/satisfiability-of-equality-equations/ +// Author : Hao Chen +// Date : 2019-03-25 + +/***************************************************************************************************** + * + * Given an array equations of strings that represent relationships between variables, each string + * equations[i] has length 4 and takes one of two different forms: "a==b" or "a!=b". Here, a and b + * are lowercase letters (not necessarily different) that represent one-letter variable names. + * + * Return true if and only if it is possible to assign integers to variable names so as to satisfy all + * the given equations. + * + * Example 1: + * + * Input: ["a==b","b!=a"] + * Output: false + * Explanation: If we assign say, a = 1 and b = 1, then the first equation is satisfied, but not the + * second. There is no way to assign the variables to satisfy both equations. + * + * Example 2: + * + * Input: ["b==a","a==b"] + * Output: true + * Explanation: We could assign a = 1 and b = 1 to satisfy both equations. + * + * Example 3: + * + * Input: ["a==b","b==c","a==c"] + * Output: true + * + * Example 4: + * + * Input: ["a==b","b!=c","c==a"] + * Output: false + * + * Example 5: + * + * Input: ["c==c","b==d","x!=z"] + * Output: true + * + * Note: + * + * 1 <= equations.length <= 500 + * equations[i].length == 4 + * equations[i][0] and equations[i][3] are lowercase letters + * equations[i][1] is either '=' or '!' + * equations[i][2] is '=' + * + ******************************************************************************************************/ + + +class Solution { +private: + map eq_map; // the table store the equivalent relationship + void init() { + for (char ch='a'; ch<='z'; ch++) { + eq_map[ch] = ch; + } + } +public: + Solution() { + init(); + } + + // find the tail node, + // if a == b == c == d, find(a) would return d; + // find(b) would return d; + char find(char ch) { + while(ch != eq_map[ch]) { + ch = eq_map[ch]; + } + return ch; + } + + //join x equivalent chain with y equivalent chain + void join(char x, char y) { + char tx = find(x); + char ty = find(y); + if (tx != ty) { + eq_map[tx] = y; + } + } + + bool equationsPossible(vector& equations) { + for (auto e : equations ) { + if (e[1] == '=' && e[0] != e[3]) { // equal + join(e[0], e[3]); + } + } + for (auto e : equations) { + if (e[1] == '!' && (e[0] == e[3] || find(e[0]) == find(e[3]) ) ) { + cout << e << " " << find(e[0]) << find(e[3]) << endl; + return false; + } + } + return true; + } +}; + + From 646a15555317fe9a0e7458cedcbcbdbd5131e1de Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 10:48:42 +0800 Subject: [PATCH 214/256] fix: funciton name --- algorithms/cpp/coinChange/coinChange.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/cpp/coinChange/coinChange.cpp b/algorithms/cpp/coinChange/coinChange.cpp index 2085f623b..4948b2106 100644 --- a/algorithms/cpp/coinChange/coinChange.cpp +++ b/algorithms/cpp/coinChange/coinChange.cpp @@ -36,7 +36,7 @@ class Solution { if ( amount < 0 ) return -1; for (int i=0; i r ) result = r + 1; } From 2ed61070e25b5c7603c1c7cf8be299a361ed0e40 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 15:50:23 +0800 Subject: [PATCH 215/256] New Problem C++ Solution - "Squares of a Sorted Array" --- README.md | 2 +- .../SquaresOfASortedArray.cpp | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp diff --git a/README.md b/README.md index 3fa9fa245..2efbbc100 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ LeetCode |981|[Time Based Key-Value Store](https://leetcode.com/problems/time-based-key-value-store/) | [C++](./algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp)|Medium| |980|[Unique Paths III](https://leetcode.com/problems/unique-paths-iii/) | [C++](./algorithms/cpp/uniquePaths/UniquePaths.III.cpp)|Hard| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| -|977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| +|977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [C++](./algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp), [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| |971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| |969|[Pancake Sorting](https://leetcode.com/problems/pancake-sorting/) | [Python](./algorithms/python/PancakeSorting/pancakeSort.py)|Medium| diff --git a/algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp b/algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp new file mode 100644 index 000000000..ec9edf742 --- /dev/null +++ b/algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp @@ -0,0 +1,65 @@ +// Source : https://leetcode.com/problems/squares-of-a-sorted-array/ +// Author : Hao Chen +// Date : 2019-03-26 + +/***************************************************************************************************** + * + * Given an array of integers A sorted in non-decreasing order, return an array of the squares of each + * number, also in sorted non-decreasing order. + * + * Example 1: + * + * Input: [-4,-1,0,3,10] + * Output: [0,1,9,16,100] + * + * Example 2: + * + * Input: [-7,-3,2,3,11] + * Output: [4,9,9,49,121] + * + * Note: + * + * 1 <= A.length <= 10000 + * -10000 <= A[i] <= 10000 + * A is sorted in non-decreasing order. + * + ******************************************************************************************************/ + +class Solution { +public: + vector sortedSquares(vector& A) { + // find the place, negative numbers are right, positive number are right. + // two pointer, one goes left, another goes right. + + //using binary search algorithm + const int len = A.size(); + int low = 0, high = len- 1; + int mid =0; + while (low <= high) { + mid = low + (high - low)/2; + if (A[mid] >= 0 ) high = mid - 1; + if (A[mid] < 0 ) low = mid + 1; + } + + //TRICKY: make sure A[mid] <= 0 or A[mid] is A[0] + if (A[mid] > 0 && mid > 0 ) mid--; + //cout << mid << " - "<< A[mid]<< endl; + + vector result; + low = mid; high = mid+1; + while ( low >=0 && high < len ) { + if ( abs(A[low]) < abs(A[high]) ) { + result.push_back(A[low] * A[low]); + low --; + }else { + result.push_back(A[high] * A[high]); + high++; + } + } + + for (;low >= 0; low--) result.push_back(A[low] * A[low]); + for (;high Date: Tue, 26 Mar 2019 16:00:25 +0800 Subject: [PATCH 216/256] New Problem Solution - "Sort Array By Parity" --- README.md | 1 + .../sortArrayByParity/SortArrayByParity.cpp | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 algorithms/cpp/sortArrayByParity/SortArrayByParity.cpp diff --git a/README.md b/README.md index 2efbbc100..bae23cec0 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ LeetCode |941|[Valid Mountain Array](https://leetcode.com/problems/valid-mountain-array/) | [Python](./algorithms/python/ValidMountainArray/validMountainArray.py)|Easy| |931|[Minimum Falling Path Sum](https://leetcode.com/problems/minimum-falling-path-sum/) | [C++](./algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp)|Medium| |914|[X of a Kind in a Deck of Cards](https://leetcode.com/problems/x-of-a-kind-in-a-deck-of-cards/) | [Python](./algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py)|Easy| +|905|[Sort Array By Parity](https://leetcode.com/problems/sort-array-by-parity/) | [C++](./algorithms/cpp/sortArrayByParity/SortArrayByParity.cpp)|Easy| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| |858|[Mirror Reflection](https://leetcode.com/problems/mirror-reflection/description/) | [C++](./algorithms/cpp/mirrorReflection/MirrorReflection.cpp)|Medium| |852|[Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/description/) | [C++](./algorithms/cpp/peakIndexInAMountainArray/PeakIndexInAMountainArray.cpp)|Easy| diff --git a/algorithms/cpp/sortArrayByParity/SortArrayByParity.cpp b/algorithms/cpp/sortArrayByParity/SortArrayByParity.cpp new file mode 100644 index 000000000..969edf19d --- /dev/null +++ b/algorithms/cpp/sortArrayByParity/SortArrayByParity.cpp @@ -0,0 +1,41 @@ +// Source : https://leetcode.com/problems/sort-array-by-parity/ +// Author : Hao Chen +// Date : 2019-03-26 + +/***************************************************************************************************** + * + * Given an array A of non-negative integers, return an array consisting of all the even elements of + * A, followed by all the odd elements of A. + * + * You may return any answer array that satisfies this condition. + * + * Example 1: + * + * Input: [3,1,2,4] + * Output: [2,4,3,1] + * The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted. + * + * Note: + * + * 1 <= A.length <= 5000 + * 0 <= A[i] <= 5000 + * + ******************************************************************************************************/ + +class Solution { +public: + bool isEven(int& x) { + return x % 2 == 0; + } + vector sortArrayByParity(vector& A) { + //two pointer, one from left to right, another from right to left + // if left is odd number and right is even number, switch them + int l=0, r=A.size()-1; + while ( l < r ) { + if ( !isEven(A[l]) && isEven(A[r]) ) swap(A[l], A[r]); + if ( isEven(A[l]) ) l++; + if ( !isEven(A[r]) ) r--; + } + return A; + } +}; From e381e328840930242b4a50f2d4a0938b75460385 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 16:12:20 +0800 Subject: [PATCH 217/256] New Problem Solution - "Sort Array By Parity II" --- README.md | 1 + .../SortArrayByParity.II.cpp | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 algorithms/cpp/sortArrayByParity/SortArrayByParity.II.cpp diff --git a/README.md b/README.md index bae23cec0..25e8eb8ca 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ LeetCode |950|[Reveal Cards In Increasing Order](https://leetcode.com/problems/reveal-cards-in-increasing-order/) | [Python](./algorithms/python/RevealCardsInIncreasingOrder/deckRevealedIncreasing.py)|Medium| |941|[Valid Mountain Array](https://leetcode.com/problems/valid-mountain-array/) | [Python](./algorithms/python/ValidMountainArray/validMountainArray.py)|Easy| |931|[Minimum Falling Path Sum](https://leetcode.com/problems/minimum-falling-path-sum/) | [C++](./algorithms/cpp/minimumFallingPathSum/MinimumFallingPathSum.cpp)|Medium| +|922|[Sort Array By Parity II](https://leetcode.com/problems/sort-array-by-parity-ii/) | [C++](./algorithms/cpp/sortArrayByParity/SortArrayByParity.II.cpp)|Easy| |914|[X of a Kind in a Deck of Cards](https://leetcode.com/problems/x-of-a-kind-in-a-deck-of-cards/) | [Python](./algorithms/python/XOfAKindInADeckOfCards/hasGroupsSizeX.py)|Easy| |905|[Sort Array By Parity](https://leetcode.com/problems/sort-array-by-parity/) | [C++](./algorithms/cpp/sortArrayByParity/SortArrayByParity.cpp)|Easy| |859|[Buddy Strings](https://leetcode.com/problems/buddy-strings/description/) | [C++](./algorithms/cpp/buddyStrings/BuddyStrings.cpp)|Easy| diff --git a/algorithms/cpp/sortArrayByParity/SortArrayByParity.II.cpp b/algorithms/cpp/sortArrayByParity/SortArrayByParity.II.cpp new file mode 100644 index 000000000..5084e030f --- /dev/null +++ b/algorithms/cpp/sortArrayByParity/SortArrayByParity.II.cpp @@ -0,0 +1,47 @@ +// Source : https://leetcode.com/problems/sort-array-by-parity-ii/ +// Author : Hao Chen +// Date : 2019-03-26 + +/***************************************************************************************************** + * + * Given an array A of non-negative integers, half of the integers in A are odd, and half of the + * integers are even. + * + * Sort the array so that whenever A[i] is odd, i is odd; and whenever A[i] is even, i is even. + * + * You may return any answer array that satisfies this condition. + * + * Example 1: + * + * Input: [4,2,5,7] + * Output: [4,5,2,7] + * Explanation: [4,7,2,5], [2,5,4,7], [2,7,4,5] would also have been accepted. + * + * Note: + * + * 2 <= A.length <= 20000 + * A.length % 2 == 0 + * 0 <= A[i] <= 1000 + * + ******************************************************************************************************/ + +class Solution { +public: + bool isEven(int &x) { + return x % 2 == 0; + } + vector sortArrayByParityII(vector& A) { + //two pointer, `even` and `odd`, + // - `even` pointer step into even position + // - `odd` pointer step into odd position. + // if `even` points to odd number, and `odd` points to even number switch them. + int even = 0; + int odd = 1; + while(even < A.size() && odd < A.size() ) { + if ( !isEven(A[even]) && isEven(A[odd]) ) swap( A[even], A[odd] ); + if ( isEven(A[even]) ) even += 2; + if ( !isEven(A[odd]) ) odd += 2; + } + return A; + } +}; From 7d61861e555636b61eb4724794de7e92709c6143 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 16:30:24 +0800 Subject: [PATCH 218/256] New Problem C++ Solution - "Fibonacci Number" --- README.md | 2 +- .../cpp/fibonacciNumber/FibonacciNumber.cpp | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp diff --git a/README.md b/README.md index 25e8eb8ca..ba83b160a 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ LeetCode |532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy| |520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C++](./algorithms/cpp/detectCapital/DetectCapital.cpp)|Easy| |518|[Coin Change 2](https://leetcode.com/problems/coin-change-2/) | [C++](./algorithms/cpp/coinChange/CoinChange2.cpp)|Medium| -|509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| +|509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [C++](./algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp), [Python](./algorithms/python/FibonacciNumber/fib.py)|Easy| |477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/) | [C++](./algorithms/cpp/totalHammingDistance/totalHammingDistance.cpp)|Medium| |463|[Island Perimeter](https://leetcode.com/problems/island-perimeter/) | [C++](./algorithms/cpp/islandPerimeter/IslandPerimeter.cpp)|Easy| |450|[DeleteNodeInABST](https://leetcode.com/problems/delete-node-in-a-bst/) | [Python](./algorithms/python/DeleteNodeInABST/deleteNode.py)|Medium| diff --git a/algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp b/algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp new file mode 100644 index 000000000..6c1e5745a --- /dev/null +++ b/algorithms/cpp/fibonacciNumber/FibonacciNumber.cpp @@ -0,0 +1,50 @@ +// Source : https://leetcode.com/problems/fibonacci-number/ +// Author : Hao Chen +// Date : 2019-03-26 + +/***************************************************************************************************** + * + * The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such + * that each number is the sum of the two preceding ones, starting from 0 and 1. That is, + * + * F(0) = 0, F(1) = 1 + * F(N) = F(N - 1) + F(N - 2), for N > 1. + * + * Given N, calculate F(N). + * + * Example 1: + * + * Input: 2 + * Output: 1 + * Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1. + * + * Example 2: + * + * Input: 3 + * Output: 2 + * Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2. + * + * Example 3: + * + * Input: 4 + * Output: 3 + * Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3. + * + * Note: + * + * 0 ≤ N ≤ 30. + ******************************************************************************************************/ + +class Solution { +public: + int fib(int N) { + if (N < 2 ) return N; + int first = 0, second = 1; + + for ( N-=1; N > 0; N-- ) { + second += first; + first = second - first; + } + return second; + } +}; From 97ca25812bf45d58e10da5931a2a9c829c524715 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 17:03:50 +0800 Subject: [PATCH 219/256] New Problem Solution - "Max Area of Island" --- README.md | 1 + .../cpp/maxAreaOfIsland/MaxAreaOfIsland.cpp | 63 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 algorithms/cpp/maxAreaOfIsland/MaxAreaOfIsland.cpp diff --git a/README.md b/README.md index ba83b160a..e294b8d7c 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ LeetCode |717|[1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/) | [Python](./algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py)|Easy| |714|[Best Time to Buy and Sell Stock with Transaction Fee](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee) | [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp)|Medium| |712|[Minimum ASCII Delete Sum for Two Strings](https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/) | [C++](./algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp)|Medium| +|695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/) | [C++](./algorithms/cpp/maxAreaOfIsland/MaxAreaOfIsland.cpp)|Medium| |687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/) | [Python](./algorithms/python/LongestUnivaluePath/longestUnivaluePath.py)|Easy| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/) | [Python](./algorithms/python/RedundantConnection/findRedundantConnection.py)|Medium| |674|[Longest Continuous Increasing Subsequence](https://leetcode.com/problems/longest-continuous-increasing-subsequence/) | [Python](./algorithms/python/LongestContinuousIncreasingSubsequence/findLengthOfLCIS.py)|Easy| diff --git a/algorithms/cpp/maxAreaOfIsland/MaxAreaOfIsland.cpp b/algorithms/cpp/maxAreaOfIsland/MaxAreaOfIsland.cpp new file mode 100644 index 000000000..2c4825cc5 --- /dev/null +++ b/algorithms/cpp/maxAreaOfIsland/MaxAreaOfIsland.cpp @@ -0,0 +1,63 @@ +// Source : https://leetcode.com/problems/max-area-of-island/ +// Author : Hao Chen +// Date : 2019-03-26 + +/***************************************************************************************************** + * + * Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) + * connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are + * surrounded by water. + * + * Find the maximum area of an island in the given 2D array. (If there is no island, the maximum area + * is 0.) + * + * Example 1: + * + * [[0,0,1,0,0,0,0,1,0,0,0,0,0], + * [0,0,0,0,0,0,0,1,1,1,0,0,0], + * [0,1,1,0,1,0,0,0,0,0,0,0,0], + * [0,1,0,0,1,1,0,0,1,0,1,0,0], + * [0,1,0,0,1,1,0,0,1,1,1,0,0], + * [0,0,0,0,0,0,0,0,0,0,1,0,0], + * [0,0,0,0,0,0,0,1,1,1,0,0,0], + * [0,0,0,0,0,0,0,1,1,0,0,0,0]] + * + * Given the above grid, return 6. Note the answer is not 11, because the island must be connected + * 4-directionally. + * + * Example 2: + * + * [[0,0,0,0,0,0,0,0]] + * Given the above grid, return 0. + * + * Note: The length of each dimension in the given grid does not exceed 50. + ******************************************************************************************************/ + +class Solution { +public: + int maxAreaOfIsland(vector>& grid) { + int maxArea = 0; + for (int i=0; i>& grid, int i, int j, int& area ) { + if (i<0 || j<0 || i>=grid.size() || j>=grid[0].size() || grid[i][j] != 1 ) return; + + area++; + grid[i][j] = -1; + + maxAreaOfIsland_DFS(grid, i-1, j, area); + maxAreaOfIsland_DFS(grid, i+1, j, area); + maxAreaOfIsland_DFS(grid, i, j-1, area); + maxAreaOfIsland_DFS(grid, i, j+1, area); + } +}; From d099f61945b473c9dbb0d507ac948afd7f29d67a Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 17:13:08 +0800 Subject: [PATCH 220/256] slightly reformat the code --- algorithms/cpp/numberOfIslands/NumberOfIslands.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/algorithms/cpp/numberOfIslands/NumberOfIslands.cpp b/algorithms/cpp/numberOfIslands/NumberOfIslands.cpp index 2eea8a877..9c5d140ee 100644 --- a/algorithms/cpp/numberOfIslands/NumberOfIslands.cpp +++ b/algorithms/cpp/numberOfIslands/NumberOfIslands.cpp @@ -39,14 +39,10 @@ void mark(vector >& grid, int r, int c){ grid[r][c] = 'M'; - //left - mark(grid, r, c+1); - //right - mark(grid, r, c-1); - //up - mark(grid, r-1, c); - //down - mark(grid, r+1, c); + mark(grid, r, c+1); //left + mark(grid, r, c-1); //right + mark(grid, r-1, c); //up + mark(grid, r+1, c); //down } int numIslands(vector >& grid) { From ab23bb727b64bfe40735cac03ef50e9acd69a7c9 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Mar 2019 21:06:17 +0800 Subject: [PATCH 221/256] New Problem Solution - "Friend Circles" --- README.md | 1 + .../cpp/friendCircles/FriendCircles.cpp | 117 ++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 algorithms/cpp/friendCircles/FriendCircles.cpp diff --git a/README.md b/README.md index e294b8d7c..273a5d5fd 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ LeetCode |581|[Shortest Unsorted Continuous Subarray](https://leetcode.com/problems/shortest-unsorted-continuous-subarray/) | [Python](./algorithms/python/ShortestUnsortedContinuousSubarray/findUnsortedSubarray.py)|Easy| |572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) | [Python](./algorithms/python/SubtreeOfAnotherTree/isSubtree.py)|Easy| |563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy| +|547|[Friend Circles](https://leetcode.com/problems/friend-circles/) | [C++](./algorithms/cpp/friendCircles/FriendCircles.cpp)|Medium| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy| |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy| |532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy| diff --git a/algorithms/cpp/friendCircles/FriendCircles.cpp b/algorithms/cpp/friendCircles/FriendCircles.cpp new file mode 100644 index 000000000..c1b0d09ce --- /dev/null +++ b/algorithms/cpp/friendCircles/FriendCircles.cpp @@ -0,0 +1,117 @@ +// Source : https://leetcode.com/problems/friend-circles/ +// Author : Hao Chen +// Date : 2019-03-26 + +/***************************************************************************************************** + * + * + * There are N students in a class. Some of them are friends, while some are not. Their friendship is + * transitive in nature. For example, if A is a direct friend of B, and B is a direct friend of C, + * then A is an indirect friend of C. And we defined a friend circle is a group of students who are + * direct or indirect friends. + * + * Given a N*N matrix M representing the friend relationship between students in the class. If M[i][j] + * = 1, then the ith and jth students are direct friends with each other, otherwise not. And you have + * to output the total number of friend circles among all the students. + * + * Example 1: + * + * Input: + * [[1,1,0], + * [1,1,0], + * [0,0,1]] + * Output: 2 + * Explanation:The 0th and 1st students are direct friends, so they are in a friend circle. The 2nd + * student himself is in a friend circle. So return 2. + * + * Example 2: + * + * Input: + * [[1,1,0], + * [1,1,1], + * [0,1,1]] + * Output: 1 + * Explanation:The 0th and 1st students are direct friends, the 1st and 2nd students are direct + * friends, so the 0th and 2nd students are indirect friends. All of them are in the same friend + * circle, so return 1. + * + * Note: + * + * N is in range [1,200]. + * M[i][i] = 1 for all students. + * If M[i][j] = 1, then M[j][i] = 1. + * + ******************************************************************************************************/ + +class Solution { +public: + + // ----------------------------------------------------------------------------- + //DFS solution is quite easy to understand, just like the "Number of Island" + int findCircleNum_DFS(vector>& M) { + int n = 0; + for (int i=0; i>& M, int i ) { + for ( int j=0; j>& M) { + + vector relations(M.size()); + for (int i=0; i b -> c -> d, then find(a),find(b) or find(c) would return d; + int find(vector& relations, int i ) { + while( relations[i] != i ) { + i = relations[i]; + } + return i; + } + // join the x cicle with y cicle, + // if x and y are already in same friend cicle, then return false, else return true; + bool join(vector &relations, int x, int y) { + int tx = find(relations, x); + int ty = find(relations, y); + if ( tx != ty ) relations[tx] = y; + return tx != ty; + } + + // ----------------------------------------------------------------------------- + + int findCircleNum(vector>& M) { + return findCircleNum_UF(M); + return findCircleNum_DFS(M); + } +}; From f5859be79fdafab39bf9a60aca85297c12b03461 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 29 Mar 2019 00:13:10 +0800 Subject: [PATCH 222/256] New Problem Solution - "Accounts Merge" --- README.md | 1 + .../cpp/accountsMerge/AccountsMerge.cpp | 174 ++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 algorithms/cpp/accountsMerge/AccountsMerge.cpp diff --git a/README.md b/README.md index 273a5d5fd..c58a49802 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ LeetCode |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/description) | [C++](./algorithms/cpp/jewelsAndStones/JewelsAndStones.cpp)|Easy| |747|[Largest Number At Least Twice of Others](https://leetcode.com/problems/largest-number-at-least-twice-of-others/) | [Python](./algorithms/python/LargestNumberAtLeastTwiceOfOthers/dominantIndex.py)|Easy| |746|[Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/) | [C++](./algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp), [Python](./algorithms/python/MinCostClimbingStairs/minCostClimbingStairs.py)|Easy| +|721|[Accounts Merge](https://leetcode.com/problems/accounts-merge/) | [C++](./algorithms/cpp/accountsMerge/AccountsMerge.cpp)|Medium| |717|[1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters/) | [Python](./algorithms/python/1-bitAnd2-bitCharacters/isOneBitCharacter.py)|Easy| |714|[Best Time to Buy and Sell Stock with Transaction Fee](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee) | [C++](./algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithTransactionFee.cpp)|Medium| |712|[Minimum ASCII Delete Sum for Two Strings](https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/) | [C++](./algorithms/cpp/minimumASCIIDeleteSumForTwoStrings/MinimumAsciiDeleteSumForTwoStrings.cpp)|Medium| diff --git a/algorithms/cpp/accountsMerge/AccountsMerge.cpp b/algorithms/cpp/accountsMerge/AccountsMerge.cpp new file mode 100644 index 000000000..e9ee405fa --- /dev/null +++ b/algorithms/cpp/accountsMerge/AccountsMerge.cpp @@ -0,0 +1,174 @@ +// Source : https://leetcode.com/problems/accounts-merge/ +// Author : Hao Chen +// Date : 2019-03-29 + +/***************************************************************************************************** + * + * Given a list accounts, each element accounts[i] is a list of strings, where the first element + * accounts[i][0] is a name, and the rest of the elements are emails representing emails of the + * account. + * + * Now, we would like to merge these accounts. Two accounts definitely belong to the same person if + * there is some email that is common to both accounts. Note that even if two accounts have the same + * name, they may belong to different people as people could have the same name. A person can have + * any number of accounts initially, but all of their accounts definitely have the same name. + * + * After merging the accounts, return the accounts in the following format: the first element of each + * account is the name, and the rest of the elements are emails in sorted order. The accounts + * themselves can be returned in any order. + * + * Example 1: + * + * Input: + * accounts = [["John", "johnsmith@mail.com", "john00@mail.com"], ["John", "johnnybravo@mail.com"], + * ["John", "johnsmith@mail.com", "john_newyork@mail.com"], ["Mary", "mary@mail.com"]] + * Output: [["John", 'john00@mail.com', 'john_newyork@mail.com', 'johnsmith@mail.com'], ["John", + * "johnnybravo@mail.com"], ["Mary", "mary@mail.com"]] + * + * Explanation: + * The first and third John's are the same person as they have the common email "johnsmith@mail.com". + * The second John and Mary are different people as none of their email addresses are used by other + * accounts. + * + * We could return these lists in any order, for example the answer [['Mary', 'mary@mail.com'], + * ['John', 'johnnybravo@mail.com'], + * ['John', 'john00@mail.com', 'john_newyork@mail.com', 'johnsmith@mail.com']] would still be accepted. + * + * Note: + * The length of accounts will be in the range [1, 1000]. + * The length of accounts[i] will be in the range [1, 10]. + * The length of accounts[i][j] will be in the range [1, 30]. + ******************************************************************************************************/ + + +//Bad Performance Solution +class Solution_Time_Limit_Exceeded { +public: + // We can orginze all relevant emails to a chain, + // then we can use Union Find algorithm + // Besides, we also need to map the relationship between name and email. + vector> accountsMerge(vector>& accounts) { + unordered_map emails_chains; // email chains + unordered_map names; // names to email chains' head + + //initialization + for(int i = 0 ; i> res; + for( auto& acc : accounts ) { + string e = find(emails_chains, acc[1]); + res[e].insert(acc.begin()+1, acc.end()); + } + + //output the result + vector> result; + for (auto pair : res) { + vector emails(pair.second.begin(), pair.second.end()); + emails.insert(emails.begin(), names[pair.first]); + result.push_back(emails); + } + return result; + } + + string find(unordered_map& emails_chains, + string email) { + while( email != emails_chains[email] ){ + email = emails_chains[email]; + } + return email; + } + + bool join(unordered_map& emails_chains, + string& email1, string& email2) { + string e1 = find(emails_chains, email1); + string e2 = find(emails_chains, email2); + if ( e1 != e2 ) emails_chains[e1] = email2; + return e1 == e2; + } +}; + +// +// Performance Tunning +// ----------------- +// +// The above algorithm need to do string comparison, it causes lots of efforts +// So, we allocated the ID for each email, and compare the ID would save the time. +// +// Furthermore, we can use the Group-Email-ID instead of email ID, +// this would save more time. +// +class Solution { +public: + // We can orginze all relevant emails to a chain, + // then we can use Union Find algorithm + // Besides, we also need to map the relationship between name and email. + vector> accountsMerge(vector>& accounts) { + unordered_map emails_id; //using email ID for union find + unordered_map emails_chains; // email chains + unordered_map names; // email id & name + + //initialization & join + for(int i = 0 ; i> res; + for(int i=0; i> result; + for (auto pair : res) { + vector emails( pair.second.begin(), pair.second.end() ); + emails.insert(emails.begin(), names[pair.first]); + result.push_back(emails); + } + return result; + } + + int find(unordered_map& emails_chains, int id) { + while( id != emails_chains[id] ){ + id = emails_chains[id]; + } + return id; + } + + bool join(unordered_map& emails_chains, int id1, int id2) { + int e1 = find(emails_chains, id1); + int e2 = find(emails_chains, id2); + if ( e1 != e2 ) emails_chains[e1] = id2; + return e1 == e2; + } +}; From c20038f8d055b155a4787a487153b6800e95d7ab Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 29 Mar 2019 09:36:52 +0800 Subject: [PATCH 223/256] New Problem Solution - "Distribute Coins in Binary Tree" --- README.md | 1 + .../DistributeCoinsInBinaryTree.cpp | 90 +++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 algorithms/cpp/distributeCoinsInBinaryTree/DistributeCoinsInBinaryTree.cpp diff --git a/README.md b/README.md index c58a49802..b50f60137 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ LeetCode |983|[Minimum Cost For Tickets](https://leetcode.com/problems/minimum-cost-for-tickets/) | [C++](./algorithms/cpp/minimumCostForTickets/MinimumCostForTickets.cpp)|Medium| |981|[Time Based Key-Value Store](https://leetcode.com/problems/time-based-key-value-store/) | [C++](./algorithms/cpp/timeBasedKeyValueStore/TimeBasedKeyValueStore.cpp)|Medium| |980|[Unique Paths III](https://leetcode.com/problems/unique-paths-iii/) | [C++](./algorithms/cpp/uniquePaths/UniquePaths.III.cpp)|Hard| +|979|[Distribute Coins in Binary Tree](https://leetcode.com/problems/distribute-coins-in-binary-tree/) | [C++](./algorithms/cpp/distributeCoinsInBinaryTree/DistributeCoinsInBinaryTree.cpp)|Medium| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [C++](./algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp), [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| |976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| diff --git a/algorithms/cpp/distributeCoinsInBinaryTree/DistributeCoinsInBinaryTree.cpp b/algorithms/cpp/distributeCoinsInBinaryTree/DistributeCoinsInBinaryTree.cpp new file mode 100644 index 000000000..09f6a7f71 --- /dev/null +++ b/algorithms/cpp/distributeCoinsInBinaryTree/DistributeCoinsInBinaryTree.cpp @@ -0,0 +1,90 @@ +// Source : https://leetcode.com/problems/distribute-coins-in-binary-tree/ +// Author : Hao Chen +// Date : 2019-03-29 + +/***************************************************************************************************** + * + * Given the root of a binary tree with N nodes, each node in the tree has node.val coins, and there + * are N coins total. + * + * In one move, we may choose two adjacent nodes and move one coin from one node to another. (The + * move may be from parent to child, or from child to parent.) + * + * Return the number of moves required to make every node have exactly one coin. + * + * Example 1: + * + * Input: [3,0,0] + * Output: 2 + * Explanation: From the root of the tree, we move one coin to its left child, and one coin to its + * right child. + * + * Example 2: + * + * Input: [0,3,0] + * Output: 3 + * Explanation: From the left child of the root, we move two coins to the root [taking two moves]. + * Then, we move one coin from the root of the tree to the right child. + * + * Example 3: + * + * Input: [1,0,2] + * Output: 2 + * + * Example 4: + * + * Input: [1,0,0,null,3] + * Output: 4 + * + * Note: + * + * 1<= N <= 100 + * 0 <= node.val <= N + * + ******************************************************************************************************/ + +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode(int x) : val(x), left(NULL), right(NULL) {} + * }; + */ +class Solution { +public: + int distributeCoins(TreeNode* root) { + int result = 0; + dfs(root, result); + return result; + } + + // + // if a node has 0 coin, which means one move from its parent. + // 1 coin, which means zero move from its parent. + // N coins, which means N-1 moves to its parent. + // + // So, we can simply know, the movement = coins -1. + // - negative number means the the coins needs be moved in. + // - positive number means the the coins nees be moved out. + // + // A node needs to consider the movement requests from both its left side and right side. + // and need to calculate the coins after left and right movement. + // + // So, the node coins = my conins - the coins move out + the coins move in. + // + // Then we can have to code as below. + // + int dfs(TreeNode* root, int& result) { + if (root == NULL) return 0; + + int left_move = dfs(root->left, result); + int right_move = dfs(root->right, result); + result += (abs(left_move) + abs(right_move)); + + // the coin after movement: coins = root->val +left_move + right_move + // the movement needs: movement = coins - 1 + return root->val + left_move + right_move - 1; + } +}; From db99fe1bae1a73f030bb3c5a00f04eca7ce07c3e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 29 Mar 2019 11:09:37 +0800 Subject: [PATCH 224/256] no tricky solution --- algorithms/cpp/twoSum/twoSum.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/algorithms/cpp/twoSum/twoSum.cpp b/algorithms/cpp/twoSum/twoSum.cpp index 6ef67fa77..dc0680f8a 100644 --- a/algorithms/cpp/twoSum/twoSum.cpp +++ b/algorithms/cpp/twoSum/twoSum.cpp @@ -66,4 +66,19 @@ class Solution { } return result; } + + // we also can store nums[i] into map, and find target - nums[i] + vector twoSum(vector& nums, int target) { + unordered_map m; + vector result; + for (int i=0; i Date: Sat, 30 Mar 2019 11:40:34 +0800 Subject: [PATCH 225/256] refactory the code to make it a bit readable --- .../minimumWindowSubstring.cpp | 93 ++++++++++--------- 1 file changed, 50 insertions(+), 43 deletions(-) diff --git a/algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp b/algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp index d0beb2342..bd145433f 100644 --- a/algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp +++ b/algorithms/cpp/minimumWindowSubstring/minimumWindowSubstring.cpp @@ -31,75 +31,82 @@ using namespace std; #define INT_MAX 2147483647 -string minWindow(string S, string T) { +string minWindow(string s, string t) { string win; - if (S.size()<=0 || T.size()<=0 || T.size() > S.size()) return win; + if (s.size()<=0 || t.size()<=0 || t.size() > s.size()) return win; /* * Declare two "hash map" for ASCII chars - * f[]: represents the char found in string S - * m[]: stores the chars in string T + * window[]: represents the char found in string S + * dict[]: stores the chars in string T */ const int MAX_CHARS = 256; - int f[MAX_CHARS], m[MAX_CHARS]; - + int window[MAX_CHARS], dict[MAX_CHARS]; + const int NOT_EXISTED = -1; const int NOT_FOUND = 0; - memset(m, NOT_EXISTED, sizeof(m)); - memset(f, NOT_EXISTED, sizeof(f)); + memset(dict, NOT_EXISTED, sizeof(dict)); + memset(window, NOT_EXISTED, sizeof(window)); /* - * Go through the T, and inital the m[] and f[] + * Go through the T, and inital the dict[] and window[] * Notes: a same char can be appeared multiple times. */ - for(int i=0; i= T.size() ) { - /* - * Find the beginning of the window - * 1) f[S[begin]] == NOT_EXISTED ===> the char at the `begin` is not in T - * 2) f[S[begin]] > m[S[begin]] ===> a same char appeared more than excepted. - */ - while ( f[S[begin]] == NOT_EXISTED || f[S[begin]] > m[S[begin]] ) { - if ( f[S[begin]] > m[S[begin]] ) { - f[S[begin]]--; - } - begin++; + int left = 0; + + for(int right=0; right= t.size() ) { + /* + * Find the left of the window - try to make the window smaller + * 1) windows[S[left]] == NOT_EXISTED ===> the char at the `left` is not in T + * 2) window[S[left]] > dict[S[left]] ===> a same char appeared more than excepted. + */ + char chl = s[left]; + while ( window[chl] == NOT_EXISTED || window[chl] > dict[chl] ) { + if (dict[chl] != NOT_EXISTED ) { + //move the left of window + window[chl]--; + // reduce the number of letters found + if (window[chl] < dict[chl] ) letterFound--; } - /* Calculate the minimized window size */ - if(winSize > i - begin + 1){ - start = begin; - winSize = i - begin + 1; - } - + chl = s[++left]; + } + + /* Calculate the minimized window size */ + if(winSize > right - left + 1){ + start = left; + winSize = right - left + 1; } - + } } if (start>=0 && winSize>0) { - win = S.substr(start, winSize); + win = s.substr(start, winSize); } return win; } - int main(int argc, char**argv) { string S = "ADOBECODEBANC"; From 5db7fa483180f54510dac623d76774a013ad3e32 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 30 Mar 2019 17:10:05 +0800 Subject: [PATCH 226/256] more solutions --- .../cpp/linkedListCycle/linkedListCycle.cpp | 91 +++++++++++++++---- 1 file changed, 75 insertions(+), 16 deletions(-) diff --git a/algorithms/cpp/linkedListCycle/linkedListCycle.cpp b/algorithms/cpp/linkedListCycle/linkedListCycle.cpp index 38badae1d..085bf012f 100644 --- a/algorithms/cpp/linkedListCycle/linkedListCycle.cpp +++ b/algorithms/cpp/linkedListCycle/linkedListCycle.cpp @@ -12,21 +12,80 @@ * **********************************************************************************/ -/* - * if there is a cycle in the list, then we can use two pointers travers the list. - * - * one pointer traverse one step each time, another one traverse two steps each time. - * - * so, those two pointers meet together, that means there must be a cycle inside the list. + +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * ListNode *next; + * ListNode(int x) : val(x), next(NULL) {} + * }; */ +class Solution { +public: + bool hasCycle(ListNode *head) { + return hasCycle04(head); + return hasCycle03(head); + return hasCycle02(head); + return hasCycle01(head); + } + + + // using a map to store the nodes we walked + bool hasCycle01(ListNode *head) { + unordered_map m; + ListNode* p = head; + m[(ListNode*)NULL] = true; + while( m.find(p) == m.end() ) { + m[p] = true; + p = p -> next; + } + return p != NULL; + } + + // Change the node's of value, mark the footprint by a special value + bool hasCycle02(ListNode *head) { + ListNode* p = head; + // using INT_MAX as the mark could be a bug! + while( p && p->val != INT_MAX ) { + p->val = INT_MAX; + p = p -> next; + } + return p != NULL; + } + + /* + * if there is a cycle in the list, then we can use two pointers travers the list. + * one pointer traverse one step each time, another one traverse two steps each time. + * so, those two pointers meet together, that means there must be a cycle inside the list. + */ + bool hasCycle03(ListNode *head) { + if (head==NULL || head->next==NULL) return false; + ListNode* fast=head; + ListNode* slow=head; + do{ + slow = slow->next; + fast = fast->next->next; + }while(fast != NULL && fast->next != NULL && fast != slow); + return fast == slow? true : false; + } + + // broken all of nodes + bool hasCycle04(ListNode *head) { + ListNode dummy (0); + ListNode* p = NULL; + + while (head != NULL) { + p = head; + head = head->next; + + // Meet the old Node that next pointed to dummy + //This is cycle of linked list + if (p->next == &dummy) return true; + + p->next = &dummy; // next point to dummy + } + return false; + } -bool hasCycle(ListNode *head) { - if (head==NULL || head->next==NULL) return false; - ListNode* fast=head; - ListNode* slow=head; - do{ - slow = slow->next; - fast = fast->next->next; - }while(fast != NULL && fast->next != NULL && fast != slow); - return fast == slow? true : false; -} +}; From 4bffdabb954cfe60dc77c4171cbc73ef90df5401 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 30 Mar 2019 19:58:08 +0800 Subject: [PATCH 227/256] more readable implementation --- .../cpp/swapNodesInPairs/swapNodesInPairs.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp b/algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp index b5d03dd04..9f90d7c0c 100644 --- a/algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp +++ b/algorithms/cpp/swapNodesInPairs/swapNodesInPairs.cpp @@ -71,4 +71,23 @@ class Solution { return head; } + + ListNode* swapPairs3(ListNode* head) { + // Three pointers point current, previous and next node. + ListNode *Curr=head, *Prev=NULL, *Next=NULL; + + while (Curr && Curr->next ) { + Next = Curr->next; + + //swap nodes + Curr->next = Next->next; + Prev == NULL ? head = Prev = Next : Prev->next = Next; + Next->next = Curr; + + //set the pointers to next place. + Prev = Curr; + Curr = Curr->next; + } + return head; + } }; From 1ebef5caab2a9fe095c1133fd1ce04791125d225 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 31 Mar 2019 11:17:07 +0800 Subject: [PATCH 228/256] slight midification and removed the debug code --- algorithms/cpp/accountsMerge/AccountsMerge.cpp | 2 +- algorithms/cpp/friendCircles/FriendCircles.cpp | 2 +- .../SatisfiabilityOfEqualityEquations.cpp | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/algorithms/cpp/accountsMerge/AccountsMerge.cpp b/algorithms/cpp/accountsMerge/AccountsMerge.cpp index e9ee405fa..a8fab40a0 100644 --- a/algorithms/cpp/accountsMerge/AccountsMerge.cpp +++ b/algorithms/cpp/accountsMerge/AccountsMerge.cpp @@ -168,7 +168,7 @@ class Solution { bool join(unordered_map& emails_chains, int id1, int id2) { int e1 = find(emails_chains, id1); int e2 = find(emails_chains, id2); - if ( e1 != e2 ) emails_chains[e1] = id2; + if ( e1 != e2 ) emails_chains[e1] = e2; return e1 == e2; } }; diff --git a/algorithms/cpp/friendCircles/FriendCircles.cpp b/algorithms/cpp/friendCircles/FriendCircles.cpp index c1b0d09ce..fd1932892 100644 --- a/algorithms/cpp/friendCircles/FriendCircles.cpp +++ b/algorithms/cpp/friendCircles/FriendCircles.cpp @@ -104,7 +104,7 @@ class Solution { bool join(vector &relations, int x, int y) { int tx = find(relations, x); int ty = find(relations, y); - if ( tx != ty ) relations[tx] = y; + if ( tx != ty ) relations[tx] = ty; return tx != ty; } diff --git a/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp b/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp index bfdbf0a92..602cbd910 100644 --- a/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp +++ b/algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp @@ -78,7 +78,7 @@ class Solution { char tx = find(x); char ty = find(y); if (tx != ty) { - eq_map[tx] = y; + eq_map[tx] = ty; } } @@ -90,7 +90,6 @@ class Solution { } for (auto e : equations) { if (e[1] == '!' && (e[0] == e[3] || find(e[0]) == find(e[3]) ) ) { - cout << e << " " << find(e[0]) << find(e[3]) << endl; return false; } } From 56720e96b3757e23e73aea68f6da31362b240da5 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 1 Apr 2019 00:30:05 +0800 Subject: [PATCH 229/256] simplified the implmentation --- algorithms/cpp/nQueens/nQueuens.cpp | 7 +- algorithms/cpp/pathSum/pathSum.II.cpp | 36 +++---- algorithms/cpp/pathSum/pathSum.cpp | 12 ++- .../surroundedRegions/surroundedRegions.cpp | 29 ++---- algorithms/cpp/wordSearch/wordSearch.cpp | 94 +++++++++---------- 5 files changed, 78 insertions(+), 100 deletions(-) diff --git a/algorithms/cpp/nQueens/nQueuens.cpp b/algorithms/cpp/nQueens/nQueuens.cpp index 2c7e8e6b9..919ececff 100644 --- a/algorithms/cpp/nQueens/nQueuens.cpp +++ b/algorithms/cpp/nQueens/nQueuens.cpp @@ -57,12 +57,9 @@ void solveNQueensRecursive(int n, int currentRow, vector& solution, vector< //if no more row need to do, shape the result if (currentRow == n){ vector s; + vector s(n, string(n, '.')); for (int row = 0; row < n; row++) { - string sRow; - for (int col = 0; col < n; col++) { - sRow = sRow + (solution[row] == col ? "Q" :"." ); - } - s.push_back(sRow); + s[row][solution[row]] = 'Q'; } result.push_back(s); return; diff --git a/algorithms/cpp/pathSum/pathSum.II.cpp b/algorithms/cpp/pathSum/pathSum.II.cpp index 7d962e103..140e15813 100644 --- a/algorithms/cpp/pathSum/pathSum.II.cpp +++ b/algorithms/cpp/pathSum/pathSum.II.cpp @@ -41,32 +41,22 @@ class Solution { vector > pathSum(TreeNode *root, int sum) { vector > result; vector v; - generatePathSum(root, sum, v, result); + generatePathSum(root, sum, 0, v, result); return result; } - - void generatePathSum(TreeNode *root, int sum, vector v, vector >& result) { - - if (root==NULL) { - return; - } - - if (root->left==NULL && root->right==NULL) { - if (root->val == sum){ - v.push_back(root->val); - result.push_back(v); - } - return; - } - + + void generatePathSum(TreeNode *root, int sum, int s, vector v, vector >& result) { + if (root==NULL) return ; + + s += root->val; v.push_back(root->val); - - if (root->left) { - generatePathSum(root->left, sum - root->val, v, result); - } - - if (root->right) { - generatePathSum(root->right, sum - root->val, v, result); + + if ( root->left==NULL && root->right==NULL) { + if (s == sum) result.push_back(v); + return; } + + generatePathSum(root->left, sum, s, v, result); + generatePathSum(root->right, sum, s, v, result); } }; diff --git a/algorithms/cpp/pathSum/pathSum.cpp b/algorithms/cpp/pathSum/pathSum.cpp index f019dee09..af2ec3e10 100644 --- a/algorithms/cpp/pathSum/pathSum.cpp +++ b/algorithms/cpp/pathSum/pathSum.cpp @@ -39,10 +39,16 @@ class Solution { srand(time(NULL)); } bool hasPathSum(TreeNode *root, int sum) { - if (random()%2){ - return hasPathSum1(root, sum); - } + return hasPathSum3(root, sum, 0); return hasPathSum2(root, sum); + return hasPathSum1(root, sum); + } + + bool hasPathSum3(TreeNode* root, int sum, int s) { + if ( root == NULL) return false; + s += root->val; + if ( !root->left && !root->right) return s == sum; + return (hasPathSum3(root->left, sum, s) || hasPathSum3(root->right, sum, s)); } bool hasPathSum1(TreeNode *root, int sum) { diff --git a/algorithms/cpp/surroundedRegions/surroundedRegions.cpp b/algorithms/cpp/surroundedRegions/surroundedRegions.cpp index 6aec38571..fefde60b4 100644 --- a/algorithms/cpp/surroundedRegions/surroundedRegions.cpp +++ b/algorithms/cpp/surroundedRegions/surroundedRegions.cpp @@ -35,29 +35,15 @@ using namespace std; void print(vector< vector > &board); -//Runtime Error for 250 x 250 matrix void markOpen(vector< vector > &board, int row, int col, int r, int c) { - - if (board[r][c] == 'O'){ - - board[r][c]='N'; // 'N' means it's not closed - - if (r < row-1) { - markOpen(board, row, col, r+1, c); - } - if (r > 0) { - markOpen(board, row, col, r-1, c); - } - if (c < col-1 ) { - markOpen(board, row, col, r, c+1); - } - if (c>0) { - markOpen(board, row, col, r, c-1); - } - } + if (r<0 || c <0 || r>=row || c>=col || board[r][c] != 'O') return; + board[r][c]='N'; // 'N' means it's not closed + markOpen(board, row, col, r+1, c); + markOpen(board, row, col, r-1, c); + markOpen(board, row, col, r, c+1); + markOpen(board, row, col, r, c-1); } -//Runtime Error for 250 x 250 matrix void solve_recursively(vector< vector > &board) { if (board.size()<=0 || board[0].size()<=0) return; @@ -270,8 +256,7 @@ void solve(vector< vector > &board) { Solution().solve(board); return; } - //Runtime Error for 250 x 250 matrix - /* solve_recursively(board); */ + solve_recursively(board); solve_non_recursively(board); } diff --git a/algorithms/cpp/wordSearch/wordSearch.cpp b/algorithms/cpp/wordSearch/wordSearch.cpp index e47b021df..1aa8a6c7c 100644 --- a/algorithms/cpp/wordSearch/wordSearch.cpp +++ b/algorithms/cpp/wordSearch/wordSearch.cpp @@ -3,53 +3,57 @@ // Date : 2014-07-19 /********************************************************************************** -* -* Given a 2D board and a word, find if the word exists in the grid. -* -* The word can be constructed from letters of sequentially adjacent cell, -* where "adjacent" cells are those horizontally or vertically neighboring. -* The same letter cell may not be used more than once. -* -* For example, -* Given board = -* -* [ -* ["ABCE"], -* ["SFCS"], -* ["ADEE"] -* ] -* -* word = "ABCCED", -> returns true, -* word = "SEE", -> returns true, -* word = "ABCB", -> returns false. -* -* -**********************************************************************************/ + * + * Given a 2D board and a word, find if the word exists in the grid. + * + * The word can be constructed from letters of sequentially adjacent cell, + * where "adjacent" cells are those horizontally or vertically neighboring. + * The same letter cell may not be used more than once. + * + * For example, + * Given board = + * + * [ + * ["ABCE"], + * ["SFCS"], + * ["ADEE"] + * ] + * + * word = "ABCCED", -> returns true, + * word = "SEE", -> returns true, + * word = "ABCB", -> returns false. + * + * + **********************************************************************************/ #include #include #include using namespace std; -//Recursive backtracking algorithm -bool exist(vector > &board, string word, int idx, int row, int col, vector< vector > &mask) { - int i = row; - int j = col; - if (board[i][j] == word[idx] && mask[i][j]==0 ) { - mask[i][j]=1; //mark the current char is matched - if (idx+1 == word.size()) return true; - //checking the next char in `word` through the right, left, up, down four directions in the `board`. - idx++; - if (( i+10 && exist(board, word, idx, i-1, j, mask) ) || - ( j+10 && exist(board, word, idx, i, j-1, mask) ) ) - { - return true; - } - mask[i][j]=0; //cannot find any successful solution, clear the mark. (backtracking) +bool exist(vector > &board, string& word, int idx, int row, int col) { + if ( row<0 || row>=board.size() || + col<0 || col>=board[0].size() || + board[row][col] != word[idx]) { + return false; } + + if (idx+1 == word.size()) return true; + + //replace to a special char to avoid duplication. + board[row][col] = '\0'; + + if ( exist(board, word, idx+1, row+1, col ) || + exist(board, word, idx+1, row-1, col ) || + exist(board, word, idx+1, row, col+1 ) || + exist(board, word, idx+1, row, col-1 ) ) { + return true; + } + + //restore the char + board[row][col] = word[idx]; + return false; } @@ -57,15 +61,11 @@ bool exist(vector > &board, string word) { if (board.size()<=0 || word.size()<=0) return false; int row = board.size(); int col = board[0].size(); - //using a mask to mark which char has been selected. - //do not use vector, it has big performance issue, could cause Time Limit Error - vector< vector > mask(row, vector(col, 0)); for(int i=0; i > m = mask; - if( exist(board, word, 0, i, j, m) ){ + if ( board[i][j]==word[0] ){ + if( exist(board, word, 0, i, j) ){ return true; } } @@ -93,10 +93,10 @@ int main(int argc, char** argv) s = "SEE"; cout << s << ":" << exist(board, s) << endl; - + s = "ABCCED"; cout << s << ":" << exist(board, s) << endl; - + s = "ABCB"; cout << s << ":" << exist(board, s) << endl; From 4c98ae0234da92e53022977d59415133ae663474 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 2 Apr 2019 00:18:00 +0800 Subject: [PATCH 230/256] fixed some algorithm bugs --- .../cpp/search2DMatrix/search2DMatrix.II.cpp | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp b/algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp index b9ed7e441..dad85a35c 100644 --- a/algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp +++ b/algorithms/cpp/search2DMatrix/search2DMatrix.II.cpp @@ -34,7 +34,6 @@ class Solution { public: - bool binary_search(vector &v, int target) { int low = 0; int high = v.size()-1; @@ -52,8 +51,9 @@ class Solution { } //using binary_search() to search each rows - slow O(n*log(n)) - //the run time is around 840ms for all test case + //the run time is around 140ms for all test case bool searchMatrix01(vector>& matrix, int target) { + if (matrix.size() == 0 || matrix[0].size()==0) return false; for (int i=0; i>& matrix, int target) { if (matrix.size() == 0 || matrix[0].size()==0) return false; int row=0, col = matrix[0].size() - 1; @@ -82,7 +80,7 @@ class Solution { return false; } - //a bit optimization for methed 2 - the run time is 300ms + //a bit optimization for methed 2 - the run time is 68ms bool searchMatrix021(vector>& matrix, int target) { if (matrix.size() == 0 || matrix[0].size()==0) return false; int row=0, col = matrix[0].size() - 1; @@ -91,7 +89,7 @@ class Solution { while ( col>=0 && target < matrix[row][col]) { col--; } - while(row < matrix.size() && target > matrix[row][col]){ + while(col >=0 && row < matrix.size() && target > matrix[row][col]){ row++; } @@ -100,7 +98,7 @@ class Solution { } //Optimization: using binary search methed to move `low` and `row` - //however, the run time is around 830ms + //However, the run time is 112ms bool searchMatrix022(vector>& matrix, int target) { if (matrix.size() == 0 || matrix[0].size()==0) return false; @@ -116,23 +114,24 @@ class Solution { int mid = start + (end - start)/2; if (target == matrix[row][mid]) return true; if (target > matrix[row][mid]) { - col = start = mid + 1; + start = mid + 1; }else { - col = end = mid - 1; + end = mid - 1; } } - + col = end; }else{ - int start=0, end=row; + int start=row, end=matrix.size()-1; while(start<=end){ int mid = start + (end - start)/2; if (target == matrix[mid][col]) return true; if (target > matrix[mid][col]) { - row = start = mid + 1; + start = mid + 1; }else{ - row = end = mid -1; + end = mid -1; } } + row = start; } } @@ -141,11 +140,9 @@ class Solution { bool searchMatrix(vector>& matrix, int target) { - - return searchMatrix022(matrix, target); //840ms ?? - return searchMatrix021(matrix, target); //320ms - return searchMatrix02(matrix, target); //340ms - - return searchMatrix01(matrix, target); // 840ms + return searchMatrix022(matrix, target); //112ms + return searchMatrix021(matrix, target); //68ms + return searchMatrix02(matrix, target); //64ms + return searchMatrix01(matrix, target); //148ms } }; From 8a822520d3d38692a7699db8af8bc77e3d4486e3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 2 Apr 2019 23:41:09 +0800 Subject: [PATCH 231/256] fixed the algorithm bug --- .../MinCostClimbingStairs.cpp | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp b/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp index cb5eee56b..1dab39618 100644 --- a/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp +++ b/algorithms/cpp/minCostClimbingStairs/MinCostClimbingStairs.cpp @@ -29,17 +29,29 @@ * Every cost[i] will be an integer in the range [0, 999]. * ******************************************************************************************************/ - class Solution { -public: - int minCostClimbingStairs(vector& cost) { - vector dp(cost.size() , 0); - dp[0] = cost[0]; - - for (int i=1; i& cost) { + return minCostClimbingStairs02(cost); + return minCostClimbingStairs01(cost); + } + int minCostClimbingStairs01(vector& cost) { + vector dp(cost.size() , 0); + dp[0] = cost[0]; + dp[1] = cost[1]; + for (int i=2; i& cost) { + int dp1 = cost[0], dp2 = cost[1]; + for (int i=2; i Date: Wed, 3 Apr 2019 00:27:18 +0800 Subject: [PATCH 232/256] update the comments --- .../cpp/minimumPathSum/minimumPathSum.cpp | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/algorithms/cpp/minimumPathSum/minimumPathSum.cpp b/algorithms/cpp/minimumPathSum/minimumPathSum.cpp index c666184d2..cf9c76a70 100644 --- a/algorithms/cpp/minimumPathSum/minimumPathSum.cpp +++ b/algorithms/cpp/minimumPathSum/minimumPathSum.cpp @@ -2,14 +2,25 @@ // Author : Hao Chen // Date : 2014-06-21 -/********************************************************************************** -* -* Given a m x n grid filled with non-negative numbers, find a path from top left to -* bottom right which minimizes the sum of all numbers along its path. -* -* Note: You can only move either down or right at any point in time. -* -**********************************************************************************/ +/***************************************************************************************************** + * + * Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right + * which minimizes the sum of all numbers along its path. + * + * Note: You can only move either down or right at any point in time. + * + * Example: + * + * Input: + * [ + * [1,3,1], + * [1,5,1], + * [4,2,1] + * ] + * Output: 7 + * Explanation: Because the path 1→3→1→1→1 minimizes the sum. + * + ******************************************************************************************************/ #include #include From d3946ff744da095b177781ded0e4512465e42173 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 3 Apr 2019 00:28:49 +0800 Subject: [PATCH 233/256] more clean implementation --- .../cpp/minimumPathSum/minimumPathSum.cpp | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/algorithms/cpp/minimumPathSum/minimumPathSum.cpp b/algorithms/cpp/minimumPathSum/minimumPathSum.cpp index cf9c76a70..11bac7f13 100644 --- a/algorithms/cpp/minimumPathSum/minimumPathSum.cpp +++ b/algorithms/cpp/minimumPathSum/minimumPathSum.cpp @@ -27,27 +27,18 @@ #include using namespace std; -int minPathSum(vector > &grid) { - if (grid.size()<=0){ - return 0; - } - int i, j; - for(i=0; i>& grid) { + for (int i=0; i Date: Wed, 3 Apr 2019 21:47:19 +0800 Subject: [PATCH 235/256] update the problem description --- .../bestTimeToBuyAndSellStock.II.cpp | 41 ++++++++++++++----- .../bestTimeToBuyAndSellStock.III.cpp | 40 +++++++++++++----- .../bestTimeToBuyAndSellStock.IV.cpp | 35 ++++++++++------ .../bestTimeToBuyAndSellStock.cpp | 31 ++++++++++---- 4 files changed, 107 insertions(+), 40 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp index a81611820..67665bb01 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.II.cpp @@ -2,16 +2,37 @@ // Author : Hao Chen // Date : 2014-06-18 -/********************************************************************************** -* -* Say you have an array for which the ith element is the price of a given stock on day i. -* -* Design an algorithm to find the maximum profit. You may complete as many transactions -* as you like (ie, buy one and sell one share of the stock multiple times). However, -* you may not engage in multiple transactions at the same time (ie, you must sell the -* stock before you buy again). -* -**********************************************************************************/ +/***************************************************************************************************** + * + * Say you have an array for which the ith element is the price of a given stock on day i. + * + * Design an algorithm to find the maximum profit. You may complete as many transactions as you like + * (i.e., buy one and sell one share of the stock multiple times). + * + * Note: You may not engage in multiple transactions at the same time (i.e., you must sell the stock + * before you buy again). + * + * Example 1: + * + * Input: [7,1,5,3,6,4] + * Output: 7 + * Explanation: Buy on day 2 (price = 1) and sell on day 3 (price = 5), profit = 5-1 = 4. + * Then buy on day 4 (price = 3) and sell on day 5 (price = 6), profit = 6-3 = 3. + * + * Example 2: + * + * Input: [1,2,3,4,5] + * Output: 4 + * Explanation: Buy on day 1 (price = 1) and sell on day 5 (price = 5), profit = 5-1 = 4. + * Note that you cannot buy on day 1, buy on day 2 and sell them later, as you are + * engaging multiple transactions at the same time. You must sell before buying again. + * + * Example 3: + * + * Input: [7,6,4,3,1] + * Output: 0 + * Explanation: In this case, no transaction is done, i.e. max profit = 0. + ******************************************************************************************************/ class Solution { public: diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp index 72240c234..c8ab3f9c1 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.III.cpp @@ -2,16 +2,36 @@ // Author : Hao Chen // Date : 2014-08-22 -/********************************************************************************** -* -* Say you have an array for which the ith element is the price of a given stock on day i. -* -* Design an algorithm to find the maximum profit. You may complete at most two transactions. -* -* Note: -* You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again). -* -**********************************************************************************/ +/***************************************************************************************************** + * + * Say you have an array for which the ith element is the price of a given stock on day i. + * + * Design an algorithm to find the maximum profit. You may complete at most two transactions. + * + * Note: You may not engage in multiple transactions at the same time (i.e., you must sell the stock + * before you buy again). + * + * Example 1: + * + * Input: [3,3,5,0,0,3,1,4] + * Output: 6 + * Explanation: Buy on day 4 (price = 0) and sell on day 6 (price = 3), profit = 3-0 = 3. + * Then buy on day 7 (price = 1) and sell on day 8 (price = 4), profit = 4-1 = 3. + * + * Example 2: + * + * Input: [1,2,3,4,5] + * Output: 4 + * Explanation: Buy on day 1 (price = 1) and sell on day 5 (price = 5), profit = 5-1 = 4. + * Note that you cannot buy on day 1, buy on day 2 and sell them later, as you are + * engaging multiple transactions at the same time. You must sell before buying again. + * + * Example 3: + * + * Input: [7,6,4,3,1] + * Output: 0 + * Explanation: In this case, no transaction is done, i.e. max profit = 0. + ******************************************************************************************************/ class Solution { diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp index 96bab7f3a..e29e4c6a2 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp @@ -2,18 +2,29 @@ // Author : Hao Chen // Date : 2015-03-31 -/********************************************************************************** -* -* Say you have an array for which the ith element is the price of a given stock on day i. -* -* Design an algorithm to find the maximum profit. You may complete at most k transactions. -* -* Note: -* You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again). -* -* Credits:Special thanks to @Freezen for adding this problem and creating all test cases. -* -**********************************************************************************/ +/***************************************************************************************************** + * + * Say you have an array for which the ith element is the price of a given stock on day i. + * + * Design an algorithm to find the maximum profit. You may complete at most k transactions. + * + * Note: + * You may not engage in multiple transactions at the same time (ie, you must sell the stock before + * you buy again). + * + * Example 1: + * + * Input: [2,4,1], k = 2 + * Output: 2 + * Explanation: Buy on day 1 (price = 2) and sell on day 2 (price = 4), profit = 4-2 = 2. + * + * Example 2: + * + * Input: [3,2,6,5,0,3], k = 2 + * Output: 7 + * Explanation: Buy on day 2 (price = 2) and sell on day 3 (price = 6), profit = 6-2 = 4. + * Then buy on day 5 (price = 0) and sell on day 6 (price = 3), profit = 3-0 = 3. + ******************************************************************************************************/ class Solution { public: diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp index 5fdc2baba..b7b90a649 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.cpp @@ -2,14 +2,29 @@ // Author : Hao Chen // Date : 2014-06-18 -/********************************************************************************** -* -* Say you have an array for which the ith element is the price of a given stock on day i. -* -* If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), -* design an algorithm to find the maximum profit. -* -**********************************************************************************/ +/***************************************************************************************************** + * + * Say you have an array for which the ith element is the price of a given stock on day i. + * + * If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of + * the stock), design an algorithm to find the maximum profit. + * + * Note that you cannot sell a stock before you buy one. + * + * Example 1: + * + * Input: [7,1,5,3,6,4] + * Output: 5 + * Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5. + * Not 7-1 = 6, as selling price needs to be larger than buying price. + * + * Example 2: + * + * Input: [7,6,4,3,1] + * Output: 0 + * Explanation: In this case, no transaction is done, i.e. max profit = 0. + * + ******************************************************************************************************/ class Solution { public: From 8e8d43d563c61da992d5c31d1041077096931cff Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 4 Apr 2019 01:43:59 +0800 Subject: [PATCH 236/256] refactory the code : show the evolution of the solution --- .../bestTimeToBuyAndSellStock.IV.cpp | 152 ++++++++++++------ 1 file changed, 100 insertions(+), 52 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp index e29e4c6a2..ca29b2391 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp @@ -27,61 +27,109 @@ ******************************************************************************************************/ class Solution { -public: - /* - * dp[i, j] - * - `i` represents the number of transactions we've done so far. ( 0 <= i <= k ) - * - `j` represents the number of days so far. ( 0 <= j <= prices.size() ) - * - * So, we have the initialization as below: - * - * dp[0, j] = 0; // 0 <= j <= prices.size() - * dp[i, 0] = 0; // 0 <= i <= k - * - * And the iteration logic as below: - * - * dp[i, j] = max ( - * dp[i, j-1], // same times transactions, but one days before. - * dp[i-1, t] + prices[j] - prices[t+1] // for all of (0 <= t < j ) - * // this means find max profit from previous any of days - * ) - * - */ - - int maxProfit(int k, vector &prices) { - int ndays = prices.size(); - - // error case - if (ndays<=1) return 0; - - // Edge case - // --------- - // if the number of transactions is too many, it means we can make - // as many transactions as we can, that brings us the problem back to - // Best-Time-To-Buy-And-Sell-Stock-II which can be simply solve in O(n) - // by using a greedy approach. - if(k > ndays/2){ - int sum = 0; - for (int i=1; i &prices) { + int ndays = prices.size(); + + // error case + if (ndays<=1) return 0; + + // Edge case + // --------- + // if the number of transactions is too many, it means we can make + // as many transactions as we can, that brings us the problem back to + // Best-Time-To-Buy-And-Sell-Stock-II which can be simply solve in O(n) + // by using a greedy approach. + if(k > ndays/2){ + int sum = 0; + for (int i=1; i > dp (k+1, vector( ndays+1, 0)); - - for(int i=1; i<=k; i++) { - int t = dp[i-1][0] - prices[0]; - for (int j=1; j <= ndays; j++) { - dp[i][j] = max(dp[i][j-1], t + prices[j-1]); - if ( j < ndays ) { - t = max(t, dp[i-1][j] - prices[j]); + + + //DP solution - O(kn^2) complexity + int maxProfit_DP01 (int k, vector &prices) { + int ndays = prices.size(); + vector< vector > profits(k+1, vector( ndays+1, 0)); + for(int trans=1; trans<=k; trans++) { + for (int day=1; day<=ndays; day++) { + int m=0; + for (int i=1; i<=day; i++) { + m = max(m, profits[trans-1][i-1]+ prices[day-1] - prices[i-1]); + } + profits[trans][day] = max( profits[trans][day-1], m); } } + return profits[k][ndays]; + } + + //DP solution - O(kn) complexity + //Actually, we could save the loop in above- for(int i=1; i<=day; i++) + //Becasue there are so many dupliations + + int maxProfit_DP02 (int k, vector &prices) { + + int ndays = prices.size(); + + vector< vector > profits(k+1, vector( ndays+1, 0)); + vector m(ndays+1, 0); // tracking the max profits of previous days + + for(int trans=1; trans<=k; trans++) { + m[0] = profits[trans-1][0] - prices[0]; + for (int day=1; day<=ndays; day++) { + profits[trans][day] = max( profits[trans][day-1], m[day-1]+prices[day-1]); + if (day < ndays) { + m[day] = max(m[day-1], profits[trans-1][day] - prices[day]); + } + } + } + return profits[k][ndays]; + } + + + // save the memory, remove the m[ ] array + int maxProfit_DP03 (int k, vector &prices) { + int ndays = prices.size(); + vector< vector > profits(k+1, vector( ndays+1, 0)); + + for(int trans=1; trans<=k; trans++) { + int m = profits[trans-1][0] - prices[0]; + for (int day=1; day <= ndays; day++) { + profits[trans][day] = max(profits[trans][day-1], m + prices[day-1]); + if ( day < ndays ) { + m = max(m, profits[trans-1][day] - prices[day]); + } + } + } + + return profits[k][ndays]; } - - return dp[k][ndays]; - - } }; From 6d30ea638d5220072b25c00a0a7aeecc8a112411 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 4 Apr 2019 01:47:37 +0800 Subject: [PATCH 237/256] reformat the comments --- .../bestTimeToBuyAndSellStock.IV.cpp | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp index ca29b2391..c7e0a7fcb 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/bestTimeToBuyAndSellStock.IV.cpp @@ -29,25 +29,25 @@ class Solution { public: /* - profits[trans, day] - - `trans` represents the number of transactions we've done so far. ( 0 <= trans <= k ) - - `day` represents the number of days so far. ( 0 <= day <= prices.size() ) - - So, we have the initialization as below: - - profits[0, day] = 0; // 0 <= day <= prices.size() - profits[trans, 0] = 0; // 0 <= trans <= k - - And the iteration logic as below: - - profits[trans, day] = max ( - profits[trans, day-1], // same times transactions, but one days before. - profits[trans-1, i-1] + (prices[day] - prices[i])// for all of (0 <= i < day ) - // this means find max profit from - // previous any of days - ) - -*/ + * profits[trans, day] + * - `trans` represents the number of transactions we've done so far. ( 0 <= trans <= k ) + * - `day` represents the number of days so far. ( 0 <= day <= prices.size() ) + * + * So, we have the initialization as below: + * + * profits[0, day] = 0; // 0 <= day <= prices.size() + * profits[trans, 0] = 0; // 0 <= trans <= k + * + * And the iteration logic as below: + * + * profits[trans, day] = max ( + * profits[trans, day-1], // same times transactions, but one days before. + * profits[trans-1, i-1] + (prices[day] - prices[i]) // for all of (0 <= i < day ) + * // this means find max profit from + * // previous any of days + * ) + * + */ int maxProfit(int k, vector &prices) { int ndays = prices.size(); From ff4280df4668ecf49095a3339b8599da205939a7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 4 Apr 2019 03:02:39 +0800 Subject: [PATCH 238/256] more clean implementation --- .../BestTimeToBuyAndSellStockWithCooldown.cpp | 49 +++++++------------ 1 file changed, 17 insertions(+), 32 deletions(-) diff --git a/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp b/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp index e1699e967..be3e38e5f 100644 --- a/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp +++ b/algorithms/cpp/bestTimeToBuyAndSellStock/BestTimeToBuyAndSellStockWithCooldown.cpp @@ -19,7 +19,6 @@ * Output: 3 * Explanation: transactions = [buy, sell, cooldown, buy, sell] ******************************************************************************************************/ - class Solution { public: // @@ -32,47 +31,33 @@ class Solution { // Also set sell[0] = 0, that you do nothing in the first day. // // So, - // - // sell[i] = max ( buy[i-1] + prices[i], - // sell[i-1] - prices[i-1] + prices[i] ); - // - // - buy[i-1]+prices[i] represents buy the stock on day i-1 and sell it on day i; - // - sell[i-1]-prices[i-1]+prices[i] represents you didn't sell the stock on day i-1 - // but sell it on day i (bought stock back and sell it on day i). - // - // - // buy[i] = max ( sell[i-2] - prices[i], - // buy[i-1] + prices[i-1] - prices[i] ); - // - // - sell[i-2]-prices[i] means sold the stock on day i-2 and buy it on day i - // (day i-1 is cooldown). - // - buy[i-1]+prices[i-1]-prices[i] means you didn't buy the stock on day i-1 - // but buy it on day i. - // - + // buy[i] = max(buy[i-1], // do nothing - keep holding + // sell[i-2] - prices[i] ) // sell previous day, buy today + // // i-1 is cooldown day + // sell[i] = max(sell[i-1], // do nothing + // buy[i-1] + prices[i] ) // buy previous day, sell today. + // + int maxProfit(vector& prices) { int len = prices.size(); if ( len < 2 ) return 0; + vector buy(len, 0); vector sell(len, 0); + //day 0 buy[0] = -prices[0]; + sell[0] = 0; - int profit = 0; + //day 1 + buy[1] = max(buy[0], 0 - prices[1]); + sell[1] = max(sell[0], buy[0] + prices[1]); - for (int i=1; i Date: Mon, 8 Apr 2019 21:59:38 +0800 Subject: [PATCH 239/256] update the comments --- .../distinctSubsequences.cpp | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp b/algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp index d84f8cd66..281ad80b2 100644 --- a/algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp +++ b/algorithms/cpp/distinctSubsequences/distinctSubsequences.cpp @@ -2,21 +2,51 @@ // Author : Hao Chen // Date : 2014-07-06 -/********************************************************************************** -* -* Given a string S and a string T, count the number of distinct subsequences of T in S. -* -* A subsequence of a string is a new string which is formed from the original string -* by deleting some (can be none) of the characters without disturbing the relative positions -* of the remaining characters. (ie, "ACE" is a subsequence of "ABCDE" while "AEC" is not). -* -* Here is an example: -* S = "rabbbit", T = "rabbit" -* -* Return 3. -* -* -**********************************************************************************/ +/***************************************************************************************************** + * + * Given a string S and a string T, count the number of distinct subsequences of S which equals T. + * + * A subsequence of a string is a new string which is formed from the original string by deleting some + * (can be none) of the characters without disturbing the relative positions of the remaining + * characters. (ie, "ACE" is a subsequence of "ABCDE" while "AEC" is not). + * + * Example 1: + * + * Input: S = "rabbbit", T = "rabbit" + * Output: 3 + * Explanation: + * + * As shown below, there are 3 ways you can generate "rabbit" from S. + * (The caret symbol ^ means the chosen letters) + * + * rabbbit + * ^^^^ ^^ + * rabbbit + * ^^ ^^^^ + * rabbbit + * ^^^ ^^^ + * + * Example 2: + * + * Input: S = "babgbag", T = "bag" + * Output: 5 + * Explanation: + * + * As shown below, there are 5 ways you can generate "bag" from S. + * (The caret symbol ^ means the chosen letters) + * + * babgbag + * ^^ ^ + * babgbag + * ^^ ^ + * babgbag + * ^ ^^ + * babgbag + * ^ ^^ + * babgbag + * ^^^ + * + ******************************************************************************************************/ #include #include #include From aad9846b2547c7445b58a6698cebd1e1e9979b6c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 8 Apr 2019 21:59:57 +0800 Subject: [PATCH 240/256] add n TLE solution --- .../largestRectangleInHistogram.cpp | 51 ++++++++++++++++--- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp b/algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp index d37c81fcd..e979b7f98 100644 --- a/algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp +++ b/algorithms/cpp/largestRectangleInHistogram/largestRectangleInHistogram.cpp @@ -54,6 +54,43 @@ #include using namespace std; +//Time Limit Exceeded +int largestRectangleArea_01(vector& heights) { + if (heights.size() == 0) return 0; + + // idx of the first bar in the left or right that is lower than current bar + vector left(heights.size()); + vector right(heights.size()); + + right[heights.size() - 1] = heights.size(); + left[0] = -1; + + for (int i = 1; i < heights.size(); i++) { + int l = i - 1; + while (l >= 0 && heights[l] >= heights[i]) { + l--; + } + left[i] = l; + } + + for (int i = heights.size() - 2; i >= 0; i--) { + int r = i + 1; + while (r < heights.size() && heights[r] >= heights[i]) { + r++; + } + right[i] = r; + } + + int maxArea = 0; + for (int i = 0; i < heights.size(); i++) { + maxArea = max(maxArea, heights[i] * (right[i] - left[i] - 1)); + } + + return maxArea; + +} + + // As we know, the area = width * height // For every bar, the 'height' is determined by the loweset bar. // @@ -175,10 +212,10 @@ int main() } /*int main() -{ - int a[] = {2,1,5,6,2,3}; - vector v(a, a + sizeof(a)/sizeof(int)); - printArray(v); - cout << largestRectangleArea(v) << endl; - return 0; -}*/ + { + int a[] = {2,1,5,6,2,3}; + vector v(a, a + sizeof(a)/sizeof(int)); + printArray(v); + cout << largestRectangleArea(v) << endl; + return 0; + }*/ From ba6a84d8e2ce00c40d6ea4ad472562e959cc7455 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 21 Apr 2019 17:21:15 +0800 Subject: [PATCH 241/256] New Problem Solution - "Two City Scheduling" --- README.md | 1 + .../twoCityScheduling/TwoCityScheduling.cpp | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp diff --git a/README.md b/README.md index b50f60137..72d224e35 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| |990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| |989|[Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/) | [C++](./algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp)|Easy| |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| diff --git a/algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp b/algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp new file mode 100644 index 000000000..03a39398b --- /dev/null +++ b/algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp @@ -0,0 +1,55 @@ +// Source : https://leetcode.com/problems/two-city-scheduling/ +// Author : Hao Chen +// Date : 2019-04-21 + +/***************************************************************************************************** + * + * There are 2N people a company is planning to interview. The cost of flying the i-th person to city + * A is costs[i][0], and the cost of flying the i-th person to city B is costs[i][1]. + * + * Return the minimum cost to fly every person to a city such that exactly N people arrive in each + * city. + * + * Example 1: + * + * Input: [[10,20],[30,200],[400,50],[30,20]] + * Output: 110 + * Explanation: + * The first person goes to city A for a cost of 10. + * The second person goes to city A for a cost of 30. + * The third person goes to city B for a cost of 50. + * The fourth person goes to city B for a cost of 20. + * + * The total minimum cost is 10 + 30 + 50 + 20 = 110 to have half the people interviewing in each city. + * + * Note: + * + * 1 <= costs.length <= 100 + * It is guaranteed that costs.length is even. + * 1 <= costs[i][0], costs[i][1] <= 1000 + ******************************************************************************************************/ + + +class Solution { +private: + static int diff(vector& x) { + return x[1] - x[0]; + } + static bool cmpfunc(vector& lhs, vector& rhs) { + return diff(lhs) > diff(rhs); + } + +public: + // Just simply sort the array by comparing the different cost go to A city and B city + // then the bigger difference would be in left and right side, and the smaller difference would be in the middle + // We could simply let the first half go to A city, and the second half go to B city. + int twoCitySchedCost(vector>& costs) { + sort(costs.begin(), costs.end(), cmpfunc); + int result = 0; + int len = costs.size(); + for (int i=0; i Date: Sun, 21 Apr 2019 18:33:08 +0800 Subject: [PATCH 242/256] New Problem Solution - "Matrix Cells in Distance Order" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72d224e35..9dd2629ae 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | [C++](./algorithms/cpp/matrixCellsInDistanceOrder/MatrixCellsInDistanceOrder.cpp)|Easy| |1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| |990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| |989|[Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/) | [C++](./algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp)|Easy| From 467fd312dfbfb5d561aa7cb9ac13a66d0dc684b3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 30 Apr 2019 21:45:48 +0800 Subject: [PATCH 243/256] New Problem Solution "Cousins in Binary Tree" --- README.md | 1 + .../CousinsInBinaryTree.cpp | 74 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp diff --git a/README.md b/README.md index 9dd2629ae..5fc9c7fce 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ LeetCode |---| ----- | -------- | ---------- | |1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | [C++](./algorithms/cpp/matrixCellsInDistanceOrder/MatrixCellsInDistanceOrder.cpp)|Easy| |1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| +|993|[Cousins in Binary Tree](https://leetcode.com/problems/cousins-in-binary-tree/) | [C++](./algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp)|Easy| |990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| |989|[Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/) | [C++](./algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp)|Easy| |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| diff --git a/algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp b/algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp new file mode 100644 index 000000000..fc68f2016 --- /dev/null +++ b/algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp @@ -0,0 +1,74 @@ +// Source : https://leetcode.com/problems/cousins-in-binary-tree/ +// Author : Hao Chen +// Date : 2019-04-30 + +/***************************************************************************************************** + * + * In a binary tree, the root node is at depth 0, and children of each depth k node are at depth k+1. + * + * Two nodes of a binary tree are cousins if they have the same depth, but have different parents. + * + * We are given the root of a binary tree with unique values, and the values x and y of two different + * nodes in the tree. + * + * Return true if and only if the nodes corresponding to the values x and y are cousins. + * + * Example 1: + * + * Input: root = [1,2,3,4], x = 4, y = 3 + * Output: false + * + * Example 2: + * + * Input: root = [1,2,3,null,4,null,5], x = 5, y = 4 + * Output: true + * + * Example 3: + * + * Input: root = [1,2,3,null,4], x = 2, y = 3 + * Output: false + * + * Note: + * + * The number of nodes in the tree will be between 2 and 100. + * Each node has a unique integer value from 1 to 100. + * + ******************************************************************************************************/ + +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode(int x) : val(x), left(NULL), right(NULL) {} + * }; + */ +class Solution { +public: + bool isCousins(TreeNode* root, int x, int y) { + int dx=0, dy=0; + TreeNode *px=root, *py=root; + dx = DepthAndParent(root, px, 0, x); + dy = DepthAndParent(root, py, 0, y); + if (dx && dy){ + return (dx == dy && px != py); + } + + return false; + + } + + int DepthAndParent(TreeNode* root, TreeNode*& parent, int depth, int x) { + if (!root) return 0; + if ( root->val == x) return depth; + + int d=0; + parent = root; + if ( ( d = DepthAndParent(root->left, parent, depth+1, x)) > 0 ) return d; + + parent = root; + if ( ( d = DepthAndParent(root->right, parent, depth+1, x)) > 0 ) return d; + return 0; + } +}; From bb0ede132c463193b33411dc893b42427c50c355 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 1 May 2019 00:29:36 +0800 Subject: [PATCH 244/256] New Problem Solution "Broken Calculator" --- README.md | 1 + .../cpp/brokenCalculator/BrokenCalculator.cpp | 54 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 algorithms/cpp/brokenCalculator/BrokenCalculator.cpp diff --git a/README.md b/README.md index 5fc9c7fce..4aa9bfe96 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ LeetCode |1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | [C++](./algorithms/cpp/matrixCellsInDistanceOrder/MatrixCellsInDistanceOrder.cpp)|Easy| |1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| |993|[Cousins in Binary Tree](https://leetcode.com/problems/cousins-in-binary-tree/) | [C++](./algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp)|Easy| +|991|[Broken Calculator](https://leetcode.com/problems/broken-calculator/) | [C++](./algorithms/cpp/brokenCalculator/BrokenCalculator.cpp)|Medium| |990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| |989|[Add to Array-Form of Integer](https://leetcode.com/problems/add-to-array-form-of-integer/) | [C++](./algorithms/cpp/addToArrayFormOfInteger/AddToArrayFormOfInteger.cpp)|Easy| |988|[Smallest String Starting From Leaf](https://leetcode.com/problems/smallest-string-starting-from-leaf/) | [C++](./algorithms/cpp/smallestStringStartingFromLeaf/SmallestStringStartingFromLeaf.cpp)|Medium| diff --git a/algorithms/cpp/brokenCalculator/BrokenCalculator.cpp b/algorithms/cpp/brokenCalculator/BrokenCalculator.cpp new file mode 100644 index 000000000..b0fa97996 --- /dev/null +++ b/algorithms/cpp/brokenCalculator/BrokenCalculator.cpp @@ -0,0 +1,54 @@ +// Source : https://leetcode.com/problems/broken-calculator/ +// Author : Hao Chen +// Date : 2019-05-01 + +/***************************************************************************************************** + * + * On a broken calculator that has a number showing on its display, we can perform two operations: + * + * Double: Multiply the number on the display by 2, or; + * Decrement: Subtract 1 from the number on the display. + * + * Initially, the calculator is displaying the number X. + * + * Return the minimum number of operations needed to display the number Y. + * + * Example 1: + * + * Input: X = 2, Y = 3 + * Output: 2 + * Explanation: Use double operation and then decrement operation {2 -> 4 -> 3}. + * + * Example 2: + * + * Input: X = 5, Y = 8 + * Output: 2 + * Explanation: Use decrement and then double {5 -> 4 -> 8}. + * + * Example 3: + * + * Input: X = 3, Y = 10 + * Output: 3 + * Explanation: Use double, decrement and double {3 -> 6 -> 5 -> 10}. + * + * Example 4: + * + * Input: X = 1024, Y = 1 + * Output: 1023 + * Explanation: Use decrement operations 1023 times. + * + * Note: + * + * 1 <= X <= 10^9 + * 1 <= Y <= 10^9 + ******************************************************************************************************/ + + +class Solution { +public: + int brokenCalc(int X, int Y) { + if (X >= Y) return X-Y ; + if ( Y%2 ==0 ) return brokenCalc(X, Y/2) + 1; + return brokenCalc(X, Y+1) + 1; + } +}; From 3564a92bf03d20d85c8aeba57a3f1676891406b7 Mon Sep 17 00:00:00 2001 From: Lam <15622383059@163.com> Date: Sun, 7 Apr 2019 15:28:26 +0800 Subject: [PATCH 245/256] New C++ Solution "Largest Perimeter Triangle" --- .../largestPerimeterTriangle.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 algorithms/cpp/largestPerimeterTriagnle/largestPerimeterTriangle.cpp diff --git a/algorithms/cpp/largestPerimeterTriagnle/largestPerimeterTriangle.cpp b/algorithms/cpp/largestPerimeterTriagnle/largestPerimeterTriangle.cpp new file mode 100644 index 000000000..94c9721e5 --- /dev/null +++ b/algorithms/cpp/largestPerimeterTriagnle/largestPerimeterTriangle.cpp @@ -0,0 +1,13 @@ +class Solution { +public: + int largestPerimeter(vector& A) { + if (A.size() < 3) return 0; + sort(A.begin(), A.end(), greater()); + for (auto it = A.begin(); it != A.end() - 2; ++it) { + if (*it < *(it + 1) + *(it + 2)) + return *it + *(it + 1) + *(it + 2); + } + return 0; + } +}; + From f15b164a9a1ceaa27ea699ecfd36d13194a61c33 Mon Sep 17 00:00:00 2001 From: Lam <15622383059@163.com> Date: Sun, 7 Apr 2019 15:35:08 +0800 Subject: [PATCH 246/256] New C++ Solution "Largest Perimeter Triangle" --- README.md | 2 +- .../largestPerimeterTriangle.cpp | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename algorithms/cpp/{largestPerimeterTriagnle => largestPerimeterTriangle}/largestPerimeterTriangle.cpp (100%) diff --git a/README.md b/README.md index 4aa9bfe96..ad831ec28 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ LeetCode |979|[Distribute Coins in Binary Tree](https://leetcode.com/problems/distribute-coins-in-binary-tree/) | [C++](./algorithms/cpp/distributeCoinsInBinaryTree/DistributeCoinsInBinaryTree.cpp)|Medium| |978|[Longest Turbulent Subarray](https://leetcode.com/problems/longest-turbulent-subarray/) | [C++](./algorithms/cpp/longestTurbulentSubarray/LongestTurbulentSubarray.cpp),[Python](./algorithms/python/LongestTurbulentSubarray/maxTurbulenceSize.py)|Medium| |977|[Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/) | [C++](./algorithms/cpp/squaresOfASortedArray/SquaresOfASortedArray.cpp), [Python](./algorithms/python/SquaresOfSortedArray/sortedSquares.py)|Easy| -|976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| +|976|[Largest Perimeter Triangle](https://leetcode.com/problems/largest-perimeter-triangle/) | [C++](./algorithms/cpp/largestPerimeterTriangle/largestPerimeterTriangle.cpp), [Python](./algorithms/python/LargestPerimeterTriangle/largestPerimeter.py)|Easy| |971|[Flip Binary Tree To Match Preorder Traversal](https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/) | [Python](./algorithms/python/FlipBinaryTreeToMatchPreorderTraversal/flipMatchVoyage.py)|Medium| |969|[Pancake Sorting](https://leetcode.com/problems/pancake-sorting/) | [Python](./algorithms/python/PancakeSorting/pancakeSort.py)|Medium| |958|[Check Completeness of a Binary Tree](https://leetcode.com/problems/check-completeness-of-a-binary-tree/) | [Python](./algorithms/python/CheckCompletenessOfABinaryTree/isCompleteTree.py)|Medium| diff --git a/algorithms/cpp/largestPerimeterTriagnle/largestPerimeterTriangle.cpp b/algorithms/cpp/largestPerimeterTriangle/largestPerimeterTriangle.cpp similarity index 100% rename from algorithms/cpp/largestPerimeterTriagnle/largestPerimeterTriangle.cpp rename to algorithms/cpp/largestPerimeterTriangle/largestPerimeterTriangle.cpp From 406871b16b1262748f1a60fb583cc8e38ba75d7d Mon Sep 17 00:00:00 2001 From: TaoWei <36024756+LynnTh@users.noreply.github.com> Date: Tue, 14 May 2019 09:36:20 +0800 Subject: [PATCH 247/256] Update IntegerBreak.cpp --- algorithms/cpp/integerBreak/IntegerBreak.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/algorithms/cpp/integerBreak/IntegerBreak.cpp b/algorithms/cpp/integerBreak/IntegerBreak.cpp index 21f78bb82..373e12671 100644 --- a/algorithms/cpp/integerBreak/IntegerBreak.cpp +++ b/algorithms/cpp/integerBreak/IntegerBreak.cpp @@ -44,3 +44,16 @@ class Solution { } }; +// DP +class Solution { +public: + int integerBreak(int n) { + vector dp(n+1,1); + for(int i=2;i<=n;i++){ + for(int j=1;j<=i/2;j++){ + dp[i] = max(dp[i],max(dp[j],j)*max(dp[i-j],i-j)); + } + } + return dp[n]; + } +}; From eab78166ced30aa2fa9c4a59e329c1c2b0806720 Mon Sep 17 00:00:00 2001 From: AhmedMorsy95 Date: Sun, 19 May 2019 20:29:48 +0200 Subject: [PATCH 248/256] recoverTreeFromPreorderTraversal.cpp --- .../recoverTreeFromPreorderTraversal.cpp | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp diff --git a/algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp b/algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp new file mode 100644 index 000000000..f5a72ee78 --- /dev/null +++ b/algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp @@ -0,0 +1,95 @@ +// source : https://leetcode.com/problems/recover-a-tree-from-preorder-traversal/ +// Author Ahmed Morsy +// Date : 2019-5-19 + +/********************************************************************************** +*We run a preorder depth first search on the root of a binary tree. +*At each node in this traversal, we output D dashes (where D is the depth of this node), +*then we output the value of this node. +*(If the depth of a node is D, the depth of its immediate child is D+1.The depth of the root node is 0.) +*If a node has only one child, that child is guaranteed to be the left child. +*Given the output S of this traversal, recover the tree and return its root. + +* Input: "1-2--3--4-5--6--7" +* Output: [1,2,5,3,4,6,7] + +* Proposed Solution + ----------------- + 1. for each node in the input save its depth and value + 2. start a stack with the root node pushed onto it + + IF the following node has the root's depth + 1 and the root has less than 2 children then this node + is a child for this root. Add it to the stack. + + ELSE then pop the current node from the stack. + +**********************************************************************************/ + +/* Definition for a binary tree node. + struct TreeNode { + int val; + TreeNode *left; + TreeNode *right; + TreeNode(int x) : val(x), left(NULL), right(NULL) {} + }; +*/ + + +class Solution { +public: + + TreeNode* recoverFromPreorder(string S) { + vectorvalues,depth; + int cur_val = 0 , cur_depth = 0; + bool dash = false; + for(char s : S){ + if(s == '-'){ + if(!dash){ + values.push_back(cur_val); + depth.push_back(cur_depth); + cur_depth = 0; + cur_val = 0; + } + dash = true; + cur_depth++; + } + else{ + dash = false; + cur_val *= 10; + cur_val += s-'0'; + } + } + values.push_back(cur_val); + depth.push_back(cur_depth); + + unordered_mapdepths; + + + int ptr = 1; + TreeNode *root = new TreeNode(values[0]); + depths[root] = 0; + stackst; + st.push(root); + + while(ptr < (int)values.size()){ + TreeNode *cur = st.top(); + if(depth[ptr] == depths[cur]+1 && (cur->left == NULL || cur->right == NULL)){ + TreeNode *t = new TreeNode(values[ptr++]); + depths[t] = depths[cur]+1; + if(cur->left == NULL){ + cur->left = t; + } + else{ + cur->right = t; + } + st.push(t); + } + else{ + st.pop(); + } + } + return root; + + } +}; + From 1ddea2815cdf70eece3f126259b33cf0b1ef47b4 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 29 May 2019 17:22:42 +0800 Subject: [PATCH 249/256] refine the file name and the problem description comment #172 --- README.md | 1 + .../recoverATreeFromPreorderTraversal.cpp} | 61 +++++++++++-------- 2 files changed, 37 insertions(+), 25 deletions(-) rename algorithms/cpp/{recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp => recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp} (61%) diff --git a/README.md b/README.md index ad831ec28..7c9d25d23 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ LeetCode |---| ----- | -------- | ---------- | |1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | [C++](./algorithms/cpp/matrixCellsInDistanceOrder/MatrixCellsInDistanceOrder.cpp)|Easy| |1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| +|1028|[Recover a Tree From Preorder Traversal](https://leetcode.com/problems/recover-a-tree-from-preorder-traversal/) | [C++](./algorithms/cpp/recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp)|Hard| |993|[Cousins in Binary Tree](https://leetcode.com/problems/cousins-in-binary-tree/) | [C++](./algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp)|Easy| |991|[Broken Calculator](https://leetcode.com/problems/broken-calculator/) | [C++](./algorithms/cpp/brokenCalculator/BrokenCalculator.cpp)|Medium| |990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| diff --git a/algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp b/algorithms/cpp/recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp similarity index 61% rename from algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp rename to algorithms/cpp/recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp index f5a72ee78..eabe784b2 100644 --- a/algorithms/cpp/recoverBinarySearchTree/recoverTreeFromPreorderTraversal.cpp +++ b/algorithms/cpp/recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp @@ -1,29 +1,40 @@ +// Source : https://leetcode.com/problems/recover-a-tree-from-preorder-traversal/ +// Author : Ahmed Morsy +// Date : 2019-05-29 // source : https://leetcode.com/problems/recover-a-tree-from-preorder-traversal/ -// Author Ahmed Morsy -// Date : 2019-5-19 - -/********************************************************************************** -*We run a preorder depth first search on the root of a binary tree. -*At each node in this traversal, we output D dashes (where D is the depth of this node), -*then we output the value of this node. -*(If the depth of a node is D, the depth of its immediate child is D+1.The depth of the root node is 0.) -*If a node has only one child, that child is guaranteed to be the left child. -*Given the output S of this traversal, recover the tree and return its root. - -* Input: "1-2--3--4-5--6--7" -* Output: [1,2,5,3,4,6,7] - -* Proposed Solution - ----------------- - 1. for each node in the input save its depth and value - 2. start a stack with the root node pushed onto it - - IF the following node has the root's depth + 1 and the root has less than 2 children then this node - is a child for this root. Add it to the stack. - - ELSE then pop the current node from the stack. - -**********************************************************************************/ +/***************************************************************************************************** + * + * We run a preorder depth first search on the root of a binary tree. + * + * At each node in this traversal, we output D dashes (where D is the depth of this node), then we + * output the value of this node. (If the depth of a node is D, the depth of its immediate child is + * D+1. The depth of the root node is 0.) + * + * If a node has only one child, that child is guaranteed to be the left child. + * + * Given the output S of this traversal, recover the tree and return its root. + * + * Example 1: + * + * Input: "1-2--3--4-5--6--7" + * Output: [1,2,5,3,4,6,7] + * + * Example 2: + * + * Input: "1-2--3---4-5--6---7" + * Output: [1,2,5,3,null,6,null,4,null,7] + * + * Example 3: + * + * Input: "1-401--349---90--88" + * Output: [1,401,null,349,88,90] + * + * Note: + * + * The number of nodes in the original tree is between 1 and 1000. + * Each node will have a value between 1 and 10^9. + * + ******************************************************************************************************/ /* Definition for a binary tree node. struct TreeNode { From 1f3f2dbba2a8c748f99e28379791ba7f29147d7b Mon Sep 17 00:00:00 2001 From: xingming Date: Wed, 29 May 2019 16:24:32 +0800 Subject: [PATCH 250/256] addTwoNumbers golang solution --- algorithms/golang/addTwoNumbers/addTwoNumbers.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 algorithms/golang/addTwoNumbers/addTwoNumbers.go diff --git a/algorithms/golang/addTwoNumbers/addTwoNumbers.go b/algorithms/golang/addTwoNumbers/addTwoNumbers.go new file mode 100644 index 000000000..657f2bc6c --- /dev/null +++ b/algorithms/golang/addTwoNumbers/addTwoNumbers.go @@ -0,0 +1,12 @@ +package addTwoNumbers + +func twoSum(nums []int, target int) []int { + numMap := make(map[int]int) + for index, num := range nums { + if i, ok := numMap[target-num]; ok { + return []int{i, index} + } + numMap[num] = index + } + return nil +} \ No newline at end of file From 9f09f91de828df30704c08af3acf50339460e8e8 Mon Sep 17 00:00:00 2001 From: xingming Date: Wed, 29 May 2019 16:26:33 +0800 Subject: [PATCH 251/256] modify name to twoSum and readme --- README.md | 2 +- .../golang/{addTwoNumbers/addTwoNumbers.go => twoSum/twoSum.go} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename algorithms/golang/{addTwoNumbers/addTwoNumbers.go => twoSum/twoSum.go} (90%) diff --git a/README.md b/README.md index 7c9d25d23..749c19769 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ LeetCode |4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [C++](./algorithms/cpp/medianOfTwoSortedArrays/medianOfTwoSortedArrays.cpp)|Hard| |3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [C++](./algorithms/cpp/longestSubstringWithoutRepeatingCharacters/longestSubstringWithoutRepeatingCharacters.cpp)|Medium| |2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [C++](./algorithms/cpp/addTwoNumbers/addTwoNumbers.cpp)|Medium| -|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)|Easy| +|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)[Go](./algorithms/golang/twoSum/twoSum.cpp)|Easy| ### LeetCode Shell diff --git a/algorithms/golang/addTwoNumbers/addTwoNumbers.go b/algorithms/golang/twoSum/twoSum.go similarity index 90% rename from algorithms/golang/addTwoNumbers/addTwoNumbers.go rename to algorithms/golang/twoSum/twoSum.go index 657f2bc6c..c1241ce15 100644 --- a/algorithms/golang/addTwoNumbers/addTwoNumbers.go +++ b/algorithms/golang/twoSum/twoSum.go @@ -1,4 +1,4 @@ -package addTwoNumbers +package twoSum func twoSum(nums []int, target int) []int { numMap := make(map[int]int) From 71912544c0392daf188ed98b17b92fbcc87b1b5f Mon Sep 17 00:00:00 2001 From: xingming Date: Wed, 29 May 2019 16:27:19 +0800 Subject: [PATCH 252/256] add , --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 749c19769..c8fd703da 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ LeetCode |4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [C++](./algorithms/cpp/medianOfTwoSortedArrays/medianOfTwoSortedArrays.cpp)|Hard| |3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [C++](./algorithms/cpp/longestSubstringWithoutRepeatingCharacters/longestSubstringWithoutRepeatingCharacters.cpp)|Medium| |2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [C++](./algorithms/cpp/addTwoNumbers/addTwoNumbers.cpp)|Medium| -|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp)[Go](./algorithms/golang/twoSum/twoSum.cpp)|Easy| +|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp), [Go](./algorithms/golang/twoSum/twoSum.cpp)|Easy| ### LeetCode Shell From 27c5c9e1e6701fcccc5f465aceff9bc8f6e19657 Mon Sep 17 00:00:00 2001 From: xingming Date: Wed, 29 May 2019 16:27:50 +0800 Subject: [PATCH 253/256] modify golang file name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8fd703da..afa5edcdf 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ LeetCode |4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [C++](./algorithms/cpp/medianOfTwoSortedArrays/medianOfTwoSortedArrays.cpp)|Hard| |3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [C++](./algorithms/cpp/longestSubstringWithoutRepeatingCharacters/longestSubstringWithoutRepeatingCharacters.cpp)|Medium| |2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [C++](./algorithms/cpp/addTwoNumbers/addTwoNumbers.cpp)|Medium| -|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp), [Go](./algorithms/golang/twoSum/twoSum.cpp)|Easy| +|1|[Two Sum](https://leetcode.com/problems/two-sum/)| [C++](./algorithms/cpp/twoSum/twoSum.cpp), [Go](./algorithms/golang/twoSum/twoSum.go)|Easy| ### LeetCode Shell From 18d72f254047537f1b67e38d705330ed3ea6c35e Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 29 May 2019 17:41:13 +0800 Subject: [PATCH 254/256] add an log alias in git config file --- .gitconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitconfig b/.gitconfig index e5adb6835..f7b78e2ba 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,4 +1,5 @@ [alias] + lg0 = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all - lg = !"git lg1" + lg = !"git lg0" From 1314a815b0143e7572f4c4346a6a33c869d9e20b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 1 Oct 2019 11:51:13 +0800 Subject: [PATCH 255/256] New Problem Solution "Compare Strings by Frequency of the Smallest Character" --- README.md | 1 + ...ringsByFrequencyOfTheSmallestCharacter.cpp | 83 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 algorithms/cpp/compareStringsByFrequencyOfTheSmallestCharacter/CompareStringsByFrequencyOfTheSmallestCharacter.cpp diff --git a/README.md b/README.md index afa5edcdf..f89a2c985 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|1170|[Compare Strings by Frequency of the Smallest Character](https://leetcode.com/problems/compare-strings-by-frequency-of-the-smallest-character/) | [C++](./algorithms/cpp/compareStringsByFrequencyOfTheSmallestCharacter/CompareStringsByFrequencyOfTheSmallestCharacter.cpp)|Easy| |1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | [C++](./algorithms/cpp/matrixCellsInDistanceOrder/MatrixCellsInDistanceOrder.cpp)|Easy| |1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| |1028|[Recover a Tree From Preorder Traversal](https://leetcode.com/problems/recover-a-tree-from-preorder-traversal/) | [C++](./algorithms/cpp/recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp)|Hard| diff --git a/algorithms/cpp/compareStringsByFrequencyOfTheSmallestCharacter/CompareStringsByFrequencyOfTheSmallestCharacter.cpp b/algorithms/cpp/compareStringsByFrequencyOfTheSmallestCharacter/CompareStringsByFrequencyOfTheSmallestCharacter.cpp new file mode 100644 index 000000000..29aa35815 --- /dev/null +++ b/algorithms/cpp/compareStringsByFrequencyOfTheSmallestCharacter/CompareStringsByFrequencyOfTheSmallestCharacter.cpp @@ -0,0 +1,83 @@ +// Source : https://leetcode.com/problems/compare-strings-by-frequency-of-the-smallest-character/ +// Author : Hao Chen +// Date : 2019-10-01 + +/***************************************************************************************************** + * + * Let's define a function f(s) over a non-empty string s, which calculates the frequency of the + * smallest character in s. For example, if s = "dcce" then f(s) = 2 because the smallest character is + * "c" and its frequency is 2. + * + * Now, given string arrays queries and words, return an integer array answer, where each answer[i] is + * the number of words such that f(queries[i]) < f(W), where W is a word in words. + * + * Example 1: + * + * Input: queries = ["cbd"], words = ["zaaaz"] + * Output: [1] + * Explanation: On the first query we have f("cbd") = 1, f("zaaaz") = 3 so f("cbd") < f("zaaaz"). + * + * Example 2: + * + * Input: queries = ["bbb","cc"], words = ["a","aa","aaa","aaaa"] + * Output: [1,2] + * Explanation: On the first query only f("bbb") < f("aaaa"). On the second query both f("aaa") and + * f("aaaa") are both > f("cc"). + * + * Constraints: + * + * 1 <= queries.length <= 2000 + * 1 <= words.length <= 2000 + * 1 <= queries[i].length, words[i].length <= 10 + * queries[i][j], words[i][j] are English lowercase letters. + ******************************************************************************************************/ + +class Solution { +public: + vector numSmallerByFrequency(vector& queries, vector& words) { + cout << queries.size() << " : " << words.size() << endl; + vector freq; + for (auto w : words) { + freq.push_back(f(w)); + } + sort(freq.begin(), freq.end()); + + vector result; + for (auto q : queries) { + result.push_back(binary_search(freq, f(q))); + } + return result; + } + + int f(string& s) { + char ch = 'z' + 1; //stroe the smallest char + int cnt = 0; //stroe the frequency of the smallest char + for (auto c : s) { + if (c < ch) { //find the smaller char, reset the count + cnt = 1; + ch = c; + } if (c == ch) { + cnt++; + } + } + return cnt; + } + + int binary_search(vector &v, int target) { + int low=0, high=v.size()-1, mid; + + while (low < high) { + mid = low + (high - low) / 2; + if ( v[mid] > target) { + high = mid -1; + } else if (v[mid] <= target) { + low = mid + 1; + } + } + + low = v[low] > target ? low : low + 1; + + return v.size() - low; + } + +}; From bde5dff8a06e3a4a48896ab993c373c48cdee136 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 1 Oct 2019 15:02:23 +0800 Subject: [PATCH 256/256] New Problem Solution "Video Stitching" --- README.md | 1 + .../cpp/videoStitching/VideoStitching.cpp | 118 ++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 algorithms/cpp/videoStitching/VideoStitching.cpp diff --git a/README.md b/README.md index f89a2c985..863b572d2 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ LeetCode |1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | [C++](./algorithms/cpp/matrixCellsInDistanceOrder/MatrixCellsInDistanceOrder.cpp)|Easy| |1029|[Two City Scheduling](https://leetcode.com/problems/two-city-scheduling/) | [C++](./algorithms/cpp/twoCityScheduling/TwoCityScheduling.cpp)|Easy| |1028|[Recover a Tree From Preorder Traversal](https://leetcode.com/problems/recover-a-tree-from-preorder-traversal/) | [C++](./algorithms/cpp/recoverATreeFromPreorderTraversal/recoverATreeFromPreorderTraversal.cpp)|Hard| +|1024|[Video Stitching](https://leetcode.com/problems/video-stitching/) | [C++](./algorithms/cpp/videoStitching/VideoStitching.cpp)|Medium| |993|[Cousins in Binary Tree](https://leetcode.com/problems/cousins-in-binary-tree/) | [C++](./algorithms/cpp/cousinsInBinaryTree/CousinsInBinaryTree.cpp)|Easy| |991|[Broken Calculator](https://leetcode.com/problems/broken-calculator/) | [C++](./algorithms/cpp/brokenCalculator/BrokenCalculator.cpp)|Medium| |990|[Satisfiability of Equality Equations](https://leetcode.com/problems/satisfiability-of-equality-equations/) | [C++](./algorithms/cpp/satisfiabilityOfEqualityEquations/SatisfiabilityOfEqualityEquations.cpp)|Medium| diff --git a/algorithms/cpp/videoStitching/VideoStitching.cpp b/algorithms/cpp/videoStitching/VideoStitching.cpp new file mode 100644 index 000000000..3decbbfcc --- /dev/null +++ b/algorithms/cpp/videoStitching/VideoStitching.cpp @@ -0,0 +1,118 @@ +// Source : https://leetcode.com/problems/video-stitching/ +// Author : Hao Chen +// Date : 2019-10-01 + +/***************************************************************************************************** + * + * You are given a series of video clips from a sporting event that lasted T seconds. These video + * clips can be overlapping with each other and have varied lengths. + * + * Each video clip clips[i] is an interval: it starts at time clips[i][0] and ends at time + * clips[i][1]. We can cut these clips into segments freely: for example, a clip [0, 7] can be cut + * into segments [0, 1] + [1, 3] + [3, 7]. + * + * Return the minimum number of clips needed so that we can cut the clips into segments that cover the + * entire sporting event ([0, T]). If the task is impossible, return -1. + * + * Example 1: + * + * Input: clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]], T = 10 + * Output: 3 + * Explanation: + * We take the clips [0,2], [8,10], [1,9]; a total of 3 clips. + * Then, we can reconstruct the sporting event as follows: + * We cut [1,9] into segments [1,2] + [2,8] + [8,9]. + * Now we have segments [0,2] + [2,8] + [8,10] which cover the sporting event [0, 10]. + * + * Example 2: + * + * Input: clips = [[0,1],[1,2]], T = 5 + * Output: -1 + * Explanation: + * We can't cover [0,5] with only [0,1] and [0,2]. + * + * Example 3: + * + * Input: clips = + * [[0,1],[6,8],[0,2],[5,6],[0,4],[0,3],[6,7],[1,3],[4,7],[1,4],[2,5],[2,6],[3,4],[4,5],[5,7],[6,9]], + * T = 9 + * Output: 3 + * Explanation: + * We can take clips [0,4], [4,7], and [6,9]. + * + * Example 4: + * + * Input: clips = [[0,4],[2,8]], T = 5 + * Output: 2 + * Explanation: + * Notice you can have extra video after the event ends. + * + * Note: + * + * 1 <= clips.length <= 100 + * 0 <= clips[i][0], clips[i][1] <= 100 + * 0 <= T <= 100 + * + ******************************************************************************************************/ + +class Solution { +public: + int videoStitching(vector>& clips, int T) { + + //sort the clips + std::sort(clips.begin(), clips.end(), [](vector& x, vector& y) { + return x[0] < y[0] || (x[0] == y[0] && x[1] < y[1]); + }); + + //print(clips); + + // dynamic programming + // dp[i] is the minmal clips from [o,i] + + vector dp(T+1, -1); + for (auto c : clips) { + //edge case: out of the range + if (c[0] > T) continue; + + // if clip is started from 0, then just simple initalize to 1 + if (c[0] == 0) { + for (int i=c[0]; i<=min(T,c[1]); i++) dp[i] = 1; + continue; + } + + //if clip is not started from 0, seprate the range to two parts + //the first part is the greater than 0, then second part is -1 + // 1) for the first part, need figure the minimal number + // 2) for the second part, just simple add 1 with minimal number of first part. + + if (dp[c[0]] == -1 ) continue; + + int m = dp[c[0]]; + + for (int i = c[0] + 1; i<= min(T, c[1]); i++) { + if ( dp[i] > 0 ) m = min(m, dp[i]); + else dp[i] = m + 1; + } + } + + //print(dp); + return dp[T]; + } + + + + //used for debug + void print(vector>& clips) { + for (auto c : clips) { + cout << "[" << c[0] <<","<< c[1] << "]"<< " "; + } + cout << endl; + } + + void print(vector& v) { + for (auto i : v) { + cout << i << ", "; + } + cout << endl; + } +};

*|elgcQMgPiwu(CurN0d+8}&*rFWM_no$KepLgyg zA{%|sF6w(B{B$&*MaZ@h8uL62&UBL$rhjn-clT_x9A%F83ui~z1wUc-;g}e9{0e0( zfV7`<$2MzeRP$+q;z!Jg%mRRT($YlmXZL!ate&MAk_Blc1J zjEe52stlD^R#cphMVpFBWKFNR*W|^nxi-hviNi$ojJ4)oJGk(7}L_ekN~T z4Nkf>AMMQ8y(L6#vPF+zCW^5OB}!U|raP1@Xkpfpw;LngI37CRmmU5a^JTYM0Q3 zy{X%!iRG!{(T0up9RO$DxcN%*5USKL!oP%M9iohl7;g9Ws%QTsk80S*VljwqGoU9R z{#8XVDj6?N+V8grG-RQ|^FWz=P2Rxv-Uy~ThbCqm?5kSZw&Hc?+54jlC;3Zkm6jGr zC-Xi7+3$_B+HzOY>bdL-cEnSoS8TL`BZa_m%KI~lG9yZ&+74U zw00%TjqqG^E>pYc}E+!xB<6iR8 zK&Pl5veywMrM%x_0TV@EKg|bGB^YOFp8E{he|_>ooP91u+g{CoMw7@23bdRXt+81o zomq~ZQHYn(+eH+EDFat+I0U6g>xt!(BnO1es*Wee2U3W}?Px7oxYzRGk`=F?JI9X< zB?HjI+|`9&hHi451FpJd$c|SI~&@GcD`b$cwr2PxG7P6r9(8mjq^!&$_ zY#Qvz(@_o+6#KZ&13AqwLA&C1H_;FvfdDqYh(EfoPfU>DsLIkZh}!Z>?P!b?E&9#I znqiAMB8Bw`<63$5MazbTIx=mAOC3QbKW$Reenv3Z>?@{)hqn~Omi(lFJt~oA-g?bo zV>3(TVsnHt4gQgR>!x>*@p;2L`RRcqX7jnpi;S)hChZH${FU-AM9P={^GylLSJ1R* zN6AVT4{1znmS}P*y1FYmJ8ZX1tS8`8XJaEI9!q3MR`j`X)K33vjYnF>L!V1mg|JzF z@NaH3WRXif(>@B_&RDrkH)Ijl6z5blHfUtX%HWgrGFqHk7eCj(trg5bCZkoieT04? z(+pRay&sc6!g0(soq<0-U7;0+8O^Fr^QZi1ObF4c^{yAnn1v_6Y-BpvreaMh&2>(e zEyUcY`HCkAU^=q6xzehvc|IP6jlShM-&8)2 zt14Ug#7vuPJraH(Yq|no?{ooDDIx|myfp?heX)s{v%xybk7EUV!X_%(z%M5?$v$h5 z3`UOq133v7N2v=yJUh2TfR!7mSUXZdr*1fZt^z|ntl(a|$236o8ar{?x5r;_u7-xt zWUcEjoL|mNe0T${&=u5EY4UeCb=2Oj5IW5@@;#rl7f8SjW?FAE z2BuW*d~&_47hZA78G^SU49A9NcN8A}FE$qWhuW<(=x7ZF6u!l;aSD}~K=I6pcqk83+k`8B4yLKWb<_wJyZW()7{4D2&+V6jqS3> zkVqgPrriBm?q!64MwNbfS%6r~T%l$(h~6CX|F+ZrvfwQ!kiAkHEL*8#osA1BR~;sj z)lZV?_FQ}IYMAHekkyrG0`U!C0Wp4tDlc+~&`GgVM>J_Da=?7K4kq>)V$FV0cQDz0 z(q?Y6)o`*qhsI1bS#BcM-M+RYXugQKv|=Ym+-zx2RGtC^ni2lj+bKq}s}u0^a~|3y zQW2U=<*A(HqSwSJ%4+_P$1#Da*adf*!*4_yxjJ@K27j%U0knal?@=*q-hIWGv&-Vf zr$NetoawBh^!0I9;#9RTl!3z3kHe%GKLel1FMH+Uo+l_;zvT|OqlM2YAT>(^e>Gz1h9pM=S95{RD37(V3Aj5F7z4lm@9eh||69F25 zk`JlB_UtdRBvQ4-tL^+C;2+S)8$=3y$ykgyRAWv`h;o`)_sfO#M~xjv6A-D><}gKq zNk>D!K#*a__Zan|3Bo2onvo@@(@qiujXGo>lzS2dY%WJ17#MImli)=x$_l;aIHWsr zE0`X=r6%?Zge_%s;qfV3{02i~2}&1{#xq1;hJH77-R6gdS2l@X$%v@oOXJpQvMz3$ z%yRgM<_bVb7VW_enXLFKrPRZ$Jhot*i5p;ltaSaB;)m4lzYzB}{C~x>|FV<+h;&m@ zzCi#!efQtBCpM(?jV(BLi(0we4DhueuBIv;>()tubqw)1v}%26RxZC5q->oqW@{p@~< z@fn4$B?``Pm*W{R0{ufL27P;nQyT`(4A|Q|M_6iw+GzpyA5&)nK>QI!&>XN76#}vF z@cIQm6@~6>Nzg(B*S1Kjk9pAL0+f?8E=5v*Qovi^)x?W1PXqyqXOef5MaVJjztP5t zP>oL+sqiNFunhD2mh2j+v8HErSRyFFCBvx>Vj?Yp>g1ONA4^f05b?=fsB45`ybD2%J~G7r#deL#ujTmZ5XLHrI$j1R7#I0YOxg)F44Q>gxX%>G zcX)dd)~zKY3p4j0C&i-zrnhwTjA_^wgt3V0)!`UHyX%_MwQQmPKW?u7^`tAgz*>U< zvX7{l&Lh%#p6@yYybjVfS2G$;rw6X*EmUhwHg%6$)q`o%!F^~{)N~RIFAsG$)woPf ziP{q(eh+D20llb_g^Y}c**(*nA1EC17IU4b(+svi-vQn-jeS>$1>p!)YgFA?@1FfP zPwfIA1Y%F`QI{)ztk)e591~{#LR7`nL(z(=Y*KmbKDJiX@$TK1{khcu&u z+=qy#MV`W`s(BuDozul*{?q&9?HqO}ep-`oojXt!yx)Kp=vmaRqWHZ~CBlB|KFE)5i@MFqc z?i9MeX#%Ypr10qji`B}gHW@CGCpZ3vXnmmUp7P#tAso*Mk}Y)EQ$9l6M2w|hb~oVX zYZ%@0%yAF9Zi8W#{gJ)wLeZw_h>WL_+a?`{M~V@wgIZw6={Zu&;CjZtVM?=xnu8OI z2n}Yhb3pz?SyApaig6P96zv&p!O3P?3l1tiZwVA`{OciAV`~wmS*m)$e8m zLo|LDJQ0SQu#YR|e}#t%GJv3{&voK!u3q^;Nr`S!k*9Z>$M$-)Svx_QdJ)Sgq>J+Pzen5K>x`X`!M-UI=}@S&zWo+R^1N4PMU= zD%rh8^*rQyYPbB3nP(f=sY$im7rmwjLl@BY4-5DpX-L*x3wkBJ>@&5Hkd^99y>q(O z#zDD0!#hi#6H2g6(BTfhnC*71A__xQ&_6>- zo!6RlX2x1$*4o1pu;If1c@Mtd0BdIAfSmu!HI^A~vuKz1Hx$B(w)H5?1Gox}=$}L2Nz7-yN zaVybHAanwJmC9%!boCsJhPM&(vZG_<_qFH+QhN0NYTJHCNeRaReehg7x$=i<3}C&--5DK)^fHM(|+% zc;0ZP-diXx^hcwfx46*TWvO{hImX1N-}NO?qg&IeoPBZO;y8)8xe?RI){Mdfh6!q9 z6pYCCdWdB?pGbo3%`@|njoPVBX~hjR+I)5?lveh?6%+s$sy$ZKDJ`mu9fUP@4NbJ zK~>QAPX3eD2PA$@%Xi7jig&PdNuC{Oiocj)#Sq6lKg58@_5SZmfz358n{kD40P zr8YG<<(fY*CjozKcd)zk4Vwmba4;=T`Ep=u4j+I&ZC0AP4DTuyY^$*hG%U~~QL#vg zz>*I*8{O(WeH0J2tzPthqRTc55F=QI!NP43?ikgm4cC5J5$N4812HnniORFVb;)du ztXed{o1$+5vAv13up{)mL;6PifzUSCd|V_IdIk>-wTk=L^v4%UoS2dY=SinlX!;z4Q{ zJ9Z=2woJK~h&g09Lba40UP*{Y)^x_~IqPMpG)@(%Xd@JDD#&S{l=6ARK3L}t)LL#g z)N4%#v-af9`F@UX1j#h!QABCDr{gWc3R=Xtm*|dvBu54T9x(31^$X4z%mW!$U;UZs zq7~mB-l#ZV2n$oDP)bD7QgzndD$+fl&`Gh|qwj6O(^H{FrcTURj3BzEmdon?sN zew+mYY6S;nzX*|L5VzW*)qQCNX}p(fG++hg6i+00OqmEa|7knh`)c)eXfqNIxh7m# zxU!s-q!_i}LlQ=qVFIO)5-)-~AxwGzd!w#D@Zc$Zw39U@dPyMSy3fxrwCs=Q0Vkgy z9BWj@=#F&c_wwhkX|3p-azs0WE#U%@lBCTTFHiY8Kz1R0jQ`>&adCPmlqs)92Oo3J`{fD*849`eo zsKxTne>O`zRWeTu7cf9GpXUaX6mH(H+utjN1bv^o28dsbFaauU)Fo8ld|k z=}Zn|cGg)WT!+*4DU$*L_@9uuM-taHiOn@ie^L++_id5L&Ksd-6en$@#L_+V3Qu9^ z`K$54`)Y|5o7Tg|WTUlk3eZ;Wvctz7vjpp6EuK!d4sn*fniEpZzLYj;S$M6i_fGPsn^Z>nD%IxRm2vKs)6$WFQ#qN()4yaqPbhO-NN|J6B*ipi7oB zcrK%v;q!Ve-oBUv7GBgU4{UPoV+A|9w4&E~hQA;wUa(lv=7$fOF>q=E2H!JGe(i zWOoBTUy+f*-gBER_srLDttX1^2fHt0SuXKu-AM?}C7y0WGq1$XZf;^mFjm%3=FvW7 zqER3ti|Pii_d>dIsi$bYX?rOYq|rmCV+L~Nz_&MRSl_C5#M(2J!cl%;|483z7T%@( zTf+UW%eP!cWK&XzrKv7cJ2fB){74X?1uX0Ck?d%Ez@e3mq4d!T_PWHQc$Dq9To^KX zHyhPaOa3@~ILe&H0a9HGrIVr02ss)2UIKs+-kQI#%k3zv0^g756s<(CD4^FBO2GMZ;mtcV z5;&={o+B>rFTlz#vcP*APuz0njRr^KLAW$G-R^VotuK-?RdEa>WBn0rZ~muT63D+r zNO!Duy$c`)^=s_5_cs0t@6e5IR!~n8oXf9UjAzWkXU+gL4#@RigQAWMKa?gIc-)~* zOCGeGXyNZx%IWJym~JV&v!t;-|u8v;4cnQr;d+tzt@45M7rF z!AO)m-{>{{K2FibW|qH-9?PEJYbQB`W;9$Qfiyy3r{-m-IJC+P%Mu1Ffg;rvOH@}>U&6Me)uP%g~dcH zx>R8>@V`J?TJ74g#;{?T&a#w=X2N75U91nZWEgbl*3sb+PlyjJ)d$c=b7)MCy!Rt;BHZVOV%RGjC0 z&NcE6`rWOi=VeuT#8%w87oOz{0Ux;hO+NoFf+f2-&!CHntCh}TFY4BM=H!YQyip*& z2W_heb5NIoQFa9uivx@%!+8u=g=Jp(6+$i1JC>PjiZw^Ztz4h8N*RvRYc(>m8-8)# zkIUgX^nfb4^In}30q`-l8zdvI&+Pt4=Fn(hvdfNqvFfjs8`<4tvxVKUA7uvkxluI8 zJiDF28vNu{!>)T@oDr6-v5=;fLC>}DiP~w;I@FC>aV{b;7tdl2HZS|;TI|Kan1MAM z(eKd(xLCYOLY;&0Y{_ACX#4^$#CZZB>y~Xd>W+3xxX6}d5wmz%bmc0HcxuWFGnUW& zC8T0V-Cd#uhJ@E;H1VykFfKMEI%N*Q^Jaz2TuBcFHdWq^8(*taE3^+4T4JeI6Rk19 zEcz%1OrYS5HV=`IG!O1+X1v;WgfJ+5lu%&>ubhjW7<_dusC0{YqqT~G(uNh9#pqT; z`Y6}i?Bu~fL(DA&p1&1&w7^F!TX=G*v4og5luTx5`3VW?Q5JlEh2(t!>dd1Qw0-i@ zyKXkgtEHeg8Wt*cF43$AW6fH!Hdhk;Ak-Z6?|ZBANdGwQ!E+5+Y^Dd=DaU7|n{7u4 za?~%!)!J>^2nus|VTgT)8UfjvkHK{OuE9{GgG(#P9poReH>nlh`UUf%it@~RY3mh| zjDaUSODwhMUfs!^+m>8^)Fyjh>>^b*Bmom=$?0&?{HS34K|FMf z{ql080)8|o6I&cI)3>-4(sM}Wp7xoZ?5U>ybwkRG-g5xsBXSOrf6E1^4N&K20uYE{pOUBw^ zndmFr5iu^b{DRU0KiqMyPaMsOB~$w_fcOg3vziPEaaK@`gN{|mV&FmFq*p3mI6o<>Q(QCBdc$O%ki>R8ehLMj%!I=H?g zjWLD`4|E*R3!dnXswfaq7Jh=&MM^pb_70T1EE>70Rjk3?U|_8b(U+S^qDqfFKIX>7 zeoS=7H5ntanq|67NsVXbPqXFM(Y^*VFA)+u56FbD&{i`9t`SE|4dd7w-#HMlovsO^ z&y#`6y8}P8My)s?8ZF0Or+z06Ow_DxiJJ%XXrmEZtC|7pr7d}xV9$*(xooICCR9hV z93=pjF3#xVKZ`SrIC{o|{RznrLVGErejc~ovNYzuJc`h4$%h-U7p13553<}&nEs{~ z_Q;TdO1&AI29&oo)CK}7aW3>?{Zmj4Wxt&_$QR|jiS(Yc4m|Dfrneanwi0(GL&@(|B5MDc#kwedZCu64; z@;kF(FOgY{me6E(am~!2xK7TH0mgCRZIp2|TAt|Oe#813`EZRXINIBrL}3Y~Kt_0C z5>ptw^@$K@cybw2yO!+U{wz7XIQ=qzo4_{5m-tU-PlXm;k5jEv>V5-!p8%Vsm1Qo7 zLeHs|H9S&dqy*XP0cvCQCSoll&n^IVX0mfB5NK zGc`bDd+n#QbQcDtgI}cQBcW-^b=1V?iHn-D=B|au z4~F5lAak}P#p7N|Z%V0sjSWKEjn!d=R{%O7uJ)$HfGaKRK3=%{R)iIREkJ*dg92$#)Ld=;~%x!o0lI zY(JF@_t&fOr@sQZIckAs&kxHsK}#j3^|gJ!?BI8J6f81kX%W?F?RuB)t1Ax2D?uN} zV4T8N1GdhA3|N=tFsne8&StrRUHmwJA@9a&fvb7>SIWrVw7Wx=>JIMN=!Vso8%M@mK+se$SZnq^Qs9fjY9v6C1lpaFq(K7&hVmOhHqrUXZ^t`x zVUtfwSV&W^5b9#ZwgK}f-)sUZV*HV4>b~#L_fVC}Fq;;(c+TWW6{UslSxVh)l^ zNeAI|b3xV5JoJi|(9QB;17&?pQl#XCGCm6j4Lqa;nOSZW0J}*`MpXMLigh&*s@s@3 zPjnYwUMfUz(OO^uc0jrS!o@%KmF!nP$(W3V(RmGsn{jl|#9d~}mix;BdO2DQbz%o}aOt$cAdh zWt18D-^SIgG|C(;^ZX?b48Jgs-wRO^nJ``q^}`eIgs0w1e#oZB^n@mLNM44p_vD}w z0kqXGpY)SA(L__&RFvTZau#~3DbL!VOs5%R1qLi$g2Sorm7VEf`TG**FhHgiwrqym zV2@NW$Gk7K$r@^9jVHiVAewM6c(-eO{JLf2C=Wp?ef^ii05M|M#L~}u3G2l|{lV^{|3Q|`^AnwoKP?2 z9A1!9((`J#WYa}O>W5Kq2oO#;v`9=4!qHfvXsl?SQzmuR%wJ(Ue_qd4d)7Tk-Wk5~ z|8gbuU^Gu?9p#}aMlpX_a_Sj=rL;{(Jawj>u2=d8uWQx#=prwrci#HgQRi7tF5R_ zVxQAU!w4eA_~NI}xcAj>B>#&GU?nFJu#EU*&@V~A{m7B`iYVlHtH~Gyxa&|H0nSQ{ z0fi*-+MC`T$r~yu81Acx*`{8Ien0?2L^J%K4q?$gsXx&HSdR5j62D&}{>4*bKw?-)+^BKMq^rSO&#Rvp3gRkzkEQaKF z|B}={cmiG6gr7)Eg+64?p?S%bC)PZ@VSG#NhY-@=$?ViNqnootld$5lvB$hYS%gpg zxCB;u#f3MV+?|b$v(+;VyuI&+oNWI(15o+Bv$=U85Mc0QzQkCW4`Q*T5}pa(+R0$& z$3Jo2?~l}9WB<4h;;%n+$E8(%eYM~Fx8eVYB1Z~D^rAuQLOUEVUMQ8_iLp}tVplZk zs*M=iPm1dLI$GFVVe|dB&Jqy?42*TSD#tt)4>?Ilu&;=gIe11Q>riaiSElXPCL$51 z4is%}7X-@Y%6^`s@%aJqciD{)Znd45HP|_^Mt1n zeu)+6-=8GgokltNd~o}UO!5Vn>M5Ci6V~s($Y!Z-siu%izwxma-CPK$j+ua#)(vhV zI**=8`;KZQ<3>hT+IQ{!-21}(WMZdgAb-&*|Lfb8zXYM~C|iMNoNkN5*Uk28xP>rU z{G8)VWU>|=LX6}QmZ2mmdA?>;QoMzpM7n47j}glygG%{-1dTdWmr%G~jYXi)7$KdR>@QtLL#7emsbg+JHq0NeHPgv^-Y0nQb>r2I0oFRORsq?iB47d0-wE6#H_AqtH}>Bbi2nmVw#feV9fR(#a)i}V7W!_)8CV2c)jb^uqzxt>oiyOXDaUuEkwI7Y|krA-A^x{h+flz zm6qDOUh<*kf%q^bb%HcYgm4Xp{^!J^)G48M zFX4N;IvSldM!)0&7Ib6#GJUi2BX$#7?>!}4SKaxAmwn9_eOQQ3A44!!KkkLX(2VxT=&6G8~->6Q@OS zoSx@Y$6Or~O?mTBM{>VErG^>T6+O=k3RD2o`MqAAmg;QRFtM=0qv7D-M)qTa0Q)@y z@&7-QrvLO>yK&Shs(Sls)Z?6GlDUjUIEbgwiRW}7Cn=68-2U^rh-E;q=a$TDNj9hIO%IL zV?(6%$%zC#uC!|Pp%a^H;uhBmtZv^OB?60V*OlFXZzZ;_;ri?`-QJz z*Xnj3SMJ_Eg@%i0tNxCN40DXF2pui$hZ&J)o5;u&O;Pl`KuPjxMo9HhS6o#;n~OLL z^&1YD)+Gs5csb!a!CdolOzA1})O7x!RvpueB&3=H2$8kvFNGS{|6vG4qC3>jjdHx8 zueYBF@ksq|h|T{tVEnIOJqF=PTkm##?_z&7#8OpfyZVRggYOu&>h(H0fHY%#lxo&b zP!Of(G+07IQTanVlu(i}1Ncx14+CT4t2%yCS_Fr!2ul$ZD*ChbZikVVz>P{AJ#f#Z z$>0Lq`rL{d--@Ftv2o9SrNW`h!|eA|5qMY-Agv#WeKXl(PD|pPYmQRcfogN_K$6X= zL_-xH#u;)t&a4plRtF^oTk|E517@*PK$R*Ozf}*);Q_1ikW2uI&<~mVVG270ekeoQX zBPDRKUs3fsX+|!ZBdZ|``uwV1OJ!occ?xZ%nPt6LXr4|@Pet>aCWovXb0SV>*43ZA zl$#Cs^nUlD$S4(C9d|~}`gJ$2{7M`^bw?!=@X0Xf zEZ|?p^{o>MP)6=}PkL3C2uljZm)^tJhg2BUW~UdyQ?uOKzVzYBS;T)+i?w4Za-RR_ zoGqw$tC^$#MK5g~ZckSc@0+ExXn5bXvj>&VCYEavQoL?qr1-f1@QK*tn`|DGFiq*v zixa4KsPWngKFuOenEE0)=roB~^XvQwiu=~wvUgei!cjJd_bpTXu9}M~i*{yznOaBF zkt>JPvQ*O%l)JupgSrD;*=1!-5ZH2f@>nRLX;HxSmDun5nS=fQhAd=Rf62eKBU#Mn z(gzapA*eG`Bakh`P8-n4*HgppulPKeOIt;P{=Xaw^#>U;q*-JMmiarH5Df(@qEN>| z!*+9X0csHR%@xNVDWef;KQr;sU}d}|i$V11=M|`qQ}^jM8}w%xoq*ph;Om~mwm%dD zTw$stpHuwa=+L*Ct800GPyU<8EGPm~Jyk?{$IG`!t3Or8VnujL9xUKe(YFU%s$Pn+ zAl_>fU;T8h#*(8$RtkH^_gAAM&G3)O+d4YG;7i|+JYSK~%sS?VfwEgtnzf``_QNt7 zoVT80bMM8`C)WXeh~(L5rlL}}k}A(_y_?+qmF1`eN?O@^E9%x~WvZ_(Eozk-nH!mi zw{QMBnoeAQHQLqmi2t!JrGKo;@%ud%@lv!*3_&ghB+0?+>-5kc4(C>J@M!60q(T0! z0z4Hy3L>wWw9*w?cY~pffNI&F#*|Q&vgZST2b341kwN3$N;ojHnPkID(s*}jx|r+t2{9nu#ZPDD#V3BO{#=crG-&<-jgpaWSd?W5Y(SVR#W zN+P=oVb+Tz-d+T{Sf$Royopt`74_g%izC>@m9x!o4g=h3v-y}C(g`T_Wo(B z+I})P{Gx3y6CFGXjx1=CgK?8SE6gS;Fvz}So7zx`=t1rYH8|(g@68j(IW>qo>X0JW ztK0>&AkV|Zoo0A?#t9H(Iki#ix(z?dES9q{`l~(i_FZ#oncVoB&o1?ZVSYLnvhlxc zpk6_Mo{g)2Ua=K5B!W92EOD0)Ga%&5Jfvv-1T|Tg{XFbxZo9OK*FdicQLVD<$+0+H z$OLJww;Al(ZP}BH^wv}OpL3RvHqnMuYNxAb*;%wcz1ofI3Y|kddY|e*ae^7iXZGOf zT&gD)71@oNhHWm>k`h-;n*pA^T;QKQuYZeyYej_xzW|Q9&rr9>*$;rkSrPbuN#>mG z8N8(=1?_15n*QkMEU~>UUy%ds{N37rdWX1ovWc?!j1ppCqDW;S)C>D-I&27Yyb9`5 zM?`>84@e`xU63cqN^HvP^0eaEc5&JmfC<_o&FJcV-A0uoxFHX2noB$g8&-)Gy(d zUNn2$u6%Jv7y`@ei(FUd`;(s~!5jQ9W4AA?Ya|Fz!5cgS9-Kf5(}CYV!bJqrtwdSh zJ7aSnD#w)eAnbW^HK&$UU9}oav{;$N#|LnNc0xpO>Ys&&X+Kn~KAQmF+7=(mFrU_d zA#y$rTHVErA2H$S*=5L;DcyzuRDNK!{Pw5B@KPiacI>az9wuI`*&2O6Xn=+wVgCye zF#Q(wHg)9fTCGKXpSbfEn|NnXV7%8KC}dDTZ+Wl_wZ`_AZN4XL*$c#nr~SAB^HU^n zcZHQDC?Me6ea(HH3f8?c0JNA`F!jl82xI?e`?eB-uc%iX*2;3&TuB($8l%fqH{v&< z-Y*DApTRyKrbgp>w=~uj&an!Id4>*F?1W;Jx+72##2Z%OVs+CxC5rY{K{S0MVR~S` ztOQ6P!JGp0|3Sj0X87Vk{O8s6T6}0}*fJiZ{J&gJ=vK8VF75+ef)G0ftOFEN?4-a^=gwI#+1>@^%yr6ZvE*Wn=z$Sb2K2-Tv)8cN#tTn|sAN zR_pN7%Zsfb5-${!k90kDKsVQ9KA_rEPLacK%xH;nHMXA9fry=%En$V$)s)ezK^x@rIV6(SdCCSzy@Cx00*Dvw!&;p-3BuPX=q<+J?2F zzUbt&deD3w4F7b04$hpxQ22eiZmtP3Z_r7UP-Q1iaj#-MK!E1JLOJ(jr&vs$`u}6> zEu-Sxwx-bp2*KUm9fG?AcXxMaqzUdsaJS&@?ld0U-QC^Y{q{cRyyL#-yWig9{_H=D zho@(+HLGS-O+hqa0C&MB^9;5y)8PXaTl@8LK#|TDr35#$AVGm&HFz!)N0Y8JR0Zwd z?J>adiCL4kFjgLrWW?wG5)roCI`#u(-O>ZCtca28bQ<3oK-IAuihrvb`!z(`A(A?@ zS#dhs%ytCWSMy5nf~6u@ybx(|;i<8D#%ikcwKQPY?;PkkbacN;u3ct`y7G5J#IGPw zv$n^()Ci!m9HGN$Pq30~P_nW8v^wp~SQ<&DYJyK#yAeI8$$#`ZaZ7V4*XGB#eUG%2)!0_;{e19t00MW! zm|b7aw;%cP>of?slfyNn3}#K*U{EZ_0J^;1pIq;zUu(im%^0YIWrJZ^UyqU~8MPRW z{&#;AE7iz-7A4sZJF15;wWwe9$**gB)I2LKE`s$WDWs|~gg1Qb>svf5g}Ewm;0O=Q zahya1EDjefLTzECGICZa4%*X6Eu0TR5DP~&V~-f0D>*G>Z#beBXLe$Q6cqQ%qZ&va zW2h5A81lgDhI>}>b4kJ=$Vdp4Eg`%Y^0g($O8+#%n>I9uAg`?&!b8RHRoblZm;3b@ zAii-&<&F!d-nsJCsF)IMI+M_svs1-yHxEX3U8X-Y%r}@4OVz-wRHYLVS9RObyvr(P*fJ$Hl^pSCufq`~^Z4$b6Sd2teTVk*2`h-4+m zB2@5kCRHSr4L5Tt#UDa7GIHsmfBrrzgd(Xayfs~OD?E2I^zI3?7Flu|duD&mX^WRE zn(M1%Y2o@@&i*{!%o93LBQ{~iVm66=}MpMnA>Y%w@@zcX=aiNnMx z6lD5yFGuY!2LwlCQ^TENC#aB}JUPBDQC&-s+KiPczbd~^v3Nf?l3D03QTzD7O`loY zas)x3K?ca0WZ|H7j)=TR-a4GLAjc$GjCDXBjOvjltEb~Q3HJX?2&wWXxusMI&y`#a z;^UQ&&Os|y<)$6$?3vdbFiFIVV75^DCKk81wW`?Al{Ozx{~W|0vdOp`1XilR7UPF} zBwWq`=a$EzA41f>UqH^K)da&yjnw$|FgUJJbQ+^-w53NMBU zcLu8VQh+@A$Ur<%pT4z*abU$nL>upgWSlCWpYxYJxk9??EVZnshg$Lmq%vBU9bS61 ziTyOpp4d)>oX zTaR$l4J4AzJ0-N26SM`nTzwcrzSVRqInhBQ=3EY`dZ+y&cup~t1_KO##wOvmfRc~s z3_T%~3Uwq+5=H7WoJZ?gruZcz3EY`d);ReGFW&|^1o$*X1ynXEpXGRtO7|ix2LaYq zSdbGI4Oow37AVM{d}p|1SdWs?bqh5KlIjTejTSiOPl6LuN%+nBs^#XvZ-)TmI`>HQ*Zn)A?h94e zuar&LbK>qU#t4^u>-Zdt$zd*$kvd1Sk0Jy-pn-5;nl_P#r;F=oRjAqJc<+rOLzxmb zj&L!+MbzJNJb6N*352%9{=V?XO0WRgQ;-fGtc9TSWctQVZPdMZK2h3+WaVciqyhm( zc4?Mon8s>enyJ%2bpYsok1g}2+#yDJ-AO@dFC=2hhcx*{R4#9JBZOZD}UN?LEpPMIoAD}=%@BN3u75{v{8PlFblcB+5t|zD9(serxsh?N6t4V zC6q5S)Lv18cRltqBB{|-t1)j{ZnJ#nD~CcTGmSAxgU9^lDY$ln?C8^sxRrO2Dhx;b z32m=T8o@c~G%s$BtWtYLSje-%UHFRBxs)N4{@v~;Ui=_Hi~HL98+FW*1Qv2gL>Dp| zuKdeAtFm`o+7){sdxKm8blkgGy2n5rA!+K=oFE^AcA{PswnPyt^I>WZUOqMW}OW|JhZ$*fIn^>ZQ+wPtnU7FOL%s5)+r@MaYvajgG{^ z`*O;^o!E+X1i6!5#+Hd9^mP+dA7ZZ0#Fw=KU?u@yjfF|ng;Zad=+1nvcpT{1^LYMW z=W?xs{L)vEc7v-Y42#FOe?n>zV5IgZa85FCb@BR6SxU!l#<-*s)R)*Y8dfk&_}e@q`g^1bQxGmgcn$79p_*~x@27fVa@XDK|UlrNnG-zz;N~-qEW8OTl zK*n7I&izUWWSK70A?=WkguyNfqakPv`J+%W(U`}S`eVPCFzHQ}Jvj`Dk_9Qsl5h_m zZucvG2*~oqGKOvrK^Yl{NxA|=5ul3{1V0i}Yk31A)AZBrnb`j(K_x}FRDOTWIXw`YhHru05654}9$4JD`}uT&lKi z#;;V&r(b6_!R2Y`UR;N!-$Jco@8xJ{T+2lud6;@)8HlS6i#u){LbGAEc-4hM1X+X|!$ zst`9S*Symo*m056P@%B-&`%zs3+?`#pZNBa3KH3y5!=w0$_AJmRdRa2;@WgE;M(X3 z5y~QA8cU^;(8wA!rNuWxi8}>tY@`_+n3XH;I;tSl8!iMfg__~ktA>B#d9a(LS1XWN zi%+b{C=#QzQX?8l8SAs9ybp?EehU&h=rUk;I=WDN0IWtWXm3cdsA=369O^hv3gvLWDGjvWjxfNS1R?(f zMuK;*^4kwIvf)-?(1$)VVQZ49akZw=Z5AwjNDMy~ne#aWE&rCHFoHNk0r#zZpckMm zCOUsnx4PjY0WiPGZN2)LZAe;mI3@w&tBoFyzJdBQNQ*~1E44da>*~JZs(i*SLEo>v zQrFPCO)uduD)aKVIe#II9tI#1bFtwEI5evzX!I8_WazIDqD>bCd`9?D#kT7{A*cn& z9SzVug&n}(f1?B`TcivQG=BwSmN&;FY>n)2&hDxf04gsXn|_f!Zq-kJPV$jiZJJ_v zgx$JH-kRumOh3w?dT{qQQ@|e2Jla`S#?TWzVeuIj7&#^{JOa?h$lVpUb7B%>O%n{4 zU-yZ`gikc8CaaYfd9t%5kX`h`$iZM#9?U=a#%z0N;HVii^fe-3=;Tijm-$pNRKK8=a7>t67vbGf|~5M=>E`CGef>aO;{$(&n6ErbeZVFIe3LO zu|Nse90WnPQnrWS?`dP2lI|P^Jm~Q>>)2qx79=q@q^m9t$fb>A`4>-^jz;cb0LYCI zmh2bJ^?tX42Mz=e!jQl6C^=gYzolY*mffY1TlB{Ia;p^AKD`+g^nZ#Man{Y^{d9_+bYU(gI(;{?w_59)2 zS?jS0+cG+YlkKwb-3Pyky(oRdjbQzW-uYQ_0Q6~B_QYLzngB+N& zKJNY%n+kh4u+E*}DBC3H3`}a_++Kr`T`UsEt!4I#04^3us{MxtsC{39$!x6=pXTPXF zoc|giUapXI6gTUcK z7Min6_nPHAqP5l5tPX!LvirT-jp7+WP0qG#2^H9!mA_J(5hUJ|Ji%QwSdlt>aasut zwYq{#dl@rlv2^^78I}N~%9hu^k(Cz7yUQTc0+5q$v+YB@r~@E}6xe7Q(fy%Vi|K1v zxTMLigHNY0aDl9@s#s}}6}1}!A~^FR_{Gj@JOP|+_4}qG*aBAs%K?W?oLlaDQ4eO5 z1afIW`4-dk#Glf*+ZPubP@v*(-D0FNhu`mW-3wG9k0~yl-ZgQP{KtQBDbdJ`J)-?KA+fojkUq_)+x)^E2KaX z_?X>7g5ttph6<4SF0C-@V3VVlAamgC3>JitZa-%|PxPgbn=eP$KUcKDs75v?g%O{j zyy<^}0ROv{lc+-mmwG9cs!%)8zthc617Dp!D{Ihi-Y2mF^|R!3Ios>+YT=6F)Ec#9 z=wfQr%du+IFaPPP^p*l&m4g1K4w`GrQMc|zOVE|qTM0Gwk}VpUtT$zB<2tp`4(2n} zA|19Jv)(QE_Lv-vCZe*lEIV`%Ci)3i-5Xwp-fC<)vAqF!yK^9EiP@iYfGK) zD<(0Dy{aa{@jB8hjbFrL5tBs~xH`yT9UO}eC2sH?zmWBM(&ls5pR$z+(RiN<;?dHs z<{_XZ3{HWwjVLg@w|sv-<9D?U0w4$Q`*Aplv9S;fA#9kCAVZwGMz+#u@r%4=zRd5c z-oOKY{wqt!zbS9po6eGBMVN;k{nha^l$Hs{nWT(8LXY;?Tz1NiNjl!D4n(B?3@y(6 z0m{lE<gjV&!owSS`kor20&}o{-Es<-5mm`#`%G` zG=8F0Ww~vkyI&7JdV#aL-C58~(K03g0R4&|tFl!Ghe)T-U&-&<*c=WpoM4NJAd&ljp@ZKA9> z&8P>}OdmN;`HS#ZepJ%!?;9&rLQ5@+0Yk2pL7t6UZYn$q9!!=iCfO0O@R@&~!0-_I z(i*8mr(>GHJD;hua7^HMq;~GW^_b=0$S12m5ILhv#$huQ@l(F3 zRKEY2K;c=X7KfSU!GX%Cdq{4e+T)xb$I0*p4^^NoXO zZi4jV*MM=s7qlNCrV#es@>~%6Kl%-!uk%uyRj|@ryAm4iIz{k-Oe@w@M$G`RWP3c6 z;4Q-Cs?%h>W*FfcY`0w0Q)tGs5!x_wDX0bXTV1Jr zmqdA(2CeQ7wO(J|)^YEbT-{owB&i-W6oSwRlG3MM-e0j|r$}|k%Qo4@d`ZuyWB_#jHVHKw> z;ZB?MzZ_QCrDEX(%|~)rOJIQU0*m8#PZ*5mQxv#pNFzooVtK3p$?|vx@Wf*>Ssi+G z-_MH9^JHD~3fZSw@iTU6!>morvSYA_I0>`poHb?`>Fp99zTmL>I4ap2z{yM? zd{m~+EDIEgPJ2*9XxpV?yWR>Lcs)g#D_j0)s7tZk+QO(Eg<(UNI8nfj{YBM^q52>p zpM9>J3wqi~E%fKHAF4`s$w76+_0dzD7%do}$$2c`-g8`uV~_&sKtej83fS!!$ORU& zh9pLb14p$K=>vMcLOR=a?;e)a7o6<2x^uicOjyy@?Av z-G7=VVj4*II;CK)Sm`c;@mzcl3ZIICC;G(9uOS%CuWu|n|8kDe1Xp{FgnGPE>lYADKs@|h4oMa+bkqU8#V_Xd-)JX~wk)o% zlsmPPg8!Om#dQ_ztW-W+U5{1~da4F}Z>)8q7$hMe2J59p_EOH3;~X5u$e{k!yt!&q z?jWFzagL@h&n?>UhAaO9if_u9NMHep8r*ms`qK<3tQXCMm`EY9IU{R^Lvt~f4p5s3 z*16F~JrzL>l>q51M~d1gG6Sp1 zlW_T%){8SS8kv4;5QPkBw*0udLy0Y&%*T+^XW^lzEvSfVHwoC9%r_jKR3IYMWXr+# z2)7uIw8I7l+s1XW31zu*1zfu)E!Gt&86pWI_;1hp*V)MA8zgi?tl!aI=6ESf$ddq;4xJ??iy;fJ@i3?l$Ij#*aLO9_ zh893o-4&^|zu-t~u6F;_tu)3D-0zY~W%Aztb!n2{c_K7>emSUChHY51WJPhDTX(g^Ixamyt(#NHD*?M$@Ib(`+4|2T*~enGzKz|&-xCYFPwWMn zdD5gHt5rI`UI>tnQc9=t&)uH$%2G&i{vYR59Ps~Zol4IyXbxWqA05bW zOK_akLY6!yvk_AA-eJD`lMvG7R};(ukc03P#3MzD_2+c4A%D?8ziL+%YCtT!5k2{^ ze_pfoyL~fJ+bg>L9Zd#v+;~UwJ{QP$8`kY?hRun9%B_5&dnizHmH^oxpcq zT(_>zl)DCA@6MR%v0ND8lgW2iCJHW0&c6y%_n_L?3BRI5mfAbb`H=@gGsb4sS<{KV z=D9Ir%Po!W%g&X@oAIzljB%!*&r4)JH3YZ;pr)xoY$q`q5tFf}W+*UH(VXaWid~Da zJeT}7z!#~yF9!n;|5aI<1drV|OFKgb6E;4H_y4f#@X>|krW~fjgGCD-J<~X7%Au-- zh#+A@nb@Qhz+4BJfy2hD%BJ>?J~V_h7OGM$65d?3`VM!J)|f@-I&q+i|6EyQ&eVsQ zO4a9*FS}|AYVn+-?yONV;5rQOoIWzmIV1YURqCewyce?>4k*uODy;{T^ zw{XUP2%1#1+=KlCz^erY)7BpNQ*P=}uPDd*17^WKOb-taT-%Jlf5~_h;Q4LoZh_6I z%k%Bh%*WD7Z;ZzAbkDhL%W_mF0cicx^W*Bx+-2QEJ6o+qJq=Iy3P^iulidh6{&C}| zZlrl-jX9Y0z!ThW;KTh53`aj_HIb-2>bv(91db={?EQ^YX$9a(<^zz$1oAFt@e09E)i!WqD0B`)7{XbwgjR*GWxHiCa z++R1TLtPpSD>Qe3yW+*LQX;7bb5dG3g>*srL>}>a$#QYvm?FR@s7G;$>{5TaFMqG+ z?0^M>Qtn@>`ORfsE9z7LmyRQPV#Y4;1MW{aC18}@;<(i9SM~>XnaA_Y>NMcnwB~TE zf5Se1G~!^i=6qtrpsflGU>uoy-q7mT7|F%p2A`)A(%o-qV2(=;Y#`T*hYEF!e(HnU zncR9>f2UAco@u5_91Lr&hfN#Qifp|O|GG+ZqcYofm#1zGv`wb20&r3KjjR1|Nb za=r%4hXQYXA*_0mvH63&cWeAeeNKm~kK0INm`h`=hx>rDeH`&ks4(f;Ohwirt| zk^YK?TzSB4sfE=a6e=T1dx!In1mo-^%r!hZcUHmHb4YK0uWAEh{|@rM9vLEiT8_cn6+d1@$;?c`-gf}V;v`DiyQ~+ zJH5th$b&JTC6WK+USj%nh~V$Pfd60`^8Me>o&T#ClVBg@08URgRu*SKh{!wJ*3)_5 z^WCqdhDP8_E3BZ)fxabC-I=oK*=j5uk4|=wQkuqK{=(V7k(nPFHHp@1L9n3EV zEJyjz+PD^&o-n;u=3-lvnV5$0>7QDlzXY5WXrBk{uGD~k%4{2sNMJ*xll}kJxOYUs z;6##NAMilUMSguQdisu$)F8^T`LM~5)Wz*oF#8}|6|dc!fg_oEYwC60%F z-&X8|dj?H^0`SY2HU&SO;L0#m1tLT~x7!^9+#B=}r>(yyN6A@9M4)#XJu4|qBhpcT z#%6%ps_sVb0OEg?$6^0g9?wUv`OmF|&9#NhWi&%mI(;VV2+Lb!{|7$FUJQH!L=Na7 zo@Ss)x(5UtZ|Fr885tS4k@W1NQ=`FDdR)gDYd%3LKE?#QKZv2WZ_RWoybS6+YFKd% zS9A)^9i&(NF`Y&4`RfZM`}Y?rL~1n9JA@eIz@lWyPx8 zQ+q!Rd(2d|8h#W8IGRH7)<;~$CKdii8uC?Y#E5}tW+{QjP}3OVKdKe_;La4)7M7~Z zI!X=}B7@M4deL4!?sp~Bz=kGQGYR#F>fMRIvpLw$q8eq7s=LWz!e7};`u_D&l*;P( z3&F1iY8Rc_we-GGQxVrWU-%-9n2(Iex~k{g8kgv5@3X~ zuK$ZDKoxGAl3Zr!XI2U+Oxan}EEafv+vn)$IAk98Z<~#`+=j{>HctJ`PhEpoeL(el zX#6rg2E;G9QIToC7V zi!{R8nIy^6`s)W3zE!h%)oN&M0Qz5Dzni4`NZQ=VmYzwSoLPKYY#`~VU!8<{Ip@FQ zeOScPV_ZJwE(JXqzl7Ry7Sq$@%En%YGpU=%pP6W|(U3ti)Hx)QM*aO*por!#sY+Z{ z`}n=?rf*xvO$6P({6&d_jhvu^iA%xLO{1kEj&r``g+DUpr*Q*42h4WM)yEJHpRhTC z{6($D;SzT(%!Un2xS=Zc?}`6gfD5qV%DNZ5C!4aEFJ<<6ey?>S`l+n8O7sp7iy|Td zn-vEYJwfR#?D-+T$p1(*g@iFjMXZ@D=V$PDHB==is~n6&aVwQLB?t~F*Nk}n zcpkshhK8NqUNBi~BCYxldwro zp%PuIr>WTuE$4qE(P${zYG9%u&$6Swt)Fza&CavcDjcSgDgIN}le_sEy5@AD`+wx8JepN+P zB31Idtu~Z<8^hCGlhqs~T@cQhA~aB@Fz`0kn#nG@?a%_)Bn_6%46MP^PoD)4{SwfQ zSXQQn4fc$tv8G)N80G$1=Xb=L(z*RVPO1M3lhINB*Tt@phMZj+q(QK$XEdgb|3bjO zrPfm4k3GR;QF}T^vvM?IF+fCUU!=&)#=Ks$SS4xdb1`fqBvP6-__Y-qj9sTK`>cCYZuqk0 z<@6hy)HU4K=L8q~`x#=b>Su0+b%oE~*E!CcXnX=N_UmUUxLh;vrRo zypNwkv-PL30IHL&^=WabmeqTSJ_|m-YV>!90w|tH=!A6fzkxhHQp$OfsE3pJ$oMW$ zuowavJS#u#K&T)Ea9Yh*J+L?Z!<+$&a7`CjA0c3@C$AXA)f((9u42}#_5X8PT- z%wi?;`r|k)dST?tuYqM;r92H>+yTQ9DuXgDDI{sPw@i>0&dC1uU>FgfxpfXgbSPVchA7l1$z(5C|JdVf(-zmRCw3>L|*Kuqq1krP(8pTgCov&JYaE5%+y{C9u*U8#9 zz@Rfn^nA=a3~A){H}N6;tHP}&H0Rz86r^A+V5=>9Wq)uYVWlcyq9|E!46? zVMnPwBIuhkMvI1RH=<{G5%v;=$#~Z;xBR(5Y1-LZ~C}M&HvgL>Ba&dUvQnk9IzzMcFx5MAEew3RuXTQHK zgINcmS6D?sR=JACTa%Md%{#dL|2r4m}Y}9n=B5iah z<{1}`>|Ed>-Ew-E$G7TmhqGHH7M@a?jzI~rc&n?DZL4=BszDl@UMg8fgmmh%h|U5k zk*iPS-r_f4pTcn@$mlN8;_qH%#FdZw|0wTt#tbFReP!{fQIeDW;U7J*-^g$y%^jfF zMJFr=%H=|@>?%0v2t^%LL!wGmJr)wqXU=~4T}O_fJ68FXp3ge9wlt8ev6dtpt~=(T zuBdqSRm%aFrxw>5F+r$Wi6D4Aq#0>X%b{EU9}eHIe{lrVyAsTr@ca`#Em+|;wFI^^ z-^!WNt$XfvgVKCI}T&J0gdn z<{PDP3QZw~*cF|R2tLKdHj-RMtDB{9Zw0K)cL1ZtI5>D<*_!mqBL#}R2EfUVulWm4 z89BOI1+M`u@z1={ca!OuX(<(dPPeLqABLvs(q`mlOdh4u>QH$G{V6~``+=GDi`_RI z4cXBYM=&YbiXj}xrNiZc8j*S1pI@}jvL77x=@U)Z;x;e2@iIhsWONV5YO`zS>MecV zZRlM0)J4G-TSxuG9#&f#GjUv$7{4#wylACPevI=aP1}P!)}y=W#j@xGd&kX%^c%ik zVTH0k4`M1vc%jy#>Kxniu17_Kc-oi=wc|savL_a%vL~&MmS13AQJDaa1Co~jNP0YudA4Qd^7}1D1%4P=;)gD_vPB zp?Q+dUtXkw(@SxRBDfEZGI|C<3hd?RWaXwuA`1t&?zIk9E3ePoZG`+tT$tIT zE+e)Y7&YI;2cX!2Uu`g?`Gd{{;ks}1V}mAjO<0Q69To|`RFs~m-XfmA^DQ*+$)21Hkh!$ zEe3y1Uiw|K-L3Boi>|&EvN@vdb7~eM+-Ox!n{a9QiFK66ZW70IpAJ?Xs9FUJ$SoCU z@CY}TPQW@NT$DC%M;J3{z;=Y4{&S9Mm0n&*RsL$HhcJ$0elBP$HX1tp(!r_RXd5YE z{0Wb~H=H3BAc2+y5XbCgHa@^FDjCFc*q?Dl+msT?4E)j_lK9P5$)7Xbt34>8VJ`c; zxpr%RKCGe}!s)OFOJ{Rnw4F2S+?uvqMoCI{1fZ$?xbiJyDYQ+95WO;NV!?ZQ;qi6d z^dOSnjFs$iYTaE&xk0z1^t5fwB{CPX3j6xrhkjQi4AsxsTE zKq|4JWH;Ne-)c4_o(6nqOTnE=ZaCm*@?l&c=x5{T-)aRnFn)ce0xkZC{*G_=$h#8K z5EHak3@qvkfO{Z+iHI!HFOOXsWQ_mGG5eD@MV|2>U-c*kK?gbs?GtX}L5gifzCa2A(Y;~MA(E%mZ54k~s+a72$W_oXs>FuxbNl+8_&p~&XF)0)U zpRyy<1|r@s+O6pAgDd=NB+egC)WMNE`k!+(FMx6>7p>fpX!2DxCDAUQnV=wPCP<^?3ZvMA z2{xj9EM{?xn@jp)sDw0#Eqhy8b>%!PtCtXqCYw4v6{D;`8rk2qNWE`Ycajms=LC-v zC!N8?_PMy#(~T}O>~8lLFhI2GAG3~WCw;u-77qLA)(06Fx;!KnD~D@ik;FQur9EFJJ1B@Q znqQo7EUTKFT#`tMXW~6Ljq{C;kTOgcq-_b^CIFW$y*%lWy`xG`z|-i8MI{+y7U0h= zD=lTp)T`=G@mR94d~c9HqFwT#x53$o;YeFDlcNWESd9AqMwFPAFQTTc*|b*Uqx12? z$Mg~@TzimTpAhvaLsR*g>aZ+P{J4zwr;zm)&+kW1z04jn_(g#4sS8Gw&l=+utCCmV z97r8+uXN)BU5mKNp?$94v?25M$vj}riEY@@V=fn^;$a&zoUEsMyzkUVvI9lNkf_yu zG>X4JdnXlXM4c_Y11cNs^sv#@uGk{^YRa6fN;3L198jZ=VwrX@4lEEpNYvY*VA+ct zsYpzhlhBlT&Sm^%ZeilF_yad~-(}X^D>gz!fiXxi-)<{k88wDKar_^8Qj$_AqTmTC zN=i&0DFBG6_gFj5P9s z`v=rs_NwdxtDD(uZLEc9>MUJuLl0bxh#BxdtZAK_?Ir~c_8b}}nvOqWz>Okj>o=2V zeIHM9N1{*oRyhCLplH2`%fCdq%VD>J&Ne(Uw+E+n;;WQ{>GnoACufKK{kCF9)rPQ0 zHXJsM>LAUKnh8^uQgE>eVl{nYLqN1RtGuL13YX_Ck(7Ccx3hVMzk^|l<*AgMY|s~2 zV4yDQ63MlpH@gF^{|ZrC{PI@mQ^UmZvQG}aI=3VCFs^2BqFhk zq6jA;&viIjCSn2|+u+n>Mq3>js93duv}7N0igsC&*ZhuFBZs}@Gj?q!23};OAT_0@ zyy$A-kSv?6HJu1P{mYEN@X5&DvXQxkc%n7KR#NA))Lm}hCfvWyDYhJpmim$jDqCpq z&2E-F*_XmB#u#9xFO`egp%v<7dopR4Hn(4N?A#x-Ls?{1>zmN5IH@WHvs+i~Dn?32 z2Q{p4MxGr(to9xYgc+@M6%!XH_4nsQ<@D#&5t?(?xgPZShuY}S|Eo6ku4a#u_?=KC zkk86b$mziwva2;6V%}^nyj>>OgEB{Zv9~|x8hw8}O$UX)Y)u}7$xt>ju(QU}B68-B z-VOO8M=6eSl4R%)n4dE#f^G*JSF_6lYVy}F>;{w`B5~`-6Ao^}g2z8R3TF}5c$fo) z6q>6J`MjX@!shCM?4n=r6BJrTFG z8S5qiH95LNauQ*}NqpomIQ+HLJJaAsi+yi2SU=6a^{KtRwE78)ZfQ3aE)t?sur;4XqKPR6nRlj|_vDU_;Zy-b;W-RVPm6s-?$JO?yR3{cr z;w_=~bt?9%VFEkoVlvA+)-9^JTd0kJn@aZ@P`~@{gnQFe+G8@0QozMwvo_;X@`vFx z?tuUX492Jf&-pm8xE+WGCoLlUPI@=~I#Kj>)qk4E0!-y;oP74FX_mYRKH2C4ev5#m z%yN{8WupzvvMmle>Dj1VT2Z3u`Df_aZ1y($BueHqK|w80tV;+&bF3eD5d0DUFZAI5 z?9Tj(1;dY$Eq^nJQ?^nCx%tg`MC4#fP1x)=pC(fpkDD^;l3Z#70i>t%SNr5x-uJ6v zNv|(7F6aj$C_{OvZg8(RnZ&Sw6T%pH=&at0_^(DnVgxC2?~R$=R;VIfLaCQ;jk_IA z`piBv;2pVZqCsp*dPtqMVT~uNyCL;o|6L&E>ywc?=Lu)fg$k0_wssw}AtEFxO)`2{ zB3Oi1KVNJ6@&N}q_|IYPj_hoh#khSrcSGr^-^bVLJGzyU`Vv@ohGLX0tmy=zTBGS3 z${P}srQ|U)7AR&0(q>-Gvv&RoKb|Rs)p3?Tn@SjqPRr;hw$`T{WZY-Pjdh*+H2h zJ%wrkVi(Z7fs~i7ud@Qc-1(i+qpPqKWL(+u$8u4KH~|<$bwKX%oW6TJ@YmYt(81FV zJUD%t;^CzSm6^dkdH@HT2_W;vO&YEA3R!OG_4$>)nF=I)rHzo$jD|fbs8nt*h8mj1 zP!Mq%K6T}!mG&D9&K3L9u5ZdT{kfMIxHWo2xuSBOHJ8PNqcm>*>WQLfAJVXgi)?s> zG*iVThGipV1?ex%l>yUD$41VG^|$RR;P!k6r?yY{&g7yDHGd?3N&#|2hVSqXz?QML zxCjD6S0r^(cg$3!RE0M&hHW`}&L|s66{ieN5-{p2SVy9DV~FeLkv?>^r`tNwb7-$f z^|=J44?MxACEU%Kuo(KKi=#Xr%-`?mHhH~7DpsZ|p6s?odmZ`aX3Id8rx)3GR-~o+ zgDK8t0>}K7=*TdrdI8eyzb3o?^?{%NuM@`N{#?@jWW4=SXCX|Rj5N%a4mz+J!DvwoL@l*QlX*5D6x#9!xya#?x^Q^IN(`#;PI36DhnqS-lg)RKTyZ8#De&K)~# zLvzE)(-n0pWedu-O#Jm&v2*@A_jYujr)EBaFXe;;=5u#*K7l?=cH?wr?(GU!hCc^- zzsb71DG?;zUGD-?d~N-_EkyjoIF&cI*XLfmpWlh2L@0$;@ikW3e;^9UKOvwNw9cP# z!s**!lA=g!30*>-)OYvrk>FIi9s~!*XH-KdtZpuBEQMva2FPFXrJ`f9ZCC? z6ijIGV`D3K)#Ke5f6EWF7?{-AC3${3|7eTfjGpQqsq-#v0jnlD4?a*L6_ z4+u7#3JYcCGH3p#f0goWfxc8@YH(u8 zoKx~24Ks4?NjTu#w`IR9G{s!`Yv{kuN;%2%vt4P2eyN?Qa4{yNsG|qRZL*sR;=I~$ zJys}2=r4V*9m3r1fV8AZ2^%8{BuZ$sCA|f(QSyh}EYpVdvXl|i<6V*|OA3R>_>`Fw zj-89e*-K2z7%QSK(#{tUAsMvX$;fxTz}SoJf$HFiV{BWyu}Zsd-Y-AY83Q4gr5?Do z2fK&`CeJsM3vxDbUXS{J%*m%i7tL1lPo(D$v%^kMmddn1h_E-*>S09sN)p9z@xHIJ z2^;=O?}L5HBEv)gf;{fJiym-X4#mo49?C`51T^fA+;14K!v@$_-j4Ss3J5Pv9`&q}KC7*5!%2*LQ%veAwGHI zSEj3&5I(NTjg4v{X3KZ^@Z2eNL9Ze)HGhz=!U`Efvc2z|;Wr(_gAdMKsH^TD5l&VK zzd-MaN_4e9oTcV3IBKR$H*f167>c9$=IN~k&9|>oBkq*`9DH5MA%o>GeP4=n(;!ZG zIxO^H7&|Erl#a@S(Jp$4pS_YDvQ9uO{6v*(B_&6GiMDGuoPN#O_Pp-45DSd~YZaDU z2~DmFHr(n74w#~e(_S`_fk-bWCDklsCjv+`SrFdZHI?^qiOr&qhUgoRy`2V!=<(bx z1<~~QMun4hj)WniKT>>1{xX7m7{w?nB;q&q9Yj5pzQ6ssoxeuKzps`KM2fv?dD59C z9C4sH%3b!JN8Z(Uil!lPZ%$pEXCqz>d;{k^Vfr#w_fM8IHU%u!f%z4A7YTr0BMdve z8nVhxc2bKe(i%WR*;68~hjj13fFVN;*E5B%b4-{ceuIq0OHqKuE9$2w)AyGfL^TGo z7u?KWjl(Pp&%-AEw}Qq3wNXam=Ab|F=Advmi=6%2EClYHKa%0yDkS;-{fPfG+>P#l zL|tOgYD4-2|Df8JT$1o{tv!nG(#_%6l^+f5cXX`GyNI06mhht9mC_;dwAKHVa|mA*A3zt%&!XFKgKPL%w7h-LU1NSHk~8 z*gJMtx^-)#l~k%?+Z8*h*tTtZ#_oNvmWWr>r7XwBghp-N+ z&RG5%yJGp40a;u$@4;rKx09k+Gp&nht!-4aBv3Yk+UP4LMwh+NPn=wWItx{n=255b zfm&=*V*qBgF~F{FIh~kmF(!Y>jnX4k1+bjox95b{FI|W}q=~#U){)O~fyw393e&f zoG-an6E(^V*zIbvIwW(I;RhUwXIc>biGSn1v{0toIY{vot_jtWgujl`h}tpbK$WO5i_r{4ex=xKA@c}FFxW=2 z2&2N%8YKwX+4qw_CI1rgXp&KizM?^AXnOG3J29!)`YchW_ilQW^mU1|;O|Ph16XdC z3J!@|xo*lI1(cOD5nUQdM`FIxNy#i8oWo0bA*#_44BqJ^ABz4YA91WKLDP!wEgFr$ zUe5om-EsIoHR1&CcfMW&F?BLSAvgu&cmu9Ov-30m-u=k09eGT#fVaEMU(eoD=pA=~ z%(ol7z@WsSxq22J-R3y1R4uLi@$0US!A)}pBl|9TE?g@H);}E-DHQ8UOe^&zl~9q2 zG`TOC={N1lnI(C?u~a2g??@iTOj3tGJL1MA2FIUFfQjd!LLVtz<+;u@7$6{sIA!MQ zfiB8?G&#g0-MvjHGYVoYB2^FN35^=!bmVP+z1cp6{kT`lSzxw%Ld{;0IYBr%Q=%RLZ{I z`i9;}QxrlU9vs!=S{1Yas<8UVHb%=A&)V{!eC3xPQy}~aDzbRygFfRS74;bgT|Ce1 zbHxX0VcEf52at%LSzY%X*5<5xJAWwCU+llz>reLHB&v zg+JZy&CVk0L^O*G80)Rp5o`igsUl61quy89b|S;-QW7b-9*;Joj@k)A1!^1GbM z?w5m)?{wh@e=xJtXxa#6I1dfUN}YHQ;w?v9XU6pC+$i!Dkqy>YCaiztR=am3_je|XEB-$J(7Z>d_>WOj1*EDhk`9Q(oXowA$$`jAKE{4 z?MX^09-uKrNM6vADsHHE9O`#!oAwE}&s~b-#fEgV9;n^@+}hENwjU82`Kf+EV$PY? zm>#SQ{y?7*!+=@U+p4ShoA4GzJmW?@g)9-Jx-66*LRS1SSW#nU^zIQ(79;DTP@Kf@ z#-vhNJ%+1_yk3RqoqUT&Rf^G5s$|!C5<@a_*R>if z!i*3TRL9Neq2VO6U?Y)%hONy9y{Vg`TI`cBUgTN z%aKH1C%@@ux;e>f?1sgE09Quc_@6>vk)<7+27exV)c+SiLxAi`0HoCB&kkN(=?pUh zLC-N>>5ukI2Y8M=$zPKttd+uQ*EzfZ!EA>NdV>qPeg?f^U|j4Iol7br^nfV+56$S6 zr2U>Zqzy)K1}uN_KJ^IUubtdMBj><~^GrzdAI-Rx+7RMHT5W;rHRJ9D)^~_r+UgBC6`pVr$8q;+g*1=j#6{FQG z_Q+m(2^RmG>XR}X%X@s#J*un_E_E_!=Wd!#=oaG_8{5S%w_ZCHBEn(@Mrrk}X<#lu z7CnBdD?an;eFh)6VY;~imONFg&aT1`uYLhsU|^?WfqVe2ovkF+Ztc$7AM<(QApwHeoaD)k z1qPgTIJ_cj8_a%Se^6=zb;68{XL0!7)f1+QltpnvmN&EQ-@%RS%(^!>VMmTPC|{fv zeMac4h!n%iVGlorLt^>ck1$o+-y;hE$o!d;P=BV5NTH*taXiuhOkmJN&iWGjEuOqQ zYn6uEeE-@K1%zh)(-Ga_vLW|vUIch|-qpr4Ex&oZ5blkh{<2gB5|w7b4@%k=OqIy7 z0{>p2?UbF(Wr*|F_>LSxEL?cqs2#l%^&aRrwoE*8=!WadFmV2;I7X(k{bz| zeL~gIcx{vfB>LN}Cig;V8lx^@Wm85z{8n{@{JAw$nD%Bw#i$sB@=FY0Okex#cxZ9= z*Y=9g?2pZyBFMbSQv5+}Xnm*uw|UF#ADZT~vHkEHHiEV~?XWa%#w$}cgPWxq*LI?0 zV8F)NNC(TjNoP79YRO}&Q|5C9?a zr@M3%LHfI|3!~+m6{RInEpiB}5U#S$Z}oDQv(j=6ZviCCZ-!Gzf|Tc?Lb&Vk5$7s= z_P3&WI!j3H^Q01Z(fl3ZK+SUn+OIkJAN`TQkBdTTF~4P4(aOPMnOg~vm*hhYC{2@( z@Si&gg2n=9QKq0wXh&r^4_|v1CZ}I-|6EnEBhiq%1O^l_PtaXWX$=`p`)_E-WSqDX zPWI%9z0{63_Nvw0L1DZ*F!|E@>Xu1)^y%JHfnb=Wn3oEK%GozH-_L>7xW!sxGV zmnd1GZGO+~Jgo>@sS*9wr5`;pACcl)-rKvk;>Yq26*zj+>z?y)j*tSdZ^uoWFhtDE zsD1o7;pn&ICufx%W%Jl+x|GD2+@O?5pzfOb0@lO3`}4u?r3H zo3B)RW9g`m7rKLik6qo8(}jdu_wYl~$&ume>T+*^Et|H%MNQ>Wy}9gY+p%~JfU@U& z7@HiySNi!HhXFMSNk<6|k>ad~Qz=dha?2n#-yYd%s(QRQqU36+PM>c>k7wN@nF*!T zRqfGy`6ZRSIGB$!42BoO7GVMGD+sR;veHoZ0!%et6Ihk8`7OSxi~x7Hq=`eiiB_~4 zyw6uf6fjoop9F^JS(9renj6LBp!dueM6CDW;{pEXv^7b$#PVe^NIZ5*^fma=iu+0; zU)l6*Ps029asPdRXCElg2x}8$&D_VIUYz6-!R7G1r}(R4Z5p3f&xf$0grqEL-P+#c zB!%s<+?y`m=PBIH-bCsQ1h76LFLjMNAz(i;c&Ms(xDS*gx$j>JhAZDpoid zxf<#KzKTp7$6ydzV|-&|7& ztIyN^7Ez!x@`Vvc6fo<~MgKmBrF=TqKPIh|w@h4%oRaVjVWyV;!#NTab5X4nJEpff z|3upowB=r#Hg?HYr9Rly7ylSLC!|TEw-J-yTeDNqv%r6+{)xX5#ZqfE{o+f#;Kzs4 zR;6U8p#5eiq3of-W4^%`F-cB~JW8T^%z@^E191ZC^;q?XmM&bJolriPgAmQ7m-Q^& zaD)FgM4SxT;cNaiDVmN@yqm62R>_ZEqtJkH6DNZs%a_dq%a7)n-Jxy1v5Sx&Y6{j1 zB-Jd@U5i$nU7QVerBem$%I+7D!&}3!BFd3}v^j@M{n-=APaxaA+&`jk45J*y2T^`w zK^YYf&sUWHkvEvc3kZ>BJTLarJ2LNg(?ykO|BOWNXmtR`mXM4Wnb-5US)!FTT_e=~ zci9WiF+{B{0M+S2e@y>{Ipoey*W`0(8&D5;<8kyljjUjJu|U#A@0aEBdaB*T0XkK%aBYOpX%3cZ^pH_h8%}TQmuxcQJ1?t?#iRD2@0ESg zN8v>S7k#1nf8&|Dc!Y%#kUfdQt?5!yaEz(xRLkK*8h`&VgH22wjVD2{Dq%pDmVcf< zkB_*-&LXsnf$S1=&Nh7gFuQlLb*d-n9LLL$yuXbxeuH z=x9V=MC4&IdPrF9rC=^*qt^KDKrYdx^xueeGm~1&U@|Sa&wi5aoWN66#c&L8W7+v& z#W+5zj6_ZO*+PaVv&CzKL$E4KDkLhil<>o*_y&>1&v;+@OMw{0yh-pdLgA&iRwC@= zyViUlSAIVG|8Ot=(_6-gf@7!F_#S`Pk-QgvU(^$x4}AH2&lJ7n$^KV?;6LTVnl$cQ zC^KxBzsBkl`HltJlsM)s{2=<|M=HoXZy1mmmlkvaD)M;>V8|om+D#5oOe;^%2MwSz zOe$Kb-E|WM)Ln(%1F&DfEmbS_nB-LVX0W>6>TnuhhpUvvb;%6`+mx_sLSMLL#n0Yy zhJ|HKJ4?`#elk0bAk|~FYXDASx(Bm=8XZwOTisO7R6Qwp28mIKY@|ibaNaTanxZ;w z2drJ*EYl%?YWzN(Mkaurxb4?M`-l&{d=mauI&^cqznVArKah5$m`?~mP&x3+9RWLx z>UfUTP1M*^;?r57U4Im740tVhy+{5e@j+DcVCaY_D~$r7Ir9-F?5cuO^rdxc~i)4N`;g$JZXPH7H8fb?xlM#N7+jOxtsca5fd*N+A zdEC+`d9gt;fV3`pZ8yT`ElZdyCL6p_?16gV=rKaOi0sDaQ=U7HKyT*!=%4PdYlhZ3 zUD($UqZC^32Yq>FeqMRTaSU3 zCTiT#v`050BooUa&>WHi6$D@iijB#HGRta}$+k+BR_m z@b-$~(OOh(FF6p66_fF#UqFmY;d0~AK%nivkMhR;y4zixK)UdYDq zIc1Ss%hFwfE=w#zA0+|I;Y=%Qc?u`-d55g0r+8Wt?FAqXI9br^z>rq-kkH597zLak1gfROn-Rwa;eaBW?&raKlU0| zNeOKo_An@J7I+*NM9bRj%{Wsjxay!*nZUk6$P}O??vL-%TpvIBg{g0-avMusVp_lE zm4l$ZL<7?jN{#Xv2ecO!O3T#^mV|U?6n)<-_`fp^Anvu2Ep!hS7a3l_#!ID6Zw9l) zcqB`g)X?L#*{>bf#VGy`jNQX`F*Z`Y=cIlb4>Cp3m4S6ER-XJI!!e#ia4j zm@k}>F&k66>hcLwV*cq2m{Wx%m^VxB-YRFb^@^JIk^l7s`pazHluPKy-V8D)R}?hI zHO>R$qTDNbh2>OhLDShOurYMEjA5iKH?JNPV}dhL2S;p(%3s}jVd z5X|8D3WuljLZk(sLE!?4FjQ__s4$22i%FlPzQyMP(fZ|`(DSQCh*a3zqG?h1CjZxB z{r5C))57th*ZAc3|yS z5Bw(11bojkTCo$yW_tO%CEum%L@5CuBQpipj88>Q62$|D zbLZxb*F7**t%YiFQTx~SN6naqPrnEWkVFyA5_|wHaq^?#ry~{2PD>?oi2_lsy4%S4 zo+@!+(sRxuF1H%fxT>jCS`<(U9`XB=i&)SqW{_0F!#zp2hhq5zAjpQ}rESWMmuEd^ zg4n?4Z-N6-Y2tSVyFuPLU*nd7ppT%|gx9*7>?yE^2{o|3*|hsF%5KAg4w8ThoN799 z3w1_2%0p9zsWqkHLsUL22l6w{e%h97*`?O-QNrdU9xf$!bY>_e92fJmkM8BRT%ml2 zva-!4(cxm!4;hgG7*2(Mtm5);>?r6S;yWGwPx#9J_}^oZ#n}kqJ||y3F?0$_Qy;2u zNuYqg;(7t`hrtbh`fFBt!qqiWT)XA`Tpd=%p#WLnH}2Z;4E; z@tG9#W~r=ljZn4`-3t^LTWQ8~fjvNy_ILLJTcj7+8Ct#sAvp89JrL)&AY5tg536LB;UQu2|vZBi;j{f5gCiwugL19`8t2`eou+*lH3jw9%+7< zDnDeNXn0yPuRt7s+)IQD0vio%mDBta zVg`=fBwy4v+X!R-C=cx}R-p7MG2DwBQh$p}v4FSWa(qD(HkkI_+4{3PN(DP%IC7QV z>RvH9>fY#&m|&+rxWT%)vzSLNrWLg=7Zxa3v8xLiK@`(87j-o6jF}uIFn1&TsET$m#aZk=}4(;z=P_--h1V5Rl zu90QYoz?&PS3;#fI`}euJvPe&EF4Hh91K&|@~yx5D0(Rx)T_N8*q{wxhV};E^ewVi zQMQg4dMQplcO(Z3CgAgL4|EkfrO|~7kMvYoFKyIu3XXQyOp;KV zmVs`xzg~r|RqRb?iP=0t5cQjC;*SX?G;d=vVS_=j7(xmCSWAE1bfa={xBXc8sp4WJisG@j%t`u?0qX*@=3ed$Kk$y%I~X=2jq=@CmBmZ zO#Y>vUECpd|3Gh3rpkME zQu7_V8La*@Zc822757_b2XJ=jD0FzvUIJmd$Sd%aTBvSoHG$QTxQL-sle9mIK-I1X5c)*3(=3g?rQT09Xj-0`*2SwkF6iY9nGW z6uZd-tT9)dy}a<&Q91nb<*Fv;iW zT#cXp^1jQ}p_W?8zk-qV{gxS@6EK~4Xt1n~YHhnQEdVl5SNJ{M#x@R)>(-m8+g2d{ zN=~_F^9;_g%`)y6aL`mzD?j=|{Tb(dIUzZg&4WxhmddnB39E7$q?sEd)buh*ts9Xy zsKO<6D=)&);L38+MV0)=@@=F_Wli7Pp|<&XWJB^r1uwTXw8`SiL-Zu2T= z)mi6>P*tl(&$?C!kl8*&5Jgs@mxM2j)TRT`C{PDji(;GvW9pvH)66=j?w|f-br`GB zeho5IlXlp}_g|sY7aTI1N7Fvn8i!O!$%HWrl$zc1a+@&N?=22%E=&D<`Zh1>M*WDH zwV47?SkK&|zRuOZ+P2O|Q$_kNix)J*mvWmxA6ISON_z%9I7PJ$btgCUaJ*ZsDW_>1 zA?4d6Q`1PqWBTJTRF%&w5 zDxfu?l)Bo;H}KNbk3{ojS8NZ=+#NC{)ZAqL((uvlN?d`bF$VONy6}8*dtng%X%E9C zpG~pJ74L#+iMLE~prSCP)M^Rx)?0jK@kCeo0m-FyUu!iXgxluse#JUIiPKX4tEwNz!aPUaE6}ywMssM zb2>`5Ai$2eT`_tq_8xykz*Q1%MOQ!92W?NDF!7bEf$tVjew{eN=in<(hurlV(`h@! z?wK?_9;~LQpWfiYKD@FWxcmd_SnvA(^D-X4EI_JEloP(a&24rw``J|bCBp!iS2UJ? z&5%9CACi-j8oi}%ZiQCys}2&jiaCP+B~#e8-@XEd76kLWW_B}~r^nY<-{;o;>2rHo zC|x~P!;5c z8I77lC!>sFM?^IXs|S+R4rgNqdlwUbT@bF`u-aBx-R?y@ceXl@B3j zu(nJUGmk9Z3}`cR0h}7 zb5mS%(*yd)@UDt)!g}M~AJ8^5JVdR#R$9O|C@VNnUiSzwUBwNS0!W`{t~BY1<}0n` zRA_8pg+byX!y@Y^EF=zjY?~6$^C$zd68_yh6F%N@I#7)&%~xB3z4-IKI2)w?#-}QT zFTVE_id9aUE=iy&lm)56w{L{x)}XLIf3zREgCyg2l!ejKn>xm@dYj>9qM62+nuwa% zzbvwWI2ol-QeCeehQJ`&J6vQ%_olV)5$8~|;%IjhWxScfr z=1H;T{}2Ai)y@gt@LRRls;V(>MxocPv+WXz6t356zQ5n(t=^D329H0Sb<^jf^IOgj z`3O7_i)N==0*8}{FMr749pvXOu6H)ZYnz6C`4|80uN~@^)6FpHt`bBY-KX<{YjJeQ z@YzgX;x&g`7$_?I4>UjA`7F$K0-Y~A@0on9sGR68wrq#v`y)R(V|oymWYZ#y>)C%! zy9SH@)9!jee3Y$Wnn7fEHYMWH{5=Lfyt@MbWH7$~mULVjSuCK%>C*WAZ5$n+%3-Nt56aahLij?dQ=%gds>@OkuwKQL zLt{Z@5Js}VjW9@JX8_8Sp)NtyGSlk_i^hd2(-&m9P|_QlNsuIyWczqy_$JtmYHPG; zN#&+~!6gV#BEg&)uq5m6FpzA&v4qa%=XTa1h-kx$rh_%x-Q*(qS&+;)4Z*a7)L{;5 z_W8sh=FJLjDrt5479VhQFI{sAv(6oKKeuBqvq|O-J&@GG3-V5ZLqcffow~Z`E7R<+ zhgyfMINE5*I*FYkz~9EN!I?dvA54GBZ1!OO!hraWRp`a4#1s-CcQmvgrmBJNfE}C* zEBcGLChhTA2QMtTlvAKXj+fC$f+1_XfDe04hsBqa8mFZ`AePAp=-*qo693E#%%znK62 zIalMnKxqG-V3@hmru-3HQCbcQ)=flB9<^X^;?WmHcu_^XMH zI>4CaHoE;cEZ$zZ_rGiu2>8JfMF7ez-q=}f&fi8xs0fHob`v2@!6Uc(HxEJo1F@kf zLII18vx!TFc$Sv#$i5sd(aMplQF^79y%8gu4>6R6dXmPa%a{IQNd#{$&PqfJSH8?k?Qm6$*KCF`!SlBH=Z&Fc_Z%CIjW zZSu{|?6!+ye8LFcdNm^IXM&aGH-n8bq-i~%|8BI~>!Ns~5U0K6>*do{_1(>Uc6-DO zZpLE8VS$WCiXO;JY$V8wzzqD+-r$C-@@anIk(B-AuU+h6Qd5HDQ~t822-cF)c)87V zT}p=O^-BPh44%`(g-oVUW{?ESZ55f>01{r19A{uQiRH@uH_QXlZ0>LipP0zv^h(aj z^%~@oc3mNCsrN@a?`h_l5}$QMt*v{rV05p1hm*`)#z)AVbN%nA3k&nft5RG90gS@m z#Hb&ONV<&2?6>9N#Kn=w&nl~K4*?Pw2BHOvV9dd;o4NERT4$LIGONo++|5eH)-DC@ty0J7}2F!+*`^U~HK)k+aHL-#Cf zT!`a`)6W&GuDB`=l+4}ES{jj}O$1}{rRCvF-P)8@9>i-&@ZUa13bDvyU*w|yj|0HyE8jPEjMQnzE@e|WB7 zN9q8VElAe+9h>1g*#Sei;}>Igd(b#XV8bsw@6G$3X6OBx_mdsBK41R{-c*qJ=P=NT z)6tCiC1&_hrL5+%artq2y6){Vnr7N>_nFjOzYFDDx@@KhEQlV8QlT7GmkI z3u@*Ml0x}Hvw0YMXAHdI%kc|kZu1ztv^ICpFkqd~!2hF8C2xh@%}_icE^#z|+j?=I2o2(@qa=|tLO^>M58vx|HX(|S9tgb?Qb3riyQx?OEt&)d z@DZ5f`9!kybr0IhTQ5oykHe!kL7gu~1#OuLrJCf?lI12=i z8c^0rxCmmdmWHK~#nC`pos+G8e=|ZC$wqyMUm?@c6j2xxVbK;LaINM!6nA*Nh7a0i zkJiMkI&T>xY_*hARIl8>T5a;jz6o54FIm^YcsTticfkg;rCDy;KqjLX@*fnuD9Kx^ z(+@ZaE(a{*jc_7659H2HI%*j3(l&N`gGHAjuSDR_YyL{MXN(0aJ>J-a>A|*c<}&4~ zYHj9~e%-MCR>D++4B{llp8Qz=^;eb=E$kn_E7TS*{FJfmk}$_4&HO?K$6HbrmPw&} ztR*XxE$e<)ymtop=cA2CEsT)(9eCuBVC`N-N?DonuSNSp$p>@_jd@fJAT;>JtvNEW-D z1ZVKwluOJZYW5TV9Mu~VSz5*P7@ZIF>7d}32D&GkO>T31qJ4%dTJ-G zn6b-4%h?Gtapa`wyBjH-_|9TM2?=sG=#Si}dwb}~oo+mJKyA=*Kc8g-sFCo~+iw1n zoSjI288z0FQHKCpv!Y^jTkiE-Xj)Y}R~)wpz1xlhb|D~%$oc+9*zRY*P-gcp1UFg9l zJmsao;+HQnyMnd*h0+3Q;aDB=CSK*%IUPQ*1eX;D4>E+qX(0bzN2)klId=Wo@r$u_ z^V0^3AhuR`kVOC(w9QdNuI4dicCsU~MEQGZ1EtU+^wXw!=ry-#AQpEspQVE82%M+W zQL?lzYidYgTOs4M{~M03!?v^V69Uw-wO-YBaOrJ1!_+r%kjeswLf+jUVh)a)6zaL0 zS)w$bJHeKM$ULAuV@9#nFiXD%d-f2vARZ=-sVhXb&5zx>4|BF?4VRVQHaaKzCKIpN z=yogjI#TkFkupHI>wPl@WQ4E>KgguR!Ff1YwXnN7FKMKM9>UhAU4=1kqegk^Ov%Q7 zGM``+%YDVoN8qGbPc>6RKiH`&RujvO5)d1ji(2(=VI62DgS>)9l0VM$RS0*0hL!2B z!HINNI76hcxtoZFsoi;**9z65BxPN=6xsdYo33Xn(R!$X$tC-AtFLM#iq_(!n9=Nw z#}Tg_C2A3`&`*;=i90B(=!{|*OUT+ezJ@Z$WKu1uV>t|B4;uzuSD0+$bJ%kvloydQ zq1>b+(JSa_`r6Hck?0M`1!w6{SXwSG zz;s&mb>D0?F2;T3Q*uV-ct~nrbYgNA5r_&Rq?Qnqzk@`Reb%ZWxuZ>tUE|KQ@7hhPK2(0TL(=CD;jUG5 zgduJ@sVahp3*M3JVsA7Lp+2|tA;I4zI^&`UH?jh&9wkz3(O0kz3}Axg|Fc{EzoG7K zW7(|$kox!UW=s~RQ}-XC%vY6}z9gd1V79-TZN1VS*9tg}q1=-ME*BF5_nk6^Z5SO^ zb$4J_^ShG%1bRTjJHGe>fH^fi3;Z-LHfQau%t&JiANhOote}ZQt1B;i>rAUp-g&4L zh=dNI5ATK0dz#!|M{zYM1q>@hUeWk^fA|0u#ZTKI)5LZmqc50SI#tp5AqujN%OVaQw|9!+#Q8iXbkgcjeyHqX+cBfKaVbMyNe9I&kej{=PnRjuO%3H zDu6P?Gfkd`vI$YZ$gxD75}tm68xCsqIA5SRYzsbnFtN@qomLg(nTxpjX!V0Y*JWX7$}UI8OS(~}<8SIp$S z#oKir%Q?;Ii|J8|H+?5lic;h6-z%5l0~2L^TTYz2XM8MHExI>XX54Q~1x!jPdnloL zq?K(Ek}jP?wzZUu)v&(qRRty$$SW-G?fm4N`(>g= z8J{GKU#K!h<2B5-hw%=88%WHP(xF(H=5n%EW88*H-vQTk;!}VJawd=xrUGjC$ z*+{#wpoDj;I$|8UK$x2$48G91`#W9>=kEm?U2bNjH_{8eL~Ge|$tKzO`9(v-Y{m~g zcUG7%MhQw6#&?|0wQQY>U0%Ca5o4#w83wzQF(;wB_;NiUb7iB^^l^G0Er4Ol=}bFc z+$M7S%yH?7$v$VXW{QcW6kCwjIs&hjOYQsMNkOK%-^0#!0#JtE9!W#)dHxP6j1jtM zrwF9q1S>M7eb88c+O+achn=YS*QZ)5iT7H?|07*w*T=rFRVAg*HX zUGgQvqjxx~$gKgec04sCq>H6h)UbKN0lvtZz zT}D?>^#=^eP4ThYrL)uAOXU8INYNS_x&Qhu0P8i8B z3em2}Ivjelveq{e=|=QP*VAO};k}uzmy<|&=tl~C)@5_s9xE=?@gGzs&;mbXKO4BS z5VC|DEgYtq|9RITl~gzIVkpm2FrlD-^x{@2Z<-W1N0e{+G*IoEp3iCAXPk;fGxbSgVkP>_*CQ_j)U z16jL5P4mZool&yDzRz3n4PQy80yV>YofBj`+6#EZEA%8_5-$R25ITQ6ilpghS&14) z5sXdm7zFdfd&MhT?qT}6)^)}cA|D|u0sneEQ^-!*)kr8nd0}zoN8Go3+5PGojW<8^ z%GZV?GP(1kkGvulq3|kq>g(cUPR+DauDQvO8F|m0l*pDN96$L46g6qYZEqS3#RnWal>BUl2QMRQt zt@qH*ofb>Q7T1diW@Cc>H1Y$KuMMriF4p-Brv>K}Azt&RX-T^N zs!$YKoe{IyB&GnyVB9#JLPmluOen9}wK(xl+b7OiV5B|Dp$Zz4s|8{o!*oMpR3o$f z`y6tmCJ*j*VlWGFMxWesSya#|N39jSnLOg;!j0lX@Xw4TR%{y`lobth51qk7kcid< z?O1#af-57rE^9e~)`#_8fv!AM?;k;2X8};AC1rcZ&0*BFeq2FQec~28hi&p@NzF)EzJ^_tY3_9qUdh<@zdtTupHwcZuH-{Q>MT%Vu)j8Vxr52Wrl8J^hZ^ zn_=s?>-;n!V=o@%^>~h&s&iLb#Vn26bWbN%oJ*bXgB+fJY&~|q>0Wts9=2z%1kA|% zY`PGuUDi&aS;%9|hQZ`-OL)F=p}k}d!5yudGu<}^n{+CVu@NUl&*yi~d!1n-zhahK zO+aBl&$xI}H?IySO7vw&E?O`}V-RWY0orsJd`&onK<0Zf964Oe)CmOq zWA$UGOBdvL$ z3JDGWpoY1}5Hr-P`mKdXU|~+GH#oUD(Vqk*Y0qqbw&-3Lk<4EKx{TH z-m1$~`S3`*Rro^vNo>OQOg=c&C!G|nqIZ~gEe*HjWK0N|xWNry*Cr>6LGtp;5MQUi zI@sRyRzYkJxyYJ+^h4R}k@(`faghn*MT!pX444i&-UB)9vums zo=C=gS@2G~TQZC{*<8uz6^*WEbhIg7o>au$8Z*N8Z7jESZY3k_8vk^MES`>kW11_k| zm+JeC%5S}OgoNM|{DSb4Kdq0jGg3yiA2>R0`nG$It98@2LjFXI@=4^&ZrAptt#c~S z8YVcLgKs=v5R!Tw{@iX3?RU1sV2C#59StikjIrep3J)z#T_D-~{fp~)AX=;VlicC`ynU3U;i3&Z`not4Z%uK?ejrGmM>KNRfcn{b1vq0Y0k2zk4 z8_PV0_n+&pyqlM|KAn?~J`*i(+=P?Dy&(^z)=TF0glMi16hn&Ew$y4$#)nEUs@e}XWgHJcK4%e10_`=ew9D<}a`>W`=uZNm zw$06gs<_Fv21U*V$3tVSNWi>IY*>^%-H|fJRg*L^HWoX&C|ifX@0l#%uD7rP?x*P; z_Ir#E4K)&HLMTo2NBnl@7yIlpT0J{hA&m(ili`1}W@E1O6TYK#{t*k8OGO<5V~Vk) z!G68K%LC=$VR0&%k6m3J(0lp$ z>zJu(g>5hU9w#aCI)KCLQPIFr9ZqUsR5(r7RYKDizg6TjZuJz75Hv{(g--Ox! z%kJ@8xW9A|+h0#;jks=%xem%A;s{i6x2!)SG4uyoUXViS8Pt6evGEf?h!&Ka6hsbBlW$EWDB?({j`$Jmk;o9CX%^w) zfo5p8sJ0%eW36ZA~@Oyi_O1rO1#&C_p z5zY`*#5A14Ocg+aDh(Bq5d@1cA<5~1hB~M-HzXmH8n-N;Z?ij7ANnfM;)VIjzZ$vu zmLsr)>+6~6g~?d{s>nDS@FU8@LJ^V&TLE12(RMeK{bA<_zC&~LSocbb<{14tI{Oug zP5E=DQ7F~S-O2NTVu?%PLSeBn-3JYka6vZ(1H>9Bvd7Cns$nDRITyrkaEc}DA{*?InuY&ogwTyleRt5_d;+5RYXa}rtzXF z7|M{Nfz}nPSJDst}Y?iTKvX(Mf5@Hd@?gcvQ?*|xoVAa5uq z`-Q<#LdzVm#lWNZO}P77UuB$`1-CUNWxqCs7oqB?2$rIh6Hm{TqM2Fl5!QxU@wn`T zQkE>I^NAL`E7QO|!T$gnW$LI-GOg7VJ~6DsgwvY`w1^a)_BXMAexhoxJB^v!HW-Z! z0%Krh@&hY(?iIo%L*yG>g-F^#iI^{iiXbxy2gfzuBa+q^YSYRYRNjB=z(UD|bTQay;CtfwBm6WpZTTb5nD= zRSKshl{(b00Mvt67Nr@hv*t>8Yn14KsJkYk7^E z>^S`4v$CDoV=JvGnMXo52_C0enlI76SG+3dBZF&0M6#kp1x5uFkw|bI{$k5(#&{Rg ziaS!k2u7drDcnV(qSTaSA_f7)4jz+~M1DNdH;CJH`Y-F!i2@Fs#(ks-vTVqVm$myC z`PDM?8-p-+lpzA5x63vWL;1Wh%;r0y3ZJaz0dSkh=3MNoK$o5mkB+h0&?!$9F3V2T z;zEe7Y0`)rOi{&mq?}fm@yc(eaKs-!bXOY-(k$){r2Csg97qrU>&YH-OZ?BzCS7_~U6wTGOWHQ8@CeDQrwsD^W(bO<4*h02X!@M_ zKWkKmaUrr$R+?``4K})a6*;83Nr@O)&pf8A0h5XovE106M2!5R6QQFt2bkb7pS6}b z`O8xcl}V%2lUZ6Ll9+OGPShgi6#F7kwwNm%Z63)U^Y6g!+&i%2qUaWVxYq`Qs72ZE5F(b{H!F2%woqpuo#KfEEukAd+1L;-@Nbw-`}td*p@M5>fMxN}a)| zubuMEhyL3!)A&f8en;5Eee}1)An0R`n|p%FS4A_C4j293A#vcj3z-~V`XGKcEu^19>EP~^_0`XsbHPz9J%G>RV{ND-ty5DWyy-Y@&@ z9n9-lhUD8pEnCvY2F;dUJ!h7pffpM^TW%*4h+eJl!HWE*-B|m;dsF=e`g+ZUy!God z`NeP*Zn$U3|HIfj21dGV>%uGP*tTukU9s7*?T&5Rw$UBiNyoNr+vp@;^*(ps`|Wf0 zUibX0Usd(a`OY!sGae+CQ3B@*DZHcEIsIdh%x152)?9Vi@$pJ<5h$W{Z$dMS8I*>i zWrz^7YnMJ_q_vhpq=~4BVMJwwgU#~&QQSp?@%RRrQ~K6RLK?C2NoH%v9_$;{vrh1p zPQRNhF$6a4FwR|Z zf<(X20|a_{Q_pBH8(b;IHkpmz!Rby7sO1vc!!(g2h;|Bu_>JP$n~0j~KikiTzX#oQ zk15iI%sS7SB^OYJv8=|0jpjVc0T0Hd$&dQ@h%aOeznNrYZIodu#Tt6oNZ0b}Zgf+V zvv9gB@N_MX$=gNCoaU_z)P>5kaO6*8-BnCgc$8|7BGI4Cy9CzKY6aayzG!EDHdC!* zH~8SaawfmAYD#WN9>o|O7HupOGK9N;4#t-qITx0RfBzY|`Ir1>PD%Lt@l?aN#}64+ z4afhG0!C#HhKI7c-yhi%0P$?F9;;B$_mMv`+?BarXUFCB4i;K^u=wG&fk%<|>5MLb z-zt9oL9xbex5Yu9+H`Jj?o3(A%RP}lU1yc0%zQ|hFYA&Ha~Dls$g@Bn&=WBT;9BIb zpC07FB^YT3tDBvTk4p++!$&`mkP(lsD^@J-h}a$g*OKVQjl~TYl0^CCoE=vzkJbH5ObMe+-OInDfsP$_a#K3#xJB8 z^rC+Ay>c|=ryfgW@`NH$#>|gzH0wry^4=@}Dmxl1F8N7G9+nS>Mc0G8!HbcYtfUiVP4AUu5A^{49So zS71P-u{htE(HR`~FRZ!4VKV%nxrb7b_fEj71tq@nfz9;;l5b}eR2q*`hth?*NaI2p z^L3AD$!vgnpA1$qD&?t|;^uAne=j@8%R>c5*?;Zs?c5vEa8Ls>t&S2oz6HZ26a} zGS@aMY==($uxc-6);H0ruLwY^64kV_^!_!M~GZH0VB2Z7kz+pt%XgHPGe#=ZgRk<8@1=D_l zrSWjc<}H=fMEvy{wlI*DW;l@wtD~XSd-Aa!5gp9Y#E1>#s@&};{`<`bRFVFxT#+BR zsMp!sJfJRUq_Z{i4ja4f{fUNF5vZ9Umdy<(A&_@$AWNgPL9<+~&gNR0naLK22pO4& zaGHJ}PKnV&X{PR2F%jBDGRkUUHPu z9(mm~lnBSx4R+ng`Zy$*HdQr|8pC}_diEoGqgF&DuemLwK4yD;bC&QPH$kTLSD>u6 zO9jYwnFtmC2k=)#VfStgW?SM`;P5V1rn$bbc~>Q|?9AfR2;Mt1kn~mJcKdi*Ob}4_3tLZf9>xtE9*tDpkr>_EQjkw7v%d^D3CE$h z^ya_l91?DDEw$y&`42<1e=P7V(Vv&~SESN5K&ec;2(|oMk4wdJ+OEi)7=CX42tDor z4G8N%V0~>IE~dK!7wFL9f_~+%{v9HC)b-=l@;C>2g8E<}NAB$wC|>6H<6nWu>z}CS z8`Eq`34*SrKX#>~FsLJxFu9vdab^ch%hmiu*t9;qs7lVdJ4<-ptu5O= zvVxx-Nxn5H)wim^c&{Uid)y3B{_}NvCm#D?EppKRKRY5afq(=51(n@(_!?B&JZXv8 zFM1Mkn;E~kf<6Y*A+u%Y5r|f?9+``6bG*8fx{^ZOI-9HIRhNnjI5SFh&NdgW3hmed zI=>F!cm|;9fWvb2Wk5P9$P78ORx{h~YLnldj)!OUM|36dOO^}zjAZ`$)7#|v7r{Yk z#01HHi5uD{wCxrt#boTMsnHU;Q(gY>7Ef|mim*7kQSD>rlKgm!pEi}yMO|$n5^xv8 zq+hXy+3h@{`r^7_d!G8=U$lSOVn=^sz`1St#uPyd9Qu_63|IEb_V~=dJ1eU~s&MY4 zHU5CT9Crpam4d9i!7AbA);gm>SmDNqgtx*KMgTV+Sf047toU*6A_<2$9GOUdEHje^ zzN?!ri!+J;0p9)Tn3}>ETdL;{;$!;B_qiEN`s}WUHY)=HntawQJhb?6o%Dd68IFmd z-}e<|!fjzNvU6>9f&i$_Bjx@u1-&FjY77hF05Xr}Y>9Ut5kxhf=n~C3ferx966W>U z!5ovY{!Ys*^QgpI)5VK!jOgQ@S3D)`RUwk`NegDb39_;_1*SIN@UZ@Ub^l)kg%mIc zU_j^ltMk}GYw0#BQ@N-N{6NlvCpyK;S^r^(HG<~(9J5vA$$C5`R2nrtUib(TJ1zm9 z#za-+p1pdyLGhaHUpVmV=eo*hKbXs$R4X;V9m)?70CQpWOGh7nDX{C-!008(ng#Myasx9Ld%f()=DvqjYuus&sPSIhZZzvNAFV6;z%rwxppae<+T4oAUe zW^8kng>Xic2-GV59dkV>Zd-(1@1$-p8HM|e9Rppm28~YD=63`-19sz|R$ACKv<bCnzj3)y9%cKu4oZ};O-vv_B^|vIkHuFq5JsVx@AX9WcV@Le&o4@an zntnSY9-MOa7@-^1o<{bCwWWuP{D4vGmPUmmTmfkuKVv^JtaZH53zNJT%GAA3=nm*0 z(1DP%;ho3c~me2@UjbM!-%3k z0$b%Zj%Nc^{Bx}uTrGr+!e^Fke087)jvKO#Rl5)xDQX>@<_ckBL9D?++n7YYvqA|F z;(OwIZDvKKR4S5mHMDb@vcThaLZ11gAQg?;Lj4wtU;yyAYc zF4BqZ8Lh_Hd9x8e{)Lna*KoxJS}6V~1pjlCrE)3}+ipjNf(NI252eI4Nzj+(vF&WR z&gqM-AAy9&bw}o-P%h;`fle|va5MjVtmq%5&`%3$KW%!Dex`ozw`kAk*bXQ;g*{Mv z6WyqFSglo{FZR~6V{`D$KiZx&=1L;Xf@AD_{&?-%maWToPMP+zHMSaVb8j2k?(!07 zQ`-&VhH&m0nD)uyUxi-E9n1M7kCkh|?M%S%vb~<$MlNw^YaC~6Kh#;!-}ILSW=G(#qw~HW`oZv~ z<6qd388B*k;I^So8EQ)K%M@^1ic2gLRN$^{5{-usjRU%{N=?ldIUgkOC`?)LheoQ8 zb}LtU>w%oLpc=uDZTr?ViW5Fvi#muUbE)datL=%QC|q=}B14lSCc5`f5phzFz4qoW zvN6s}vH4nSl?6m2^VC+)QOA*$-yw%R{z{w{oB7G-?z#l#R9T63OhwO@H4;R(Sn;!S z5&kCyTYR{>(#-^_fx7qFDjd=C-bdPMdrHJt8W*`wh`Ce^BRv?sEH_O0C=yByFPQv^ zY-P8z8+arsDQNNPfxa8lcBxm?m7|&TjcLnu(^;#DViaT2$|Rz(%g&?cdV7~Kwt3ie zvPhLpxL+~SXVWv@UM{S9~9g9qr`J{U|*m%Xsxy*@m&glnvO!i!=lT? zN7vY6!)hphK?#-pa~AV)7}ao7wKQAl^Fz>f|J(&j)bifj-sv-R4Mo7OcyqMdciCrz znktKx16Y)fV^wI?!iHl2GU@sUwRafZko;{LcXP;4;=_FGfWi^Wp z%I0!=>=B*WGIx{5Tms7!@gfLj1hdxKA&giHp2=s3eYAqucx0OR^|+eLhxSXc1TRV} z1=yYlxjadUUkwo+6xJN3^cEA0S)HA}5|)7W&)DvTF#UUvCI~6xl0CpY zFbv)UrCB1a{u{+O^14PpXTg`(CfY#Mt&9HIXvtT4m#ctIR;^($rdQig0Ta*Jsh>fv zO9F_WL`9BF^07Jenx{E#fAgO3|50W zQDum5w>5^H?6sAJ5Gkjj$;$#_hu4bYkz+x36}&&XORVF07N4&5=#UR}RYlODpu>KWK~h z01aMGva`DDE82ePknkFTdYBJi!B-xyM8pf-E>`bVKpmKW#U1RZvkB!u?;$`F(VT)KVFZA7_SMq@ z%J&heZ2&2x&U1g&JE+u&W?PR2(?wH040WhkrSsvZeQ*nCmtfX+NE^miiPeV5Boz!- zkxVuKx!OfCob~-OoC4l$250jWCC>NJD(lgV0kG z_D3B|Jjf+=9-)tJk{Z85V=WO%>!r4ke4y#NI|b^7Dc2%kTwVsg4mS3im;YW|lz4Wr z_CFQtu6u^C$qf709FqO;FTiTFfz$nART-4xG}V;Z2I)!JwA9~!<0-ExuHN%lPmDPZ z_tkBkgpHOq7~R(iIovKJ9RK!KZpAz2p0;0El}3-57JZez2u@JA()gLVUl`k_O;HTD zuqh^(W7c^W<8S)NVGB@TUplJh%#BY{t(FI+?oO?}4Mvv1S+p|kgv%w+$Ciw1OT4|# zXzYWu0@YHqfvu%^DO6b5>o0vWrfOHNXO^uI4a5NK$=e~sgx9tPw^W092cU10rYX)K zd~}=8IW5#SA9xF0t=z@%-c=(#=Q1bz-QpI-_%d9eMI&j7x@sMOtvn3YB|{I`zF~k5 zl)O%`sVZSSn>E&HaLyJKS3u3tsv_S`c7#f275w#WZ)N44Vs&X;Cn*@@F2{~!`m#_O zdLtFuS75s>9N-6r0=Ase1aq?``rwgnODkw3XSfh@h`#OMmZ~xEp?vsuQ7QbJg$sqwko zK35jL98NR1+b3Jf-FV@?N<)JF^ZhD)w*=R{}S45D|%V?`qdNT+5Djh1n zDD=IE>DG!<)Sg)Ge$UJ|P|J#8ygA#Z1mj)~bATNAlHa9H4|?T3UJ3FRdwq^A`+q;wbnT$kswWA|LKhTG_zt#R|wc=9Jg5wA440g zfb)^|xSfzuG5#fZ`hGZ$5w6EML@uAy`M*rG^o3$eu2tx0vVj z%oQ45QreY5kf{vT@?+F8m0T_cm+6|g@qRL63%P^*uGHjE6l*7DEZi12@v?HH++h(y z;7CVfnbieHV3mq~vqjzrOi&g7gZ*cLOWzMA3z`uT8vJ4uz1i~Y<8|4vOJq7ecC3fw zV`E)5Hk(W67SCr&rz_tCyyRkQ&cY&VPRXU(gG{~aiQkbDHFYvZqvovgDKm#;$l^)aZP*<1TIZ#M}7Q8P^cR~wO)K)4qCebtu zjQ+*8<;UMVbM7H5)NxOPyNdMY$Ql&g4p9I5$^OsQ;vWEoL!w{sGzF#Z%fVrY`vsp+ z&wb41JW`-i&VfId4syVT>?c6J$_ zAsNo8os<1PRCP~@`gK%YOF8=!5+VzOHdghl+_@*sG@VCCKfG;CX%>3qEV|t7ZDN` z7AUJpJd*tAogKEcgS6=q1ZbP4OlTV+4Rao444k_PI+mGGmwb2|Dr$&&5Bfe+Zx&2e zq@;9{H6$lCT3=%n(DHstXqyU?bY`vI#qtS$kf)E|&^m8v&^8H^Mhc1SuL(+GTj-I! z;?`zFJ5626#7YGW7V-#59SH-J]f5S4_XAF`Fn(I|#-&|PI<8lcHU%9|zu(FZ%v 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