Skip to content

Commit 8365abe

Browse files
Merge branch 'DaleStudy:main' into main
2 parents 5ba2a46 + 2d6fd6c commit 8365abe

30 files changed

+483
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
11
"""
22
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
33
"""
4+
5+
6+
class Solution:
7+
def maxProfit(self, prices: List[int]) -> int:
8+
max_profit = 0
9+
min_price = prices[0]
10+
11+
for price in prices:
12+
profit = price - min_price
13+
min_price = min(min_price, price)
14+
max_profit = max(profit, max_profit)
15+
16+
return max_profit
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution:
2+
def maxProfit(self, prices: List[int]) -> int:
3+
minPrice = prices[0]
4+
maxPro = 0
5+
6+
for i in range(1, len(prices)):
7+
maxPro = max(maxPro, prices[i] - minPrice)
8+
minPrice = min (minPrice, prices[i])
9+
10+
return maxPro
11+
## TC: O(n) SC: O(1)..?
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
3+
* TC : O(N)
4+
* SC : O(1)
5+
*/
6+
class Solution_0121 {
7+
public int maxProfit(int[] prices) {
8+
int hold = prices[0];
9+
int profit = 0;
10+
11+
for (int i = 1; i < prices.length; i++) {
12+
if (prices[i] < hold) {
13+
hold = prices[i];
14+
}
15+
16+
if (prices[i] - hold > profit) {
17+
profit = prices[i] - hold;
18+
}
19+
}
20+
return profit;
21+
}
22+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
defmodule Solution do
2+
@spec max_profit(prices :: [integer]) :: integer
3+
def max_profit([head | tail]) do
4+
{_, answer} = Enum.reduce(tail, {head, 0}, fn x, {buy, profit} ->
5+
{min(buy, x), max(profit, x - buy)}
6+
end)
7+
8+
answer
9+
end
10+
end
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
3+
"""
4+
# - time complexity : O(n)
5+
# - space complexity : O(n)
6+
7+
class Solution:
8+
def maxProfit(self, prices: List[int]) -> int:
9+
now = prices[0]
10+
diff = [0] * len(prices)
11+
12+
for i, v in enumerate(prices[1:]):
13+
if now > v:
14+
now = v
15+
else:
16+
diff[i+1] = v - now
17+
18+
return max(diff)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
2+
// Time Complexity : O(n)
3+
// Space Complexity : O(1)
4+
5+
class Solution {
6+
public:
7+
int maxProfit(vector<int>& prices) {
8+
int n = prices.size();
9+
int minimum = prices[0];
10+
int ans = 0;
11+
for(int i=1; i<n; i++) {
12+
ans = max(ans, prices[i] - minimum);
13+
minimum = min(minimum, prices[i]);
14+
}
15+
return ans;
16+
}
17+
};

contains-duplicate/Bumsu-Yi.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
11
"""
22
https://leetcode.com/problems/contains-duplicate/
33
"""
4+
5+
6+
class Solution:
7+
def containsDuplicate(self, nums: List[int]) -> bool:
8+
my_dict = {}
9+
10+
for num in nums:
11+
if num in my_dict:
12+
return True
13+
my_dict[num] = 0
14+
15+
return False

contains-duplicate/Leo.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def containsDuplicate(self, nums: List[int]) -> bool:
3+
return len(set(nums)) != len(nums)
4+
5+
# seen = set()
6+
7+
# for i in nums: ## O(n)
8+
# if i in seen: ## O(1)
9+
# return True
10+
# else:
11+
# seen.add(i)
12+
13+
# return False

contains-duplicate/bky373.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
4+
/**
5+
* https://leetcode.com/problems/contains-duplicate/
6+
* TC : O(N)
7+
* SC : O(N)
8+
*/
9+
class Solution_0217 {
10+
11+
public boolean containsDuplicate(int[] nums) {
12+
Map<Integer, Integer> map = new HashMap();
13+
for (int n : nums) {
14+
if (map.containsKey(n)) {
15+
return true;
16+
} else {
17+
map.put(n, 1);
18+
}
19+
}
20+
return false;
21+
}
22+
}

contains-duplicate/han.exs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
defmodule Solution do
2+
@spec contains_duplicate(nums :: [integer]) :: boolean
3+
def contains_duplicate(nums) do
4+
if nums |> Enum.into(MapSet.new) |> Enum.to_list |> length == length(nums) do
5+
false
6+
else
7+
true
8+
end
9+
end
10+
end

0 commit comments

Comments
 (0)