Skip to content

Commit 65d6c34

Browse files
committed
add musolutio
1 parent f449b9e commit 65d6c34

File tree

78 files changed

+696
-641
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+696
-641
lines changed

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"python.linting.pylintEnabled": false
3+
}

README.md

Lines changed: 39 additions & 34 deletions
Large diffs are not rendered by default.

solutions/.gitkeep

Whitespace-only changes.

solutions/001.two-sum/db.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"java":"public class Solution {\r\n public int[] twoSum(int[] nums, int target) {\r\n HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();\r\n \tint[] result = new int[2];\r\n \r\n \tfor (int i = 0; i < nums.length; i++) {\r\n \t\tif (map.containsKey(nums[i])) {\r\n \t\t\tint index = map.get(nums[i]);\r\n \t\t\tresult[0] = index+1 ;\r\n \t\t\tresult[1] = i+1;\r\n \t\t\tbreak;\r\n \t\t} else {\r\n \t\t\tmap.put(target - nums[i], i);\r\n \t\t}\r\n \t}\r\n \r\n \treturn result; \r\n }\r\n}","ruby":"# @param {Integer[]} nums\r\n# @param {Integer} target\r\n# @return {Integer[]}\r\ndef two_sum(nums, target)\r\n ret = []\r\n hash = Hash.new\r\n nums.each_with_index do |val, idx|\r\n if hash.has_key?(val)\r\n ret[1] = idx+1\r\n ret[0] = hash[val]+1\r\n return ret\r\n else\r\n hash[target-val] = idx\r\n end\r\n end\r\nend","javascript":"/**\n * @param {number[]} nums\n * @param {number} target\n * @return {number[]}\n */\nvar twoSum = function(nums, target) {\n var ans = [];\n var hash = {};\n for (var i = 0; i < nums.length; i++) {\n if (typeof hash[nums[i]] !== \"undefined\") {\n ans[0] = hash[nums[i]];\n ans[1] = i;\n }\n else {\n hash[target - nums[i]] = i;\n }\n }\n return ans;\n};","python":"class Solution:\n def twoSum(self, nums, target):\n \"\"\"\n :type nums: List[int]\n :type target: int\n :rtype: List[int]\n \"\"\"\n num_hash = {}\n for i,num in enumerate(nums):\n if (target-num) in num_hash:\n return [num_hash[target-num], i]\n num_hash[num] = i\n "}

solutions/001.two-sum/two-sum.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
//let nums: number [] = [3,2,4];
2-
//let target: number = 7;
3-
var nums = [2, 7, 11, 15];
4-
var target = 18;
51
/**
62
* @param {number[]} nums
73
* @param {number} target
84
* @return {number[]}
95
*/
10-
var two_sum = function (nums, target) {
6+
var twoSum = function(nums, target) {
117
var ans = [];
128
var hash = {};
139
for (var i = 0; i < nums.length; i++) {
@@ -20,5 +16,4 @@ var two_sum = function (nums, target) {
2016
}
2117
}
2218
return ans;
23-
};
24-
console.log(two_sum(nums, target));
19+
};

solutions/001.two-sum/two-sum.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def twoSum(self, nums, target):
3+
"""
4+
:type nums: List[int]
5+
:type target: int
6+
:rtype: List[int]
7+
"""
8+
num_hash = {}
9+
for i,num in enumerate(nums):
10+
if (target-num) in num_hash:
11+
return [num_hash[target-num], i]
12+
num_hash[num] = i
13+

solutions/001.two-sum/two-sum.rb

100755100644
Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
1-
set = [2, 7, 11, 15]
2-
3-
# @param {Integer[]} nums
4-
# @param {Integer} target
5-
# @return {Integer[]}
6-
def two_sum(nums, target)
7-
ret = []
8-
hash = Hash.new
9-
nums.each_with_index do |val, idx|
10-
if hash.has_key?(val)
11-
ret[1] = idx+1
12-
ret[0] = hash[val]+1
13-
return ret
14-
else
15-
hash[target-val] = idx
16-
end
17-
end
18-
end
19-
20-
ret = two_sum(set, 18)
21-
print ret
1+
# @param {Integer[]} nums
2+
# @param {Integer} target
3+
# @return {Integer[]}
4+
def two_sum(nums, target)
5+
ret = []
6+
hash = Hash.new
7+
nums.each_with_index do |val, idx|
8+
if hash.has_key?(val)
9+
ret[1] = idx+1
10+
ret[0] = hash[val]+1
11+
return ret
12+
else
13+
hash[target-val] = idx
14+
end
15+
end
16+
end

solutions/001.two-sum/two-sum.ts

Lines changed: 0 additions & 27 deletions
This file was deleted.

solutions/002.add-two-numbers/add-two-numbers.rb

100755100644
Lines changed: 56 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,132 +1,56 @@
1-
# Definition for singly-linked list.
2-
# class ListNode
3-
# attr_accessor :val, :next
4-
# def initialize(val)
5-
# @val = val
6-
# @next = nil
7-
# end
8-
# end
9-
class ListNode
10-
attr_accessor :val, :next
11-
def initialize(val)
12-
@val = val
13-
@next = nil
14-
end
15-
end
16-
17-
class LinkedList
18-
def initialize(val)
19-
@head = ListNode.new(val)
20-
end
21-
22-
def add(val)
23-
24-
current = @head
25-
26-
while current.next != nil
27-
current = current.next
28-
end
29-
@node = ListNode.new(val)
30-
current.next = @node
31-
end
32-
33-
def travel
34-
current = @head
35-
while current.next != nil
36-
puts current.val
37-
current = current.next
38-
end
39-
puts current.val
40-
end
41-
end
42-
43-
def travel(head)
44-
if head.nil?
45-
puts 'nil'
46-
return head
47-
end
48-
current = head
49-
if head != nil
50-
print "#{current.val} -> "
51-
end
52-
while current.next != nil
53-
current = current.next
54-
print "#{current.val} -> "
55-
end
56-
57-
puts "nil"
58-
end
59-
60-
# @param {ListNode} l1
61-
# @param {ListNode} l2
62-
# @return {ListNode}
63-
def add_two_numbers(l1, l2)
64-
c1=l1
65-
c2=l2
66-
tmp=nil
67-
c3=nil
68-
carry=0
69-
i=0
70-
71-
return c1 if c2.nil?
72-
return c2 if c1.nil?
73-
74-
while !c1.nil? || !c2.nil?
75-
76-
if !c1.nil?
77-
carry+=c1.val
78-
c1=c1.next
79-
end
80-
81-
if !c2.nil?
82-
carry+=c2.val
83-
c2=c2.next
84-
end
85-
86-
if tmp.nil?
87-
tmp = ListNode.new(carry%10)
88-
tmp.next=nil
89-
c3=tmp
90-
else
91-
tmp.next = ListNode.new(carry%10)
92-
tmp=tmp.next
93-
tmp.next=nil
94-
95-
end
96-
carry /= 10
97-
end
98-
99-
if carry != 0
100-
tmp.next = ListNode.new(carry%10)
101-
tmp=tmp.next
102-
tmp.next=nil
103-
end
104-
105-
return c3
106-
end
107-
108-
109-
n11 = ListNode.new(0)
110-
n12 = ListNode.new(2)
111-
n11.next=n12
112-
n13 = ListNode.new(3)
113-
n12.next=n13
114-
n14 = ListNode.new(5)
115-
n13.next=n14
116-
117-
travel(n11)
118-
119-
120-
n21 = ListNode.new(3)
121-
n22 = ListNode.new(0)
122-
n21.next=n22
123-
n23 = ListNode.new(8)
124-
n22.next=n23
125-
#n24 = ListNode.new(5)
126-
#n23.next=n24
127-
128-
travel(n21)
129-
130-
n = add_two_numbers(nil,nil)
131-
travel(n)
132-
1+
# Definition for singly-linked list.
2+
# class ListNode
3+
# attr_accessor :val, :next
4+
# def initialize(val)
5+
# @val = val
6+
# @next = nil
7+
# end
8+
# end
9+
10+
# @param {ListNode} l1
11+
# @param {ListNode} l2
12+
# @return {ListNode}
13+
def add_two_numbers(l1, l2)
14+
c1=l1
15+
c2=l2
16+
tmp=nil
17+
c3=nil
18+
carry=0
19+
i=0
20+
21+
return c1 if c2.nil?
22+
return c2 if c1.nil?
23+
24+
while !c1.nil? || !c2.nil?
25+
26+
if !c1.nil?
27+
carry+=c1.val
28+
c1=c1.next
29+
end
30+
31+
if !c2.nil?
32+
carry+=c2.val
33+
c2=c2.next
34+
end
35+
36+
if tmp.nil?
37+
tmp = ListNode.new(carry%10)
38+
tmp.next=nil
39+
c3=tmp
40+
else
41+
tmp.next = ListNode.new(carry%10)
42+
tmp=tmp.next
43+
tmp.next=nil
44+
45+
end
46+
carry /= 10
47+
end
48+
49+
if carry != 0
50+
tmp.next = ListNode.new(carry%10)
51+
tmp=tmp.next
52+
tmp.next=nil
53+
end
54+
55+
return c3
56+
end

solutions/002.add-two-numbers/db.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"ruby":"# Definition for singly-linked list.\r\n# class ListNode\r\n# attr_accessor :val, :next\r\n# def initialize(val)\r\n# @val = val\r\n# @next = nil\r\n# end\r\n# end\r\n\r\n# @param {ListNode} l1\r\n# @param {ListNode} l2\r\n# @return {ListNode}\r\ndef add_two_numbers(l1, l2)\r\n c1=l1\r\n c2=l2\r\n tmp=nil\r\n c3=nil\r\n carry=0\r\n i=0\r\n\r\n return c1 if c2.nil?\r\n return c2 if c1.nil?\r\n\r\n while !c1.nil? || !c2.nil?\r\n\r\n if !c1.nil?\r\n carry+=c1.val\r\n c1=c1.next\r\n end\r\n\r\n if !c2.nil?\r\n carry+=c2.val\r\n c2=c2.next\r\n end\r\n\r\n if tmp.nil?\r\n tmp = ListNode.new(carry%10)\r\n tmp.next=nil\r\n c3=tmp\r\n else\r\n tmp.next = ListNode.new(carry%10)\r\n tmp=tmp.next\r\n tmp.next=nil\r\n\r\n end\r\n carry /= 10\r\n end\r\n\r\n if carry != 0\r\n tmp.next = ListNode.new(carry%10)\r\n tmp=tmp.next\r\n tmp.next=nil\r\n end\r\n\r\n return c3\r\nend","java":"/**\r\n * Definition for singly-linked list.\r\n * public class ListNode {\r\n * int val;\r\n * ListNode next;\r\n * ListNode(int x) { val = x; }\r\n * }\r\n */\r\npublic class Solution {\r\n public ListNode addTwoNumbers(ListNode l1, ListNode l2) {\r\n int carry =0;\r\n \r\n ListNode newHead = new ListNode(0);\r\n ListNode p1 = l1, p2 = l2, p3=newHead;\r\n \r\n while(p1 != null || p2 != null){\r\n if(p1 != null){\r\n carry += p1.val;\r\n p1 = p1.next;\r\n }\r\n \r\n if(p2 != null){\r\n carry += p2.val;\r\n p2 = p2.next;\r\n }\r\n \r\n p3.next = new ListNode(carry%10);\r\n p3 = p3.next;\r\n carry /= 10;\r\n }\r\n \r\n if(carry==1) \r\n p3.next=new ListNode(1);\r\n \r\n return newHead.next;\r\n }\r\n}"}

solutions/003.longest-substring-without-repeating-characters/Solution1.rb

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)