Skip to content

Instantly share code, notes, and snippets.

@Desolve
Desolve / 0001 Two Sum.java
Last active June 28, 2019 11:43
0001 Two Sum
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if(map.containsKey(complement)) {
return new int[] { map.get(complement), i};
}
map.put(nums[i], i);
}
@Desolve
Desolve / 0001 Two Sum.py
Last active June 28, 2019 11:43
0001 Two Sum
class Solution:
def twoSum(self, nums: 'List[int]', target: 'int') -> 'List[int]':
numMap = {}
for i in range(len(nums)):
if numMap.__contains__(target-nums[i]):
return [numMap.get(target-nums[i]), i]
else:
numMap[nums[i]] = i
@Desolve
Desolve / 0014 Longest Common Prefix.py
Last active June 28, 2019 11:42
0014 Longest Common Prefix
class Solution:
def longestCommonPrefix(self, strs: 'List[str]') -> 'str':
if not strs: return ""
s1 = min(strs)
s2 = max(strs)
for i, c in enumerate(s1):
if c != s2[i]:
return s1[:i]
return s1
@Desolve
Desolve / 0014 Longest Common Prefix.java
Created June 28, 2019 11:44
0014 Longest Common Prefix
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs == null || strs.length == 0) return "";
String pre = strs[0];
int i = 1;
while(i < strs.length){
while(strs[i].indexOf(pre) != 0)
pre = pre.substring(0, pre.length() - 1);
i++;
}
class Solution {
public List<List<Integer>> threeSum(int[] nums) {
Arrays.sort(nums);
List<List<Integer>> res = new LinkedList<>();
for (int i = 0; i < nums.length-2; i++) {
if (i == 0 || (i > 0 && nums[i] != nums[i - 1])) {
int j = i + 1, k = nums.length - 1, target = 0 - nums[i];
while (j < k) {
if (nums[j] + nums[k] == target) {
res.add(Arrays.asList(nums[i], nums[j], nums[k]));
@Desolve
Desolve / 0015 3Sum.py
Last active June 29, 2019 07:51
0015 3Sum
class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
if len(nums) < 3:
return []
nums.sort()
res = set()
@Desolve
Desolve / 0021 Merge Two Sorted Lists.java
Created June 30, 2019 16:25
0021 Merge Two Sorted Lists
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
@Desolve
Desolve / 0021 Merge Two Sorted Lists.py
Last active June 30, 2019 16:57
0021 Merge Two Sorted Lists
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
dum = ListNode(None)
prev = dum
@Desolve
Desolve / 0026 Remove Duplicates from Sorted Array.java
Created July 1, 2019 13:11
0026 Remove Duplicates from Sorted Array
class Solution {
public int removeDuplicates(int[] nums) {
if (nums.length <= 1) return nums.length;
int i = 0;
for (int j = 1; j < nums.length; j++) {
if (nums[j] != nums[i]) {
i++;
nums[i] = nums[j];
}
}
@Desolve
Desolve / 0026 Remove Duplicates from Sorted Array.py
Created July 1, 2019 13:11
0026 Remove Duplicates from Sorted Array
class Solution:
def removeDuplicates(self, nums):
if not nums: return 0
i, j = 0, 1
while j < len(nums):
if nums[i] != nums[j]:
i += 1
nums[i] = nums[j]
j += 1
return i + 1