I started solving questions on leetcode since Aug, 2018 and only listed the problems I solved twice. More questions will be updated for sure and they can be found at my github repository
Algorithm-and-Leetcode
1.Two Sum
- 07 November 2018
10. Regular Expression Matching
- 07 November 2018
100. Same Tree
- 14 November 2018
101. Symmetric Tree
- 14 November 2018
102. Binary Tree Level Order Traversal
- 14 November 2018
103. Binary Tree Zigzag Level Order Traversal
- 15 November 2018
104. Maximum Depth of Binary Tree
- 15 November 2018
105. Construct Binary Tree from Preorder and Inorder Traversal
- 19 November 2018
106. Construct Binary Tree from Inorder and Postorder Traversal
- 16 November 2018
107. Binary Tree Level Order Traversal II
- 16 November 2018
108. Convert Sorted Array to Binary Search Tree
- 19 November 2018
109. Convert Sorted List to Binary Search Tree
- 16 November 2018
11. Container With Most Water
- 07 November 2018
110. Balanced Binary Tree
- 19 November 2018
111. Minimum Depth of Binary Tree
- 19 November 2018
112. Path Sum
- 20 November 2018
113. Path Sum II
- 20 November 2018
114. Flatten Binary Tree to Linked List
- 21 November 2018
115. Distinct Subsequences
- 21 November 2018
116. Populating Next Right Pointers in Each Node
- 21 November 2018
117. Populating Next Right Pointers in Each Node II
- 21 November 2018
118. Pascal's Triangle
- 21 November 2018
119. Pascal's Triangle II
- 22 November 2018
12. Integer to Roman
- 07 November 2018
120. Triangle
- 22 November 2018
121. Best Time to Buy and Sell Stock
- 23 November 2018
122. Best Time to Buy and Sell Stock II
- 23 November 2018
123. Best Time to Buy and Sell Stock III
- 25 November 2018
124. Binary Tree Maximum Path Sum
- 25 November 2018
125. Valid Palindrome
- 25 November 2018
126. Word Ladder II
- 19 March 2019
127. Word Ladder
- 28 November 2018
128. Longest Consecutive Sequence
- 28 November 2018
129. Sum Root to Leaf Numbers
- 28 November 2018
13. Roman to Integer
- 07 November 2018
130. Surrounded Regions
- 28 November 2018
131. Palindrome Partitioning
- 19 March 2019
132. Palindrome Partitioning II
- 01 December 2018
133. Clone Graph
- 01 December 2018
134. Gas Station
- 03 December 2018
136. Single Number
- 03 December 2018
137. Single Number II
- 03 December 2018
138. Copy List with Random Pointer
- 07 December 2018
139. Word Break
- 07 December 2018
14. Longest Common Prefix
- 07 November 2018
140. Word Break II
- 07 December 2018
141. Linked List Cycle
- 07 December 2018
142. Linked List Cycle II
- 07 December 2018
143. Reorder List
- 08 December 2018
144. Binary Tree Preorder Traversal
- 08 December 2018
145. Binary Tree Postorder Traversal
- 08 December 2018
146. LRU Cache
- 07 May 2019
147. Insertion Sort List
- 08 December 2018
148. Sort List
- 13 December 2018
149. Max Points on a Line
- 07 May 2019
15. 3Sum
- 07 November 2018
150. Evaluate Reverse Polish Notation
- 13 December 2018
151. Reverse Words in a String
- 14 December 2018
152. Maximum Product Subarray
- 16 December 2018
153. Find Minimum in Rotated Sorted Array
- 16 December 2018
154. Find Minimum in Rotated Sorted Array II
- 17 December 2018
155. Min Stack
- 17 December 2018
157. Read N Characters Given Read4
- 07 May 2019
158. Read N Characters Given Read4 II - Call multiple times
- 07 May 2019
16. 3Sum Closest
- 07 November 2018
160. Intersection of Two Linked Lists
- 17 December 2018
162. Find Peak Element
- 18 December 2018
164. Maximum Gap
- 18 December 2018
165. Compare Version Numbers
- 18 December 2018
166. Fraction to Recurring Decimal
- 20 December 2018
167. Two Sum II - Input array is sorted
- 18 December 2018
168. Excel Sheet Column Title
- 18 December 2018
169. Majority Element
- 21 December 2018
17. Letter Combinations of a Phone Number
- 07 November 2018
170. Two Sum III - Data structure design
- 07 May 2019
171. Excel Sheet Column Number
- 21 December 2018
172. Factorial Trailing Zeroes
- 21 December 2018
173. Binary Search Tree Iterator
- 21 December 2018
174. Dungeon Game
- 07 May 2019
175. Combine Two Tables
- 22 December 2018
176. Second Highest Salary
- 23 December 2018
177. Nth Highest Salary
- 22 December 2018
178. Rank Scores
- 22 December 2018
179. Largest Number
- 24 December 2018
18. 4Sum
- 07 November 2018
180. Consecutive Numbers
- 24 December 2018
181. Employees Earning More Than Their Managers
- 21 December 2018
182. Duplicate Emails
- 21 December 2018
183. Customers Who Never Order
- 21 December 2018
184. Department Highest Salary
- 21 December 2018
185. Department Top Three Salaries
- 21 December 2018
187. Repeated DNA Sequences
- 21 December 2018
189. Rotate Array
- 06 January 2018
19. Remove Nth Node From End of List
- 07 November 2018
190. Reverse Bits
- 06 January 2018
191. Number of 1 Bits
- 06 January 2018
198. House Robber
- 06 January 2018
199. Binary Tree Right Side View
- 06 January 2018
2. Add Two Numbers
- 07 November 2018
20. Valid Parentheses
- 07 November 2018
200. Number of Islands
- 06 January 2018
201. Bitwise AND of Numbers Range
- 07 January 2018
202. Happy Number
- 07 January 2018
203. Remove Linked List Elements
- 07 January 2019
204. Count Primes
- 08 January 2019
205. Isomorphic Strings
- 08 January 2019
206. Reverse Linked List
- 08 January 2019
207. Course Schedule
- 09 January 2019
208. Implement Trie (Prefix Tree)
- 10 January 2019
209. Minimum Size Subarray Sum
- 10 January 2019
21. Merge Two Sorted Lists
- 07 November 2018
210. Course Schedule II
- 10 January 2019
211. Add and Search Word - Data structure design
- 10 January 2019
212. Word Search II
- 10 January 2019
213. House Robber II
- 15 January 2019
214. Shortest Palindrome
- 15 January 2019
215. Kth Largest Element in an Array
- 15 January 2019
216. Combination Sum III
- 15 January 2019
217. Contains Duplicate
- 15 January 2019
219. 496. Next Greater Element I
- 08 May 2019
219. Contains Duplicate II
- 19 January 2019
22. Generate Parentheses
- 07 November 2018
220. Contains Duplicate III
- 21 January 2019
221. Maximal Square
- 22 January 2019
222. Count Complete Tree Nodes
- 22 January 2019
223. Rectangle Area
- 21 January 2019
224. Basic Calculator
- 02 February 2019
225. Implement Stack using Queues
- 02 February 2019
226. Invert Binary Tree
- 04 February 2019
227. Basic Calculator II
- 04 February 2019
228. Summary Ranges
- 04 February 2019
229. Majority Element II
- 09 February 2019
23. Merge k Sorted Lists
- 07 November 2018
230. Kth Smallest Element in a BST
- 09 February 2019
231. Power of Two
- 09 February 2019
232. Implement Queue using Stacks
- 10 February 2019
234. Palindrome Linked List
- 10 February 2019
235. Lowest Common Ancestor of a Binary Search Tree
- 10 February 2019
236. Lowest Common Ancestor of a Binary Tree
- 12 February 2019
237. Delete Node in a Linked List
- 12 February 2019
238. Product of Array Except Self
- 12 February 2019
239. Sliding Window Maximum
- 12 February 2019
24. Swap Nodes in Pairs
- 07 November 2018
240. Search a 2D Matrix II
- 12 February 2019
241. Different Ways to Add Parentheses
- 12 February 2019
242. Valid Anagram
- 16 February 2019
25. Reverse Nodes in k-Group
- 07 November 2018
250. Count Univalue Subtrees
- 10 May 2019
252. Meeting Rooms
- 07 May 2019
253. Meeting Rooms II
- 07 May 2019
257. Binary Tree Paths
- 17 February 2019
258. Add Digits
- 17 February 2019
26. Remove Duplicates from Sorted Array
- 07 November 2018
261. Graph Valid Tree
- 07 May 2019
263. Ugly Number
- 21 February 2019
264. Ugly Number II
- 21 February 2019
268. Missing Number
- 21 February 2019
269. Alien Dictionary
- 07 May 2019
27. Remove Element
- 07 November 2018
270. Closest Binary Search Tree Value
- 07 May 2019
273. Integer to English Words
- 07 May 2019
274. H-Index
- 22 February 2019
275. H-Index II
- 22 February 2019
276. Paint Fence
- 22 February 2019
277. Find the Celebrity
- 07 May 2019
278. First Bad Version
- 22 February 2019
279. Perfect Squares
- 24 February 2019
28. Implement strStr()
- 07 November 2018
280. Wiggle Sort
- 24 February 2019
282. Expression Add Operators
- 24 February 2019
283. Move Zeroes
- 24 February 2019
284. Peeking Iterator
- 24 February 2019
285. Inorder Successor in BST
- 08 May 2019
285. Inorder Successor in BST
- 08 May 2019
287. Find the Duplicate Number
- 24 February 2019
289. Game of Life
- 28 February 2019
29. Divide Two Integers
- 07 November 2018
290. Word Pattern
- 28 February 2019
292. Nim Game
- 28 February 2019
295.Find Median from Data Stream
- 28 February 2019
297. Serialize and Deserialize Binary Tree
- 01 March 2019
299. Bulls and Cows
- 01 March 2019
3. Longest Substring Without Repeating Characters
- 07 November 2018
30. Substring with Concatenation of All Words
- 07 November 2018
300. Longest Increasing Subsequence
- 01 March 2019
301. Remove Invalid Parentheses
- 03 March 2019
303. Range Sum Query - Immutable
- 03 March 2019
304. Range Sum Query 2D - Immutable
- 03 March 2019
305. Number Of Island II
- 03 March 2019
306. Additive Number
- 03 March 2019
307. Range Sum Query - Mutable
- 04 March 2019
309. Best Time to Buy and Sell Stock with Cooldown
- 04 March 2019
31. Next Permutation
- 07 November 2018
310. Minimum Height Trees
- 05 March 2019
312. Burst Balloons
- 06 March 2019
313. Super Ugly Number
- 06 March 2019
314. Binary Tree Vertical Order Traversal
- 08 May 2019
315. Count of Smaller Numbers After Self
- 06 March 2019
316. Remove Duplicate Letters
- 13 May 2019
318. Maximum Product of Word Lengths
- 08 May 2019
319. Bulb Switcher
- 08 May 2019
32. Longest Valid Parentheses
- 07 November 2018
322. Coin Change
- 08 May 2019
324. Wiggle Sort II
- 08 May 2019
325. Maximum Size Subarray Sum Equals k
- 08 May 2019
328. Odd Even Linked List
- 08 May 2019
329. Longest Increasing Path in a Matrix
- 08 May 2019
33. Search in Rotated Sorted Array
- 07 November 2018
331. Verify Preorder Serialization of a Binary Tree
- 08 May 2019
332. Reconstruct Itinerary
- 08 May 2019
334. Increasing Triplet Subsequence
- 08 May 2019
336. Palindrome Pairs
- 08 May 2019
337. House Robber III
- 08 May 2019
338. Counting Bits
- 08 May 2019
339. Nested List Weight Sum
- 08 May 2019
34. Find First and Last Position of Element in Sorted Array
- 07 November 2018
340. Longest Substring with At Most K Distinct Characters
- 09 May 2019
341. Flatten Nested List Iterator
- 08 May 2019
342. Power of Four
- 08 May 2019
343. Integer Break
- 08 May 2019
344. Reverse String
- 08 May 2019
345. Reverse Vowels of a String
- 08 May 2019
346. Moving Average from Data Stream
- 08 May 2019
347. Top K Frequent Elements
- 08 May 2019
348. Design Tic-Tac-Toe
- 08 May 2019
349. Intersection of Two Arrays
- 08 May 2019
35. Search Insert Position
- 07 November 2018
350. Intersection of Two Arrays II
- 08 May 2019
355. Design Twitter
- 08 May 2019
357. Count Numbers with Unique Digits
- 08 May 2019
36. Valid Sudoku
- 07 November 2018
360. Sort Transfromed Array
- 08 May 2019
362. Design Hit Counter
- 08 May 2019
364. Nested List Weight Sum II
- 08 May 2019
37. Sudoku Solver
- 07 November 2018
377. Combination Sum IV
- 08 May 2019
378. Kth Smallest Element in a Sorted Matrix
- 08 May 2019
38. Count and Say
- 07 November 2018
380. Insert Delete GetRandom O(1)
- 08 May 2019
382. Linked List Random Node
- 10 May 2019
382. Linked List Random Node
- 13 May 2019
387. First Unique Character in a String
- 08 May 2019
39. Combination Sum
- 07 November 2018
392. Is Subsequence
- 08 May 2019
393. UTF-8 Validation
- 08 May 2019
394. Decode String
- 08 May 2019
395. Longest Substring with At Least K Repeating Characters
- 08 May 2019
399. Evaluate Division
- 08 May 2019
4. Median of Two Sorted Arrays
- 07 November 2018
40. Combination Sum II
- 07 November 2018
41. First Missing Positive
- 07 November 2018
410. Split Array Largest Sum
- 08 May 2019
412. Fizz Buzz
- 08 May 2019
416. Partition Equal Subset Sum
- 08 May 2019
42. Trapping Rain Water
- 07 November 2018
426. Convert Binary Search Tree to Sorted Doubly Linked List
- 09 May 2019
427. Construct Quad Tree
- 10 May 2019
429. N-ary Tree Level Order Traversal
- 08 May 2019
43. Multiply Strings
- 07 November 2018
435. Non-overlapping Intervals
- 08 May 2019
437. Path Sum III
- 08 May 2019
438. Find All Anagrams in a String
- 08 May 2019
44. Wildcard Matching
- 07 November 2018
443. String Compression
- 08 May 2019
445. Add Two Numbers II
- 08 May 2019
448. Find All Numbers Disappeared in an Array
- 10 May 2019
449. Serialize and Deserialize BST
- 08 May 2019
45. Jump Game II
- 07 November 2018
450. Delete Node in a BST
- 08 May 2019
452. Minimum Number of Arrows to Burst Balloons
- 08 May 2019
458. Poor Pigs
- 10 May 2019
458. Poor Pigs
- 13 May 2019
46. Permutations
- 07 November 2018
460. LFU Cache
- 08 May 2019
468. Validate IP Address
- 08 May 2019
47. Permutations II
- 07 November 2018
48. Rotate Image
- 07 November 2018
489. Robot Room Cleaner
- 08 May 2019
49. Group Anagrams
- 07 November 2018
490. The Maze
- 08 May 2019
494. Target Sum
- 08 May 2019
5. Longest Palindromic Substring
- 07 November 2018
50. Pow(x, n)
- 07 November 2018
501. Find Mode in Binary Search Tree
- 08 May 2019
503. Next Greater Element II
- 08 May 2019
505. The Maze II
- 08 May 2019
508. Most Frequent Subtree Sum
- 08 May 2019
509. Fibonacci Number
- 09 May 2019
51. N-Queens
- 07 November 2018
518. Coin Change 2
- 10 May 2019
52. N-Queens II
- 07 November 2018
528. Random Pick with Weight
- 08 May 2019
529. Minesweeper
- 08 May 2019
53. Maximum Subarray
- 07 November 2018
530. Minimum Absolute Difference in BST
- 08 May 2019
535. Encode and Decode TinyURL
- 08 May 2019
54. Spiral Matrix
- 07 November 2018
542. 01 Matrix
- 19 March 2019
543. Diameter of Binary Tree
- 08 May 2019
546. Remove Boxes
- 23 March 2019
547. Friend Circles
- 08 May 2019
55. Jump Game
- 07 November 2018
56. Merge Intervals
- 07 November 2018
564. Find the Closest Palindrome
- 09 May 2019
57. Insert Interval
- 07 November 2018
572. Subtree of Another Tree
- 08 May 2019
576. Out of Boundary Paths
- 23 March 2019
58. Length of Last Word
- 07 November 2018
583. Delete Operation for Two Strings
- 08 May 2019
589. N-ary Tree Preorder Traversal
- 08 May 2019
59. Spiral Matrix II
- 07 November 2018
590. N-ary Tree Postorder Traversal
- 08 May 2019
6. ZigZag Conversion
- 07 November 2018
60. Permutation Sequence
- 07 November 2018
609. Find Duplicate File in System
- 08 May 2019
61. Rotate List
- 07 November 2018
617. Merge Two Binary Trees
- 08 May 2019
62. Unique Paths
- 07 November 2018
621. Task Scheduler
- 08 May 2019
63. Unique Paths II
- 07 November 2018
635. Design Log Storage System
- 13 May 2019
636. Exclusive Time of Functions
- 09 May 2019
637. Average of Levels in Binary Tree
- 08 May 2019
64. Minimum Path Sum
- 07 November 2018
642. Design Search Autocomplete System
- 08 May 2019
647. Palindromic Substrings
- 08 May 2019
648. Replace Words
- 07 March 2019
65. Valid Number
- 07 November 2018
653. Two Sum IV - Input is a BST
- 08 May 2019
654. Maximum Binary Tree
- 08 May 2019
66. Plus One
- 07 November 2018
664. Strange Printer
- 08 May 2019
668. Kth Smallest Number in Multiplication Table
- 08 May 2019
669. Trim a Binary Search Tree
- 08 May 2019
67. Add Binary
- 07 November 2018
673. Number of Longest Increasing Subsequence
- 08 May 2019
675. Cut Off Trees for Golf Event
- 19 March 2019
676. Implement Magic Dictionary
- 07 March 2019
677. Map Sum Pairs
- 07 March 2019
679. 24 Game
- 09 May 2019
68. Text Justification
- 08 May 2019
683. K Empty Slots
- 08 May 2019
684. Redundant Connection
- 08 May 2019
685. Redundant Connection II
- 08 May 2019
687. Longest Univalue Path
- 08 May 2019
688. Knight Probability in Chessboard
- 23 March 2019
69. Sqrt(x)
- 07 November 2018
692. Top K Frequent Words
- 08 May 2019
695. Max Area of Island
- 08 May 2019
698. Partition to K Equal Sum Subsets
- 19 March 2019
7. Reverse Integer
- 07 November 2018
70. Climbing Stairs
- 07 November 2018
700. Search in a Binary Search Tree
- 08 May 2019
701. Insert into a Binary Search Tree
- 08 May 2019
704. Binary Search
- 08 May 2019
706. Design HashMap
- 08 May 2019
707. Design Linked List
- 08 May 2019
71. Simplify Path
- 07 November 2018
710. Random Pick with Blacklist
- 08 May 2019
712. Minimum ASCII Delete Sum for Two Strings
- 08 May 2019
716. Max Stack
- 08 May 2019
717. 1-bit and 2-bit Characters
- 08 May 2019
719. Find K-th Smallest Pair Distance
- 08 May 2019
72. Edit Distance
- 07 November 2018
720. Longest Word in Dictionary
- 08 March 2019
721. Accounts Merge
- 08 May 2019
726. Number of Atoms
- 08 May 2019
729. My Calendar I
- 08 May 2019
73. Set Matrix Zeroes
- 07 November 2018
731. My Calendar II
- 08 May 2019
733. Flood Fill
- 08 May 2019
735. Asteroid Collision
- 08 May 2019
74. Search a 2D Matrix
- 07 November 2018
740. Delete and Earn
- 08 May 2019
741. Cherry Pickup
- 08 May 2019
743. Network Delay Time
- 08 May 2019
745. Prefix and Suffix Search
- 08 March 2019
746. Min Cost Climbing Stairs
- 08 May 2019
75. Sort Colors
- 07 November 2018
752. Open the Lock
- 19 March 2019
753. Cracking the Safe
- 09 May 2019
755. Pour Water
- 08 May 2019
759. Employee Free Time
- 08 May 2019
76. Minimum Window Substring
- 07 November 2018
763. Partition Labels
- 08 May 2019
77. Combinations
- 07 November 2018
771. Jewels and Stones
- 08 May 2019
772. Basic Calculator III
- 08 May 2019
773. Sliding Puzzle
- 09 May 2019
778. Swim in Rising Water
- 08 May 2019
78. Subsets
- 07 November 2018
784. Letter Case Permutation
- 11 March 2019
784. Letter Case Permutation
- 19 March 2019
785. Is Graph Bipartite?
- 08 May 2019
786. K-th Smallest Prime Fraction
- 08 May 2019
788. Rotated Digits
- 08 May 2019
79. Word Search
- 07 November 2018
790. Domino and Tromino Tiling
- 08 May 2019
792. Number of Matching Subsequences
- 08 May 2019
8. String to Integer (atoi)
- 07 November 2018
80. Remove Duplicates from Sorted Array II
- 07 November 2018
801. Minimum Swaps To Make Sequences Increasing
- 08 May 2019
802. Find Eventual Safe States
- 08 May 2019
81. Search in Rotated Sorted Array II
- 07 November 2018
811. Subdomain Visit Count
- 08 May 2019
813. Largest Sum of Averages
- 08 May 2019
814. Binary Tree Pruning
- 08 May 2019
815. Bus Routes
- 08 May 2019
818. Race Car
- 08 May 2019
819. Most Common Word
- 08 May 2019
82. Remove Duplicates from Sorted List II
- 07 November 2018
827. Making A Large Island
- 08 May 2019
83. Remove Duplicates from Sorted List
- 07 November 2018
833. Find And Replace in String
- 08 May 2019
836. Rectangle Overlap
- 08 May 2019
839. Similar String Groups
- 08 May 2019
84. Largest Rectangle in Histogram
- 07 November 2018
841. Keys and Rooms
- 08 May 2019
842. Split Array into Fibonacci Sequence
- 19 March 2019
843. Guess the Word
- 08 May 2019
844. Backspace String Compare
- 08 May 2019
847. Shortest Path Visiting All Nodes
- 08 May 2019
85. Maximal Rectangle
- 05 March 2019
850. Rectangle Area II
- 08 May 2019
852. Peak Index in a Mountain Array
- 08 May 2019
856. Score of Parentheses
- 08 May 2019
86. Partition List
- 07 November 2018
864. Shortest Path to Get All Keys
- 08 May 2019
872. Leaf-Similar Trees
- 08 May 2019
875. Koko Eating Bananas
- 08 May 2019
88. Merge Sorted Array
- 07 November 2018
886. Possible Bipartition
- 08 May 2019
89. Gray Code
- 13 November 2018
9. Palindrome Number
- 07 November 2018
90. Subsets II
- 13 November 2018
901. Online Stock Span
- 08 March 2019
904. Fruit Into Baskets
- 08 May 2019
907. Sum of Subarray Minimums
- 08 March 2019
91. Decode Ways
- 13 November 2018
92. Reverse Linked List II
- 13 November 2018
923. 3Sum With Multiplicity
- 08 May 2019
924. Minimize Malware Spread
- 08 May 2019
929. Unique Email Addresses
- 08 May 2019
93. Restore IP Addresses
- 19 March 2019
931. Minimum Falling Path Sum
- 23 March 2019
933. Number of Recent Calls
- 08 May 2019
934. Shortest Bridge
- 19 March 2019
935. Knight Dialer
- 23 March 2019
937. Reorder Log Files
- 08 May 2019
939. Minimum Area Rectangle
- 08 May 2019
94. Binary Tree Inorder Traversal
- 13 November 2018
943. Find the Shortest Superstring
- 11 March 2019
947. Most Stones Removed with Same Row or Column
- 08 May 2019
95. Unique Binary Search Trees II
- 13 November 2018
952. Largest Component Size by Common Factor
- 08 May 2019
957. Prison Cells After N Days
- 08 May 2019
959. Regions Cut By Slashes
- 08 May 2019
96. Unique Binary Search Trees
- 14 November 2018
965. Univalued Binary Tree
- 08 May 2019
968. Binary Tree Cameras
- 08 May 2019
97. Interleaving String
- 05 March 2019
973. K Closest Points to Origin
- 08 May 2019
975. Odd Even Jump
- 08 May 2019
977. Squares of a Sorted Array
- 08 May 2019
979. Distribute Coins in Binary Tree
- 08 May 2019
98. Validate Binary Search Tree
- 14 November 2018
980. Unique Paths III
- 23 March 2019
981. Time Based Key-Value Store
- 08 May 2019
986. Interval List Intersections
- 08 May 2019
987. Vertical Order Traversal of a Binary Tree
- 08 May 2019
990. Satisfiability of Equality Equations
- 08 May 2019
996. Number of Squareful Arrays
- 23 March 2019