{"id":34343681,"url":"https://github.com/grace0927/javapractice","last_synced_at":"2026-03-11T22:01:42.299Z","repository":{"id":21158665,"uuid":"24461408","full_name":"grace0927/JavaPractice","owner":"grace0927","description":"Java Practice","archived":false,"fork":false,"pushed_at":"2018-03-13T21:42:08.000Z","size":1129,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-21T07:52:28.290Z","etag":null,"topics":["java","leetcode"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grace0927.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-25T14:29:30.000Z","updated_at":"2018-03-13T21:42:09.000Z","dependencies_parsed_at":"2022-07-29T18:39:58.707Z","dependency_job_id":null,"html_url":"https://github.com/grace0927/JavaPractice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grace0927/JavaPractice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grace0927%2FJavaPractice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grace0927%2FJavaPractice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grace0927%2FJavaPractice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grace0927%2FJavaPractice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grace0927","download_url":"https://codeload.github.com/grace0927/JavaPractice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grace0927%2FJavaPractice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30404074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T21:51:19.558Z","status":"ssl_error","status_checked_at":"2026-03-11T21:50:57.892Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","leetcode"],"created_at":"2025-12-17T23:15:18.102Z","updated_at":"2026-03-11T22:01:42.294Z","avatar_url":"https://github.com/grace0927.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaPractice\n\n## Algorithm\npractice algorithm implementation. algorithms are from:\n1. famous algorithm\n2. introduction to algorithm\n3. geeksforgeeks\n4. articles\n\n## Backtracking\nspecial practice for backtracking algorithm\n\n## Basic\nJAVA basic concept understanding.\n\n## cc150\nCracking Code Interview Problems\n\n## Database\nJAVA Database Manager and Connection\n\n## Design Patterns\nDesign pattern for JAVA. Original ideas are from:\n1. GoF Design Pattern: Elements of Reusable Object-Oriented Software\n2. Head First Design Pattern\n3. ISBN: 9787302162063\n\nDetails:\n- Factory\n- Strategy\n\n## leetcode\nLeetcode Algorithm problems\n\n##### [Array](https://github.com/grace0927/JavaPractice/wiki/Array)\n1. First Missing Positive\n2. Rotate Image\n3. Spiral Matrix\n4. Next Permutation\n5. Spiral Matrix II\n6. Merge Intervals\n7. Insert Interval\n8. Maximum Subarray\n9. Plus One\n10. Set Matrix Zeroes\n11. Pascal's Triangle\n12. Pascal's Triangle II\n13. Majority Element\n14. Rotate Array\n15. Summary Ranges\n16. Product of Array Except Self\n17. Missing Number\n18. Game of Life\n19. Increasing Triplet Subsequence\n20. Majority Element II\n\n##### [Backtracking](https://github.com/grace0927/JavaPractice/wiki/Backtracking)\n1. Letter Combinations of a Phone Number\n2. Generate Parentheses\n3. Sudoku Solver\n4. Combination Sum\n5. Combination Sum II\n6. Permutations\n7. Permutations II\n8. N-Queens, N-Queens II\n9. Combinations\n10. Subsets\n11. Word Search\n12. Gray Code\n13. Subsets II\n14. Restore IP Addresses\n15. Palindrome Partitioning\n16. Add and Search Word - Data structure design\n17. Combination Sum III\n18. Additive Number\n19. Regular Expression Matching\n20. Word Break II\n\n##### [Binary Search](https://github.com/grace0927/JavaPractice/wiki/Binary-Search)\n1. Divide Two Integers\n2. Search for a Range\n3. Search Insert Position\n4. Search in Rotated Sorted Array\n5. Pow(x, n)\n6. Sqrt(x)\n7. Search a 2D Matrix\n8. Search in Rotated Sorted Array II\n9. Find Minimum in Rotated Sorted Array\n10. Find Minimum in Rotated Sorted Array II\n11. Search a 2D Matrix II\n12. First Bad Version\n13. H-Index II\n14. Find Peak Element\n\n##### [Bit Manipulation](https://github.com/grace0927/JavaPractice/wiki/Bit-Manipulation)\n1. Single Number\n2. Single Number II\n3. Reverse Bits\n4. Number of 1 Bits\n5. Bitwise AND of Numbers Range\n6. Power of Two\n7. Single Number III\n8. Maximum Product of Word Lengths\n\n##### [BFS](https://github.com/grace0927/JavaPractice/wiki/BFS)\n1. Binary Tree Level Order Traversal\n2. Binary Tree Zigzag Level Order Traversal\n3. Maximum Depth of Binary Tree\n4. Binary Tree Level Order Traversal II\n5. Word Ladder\n6. Sum Root to Leaf Numbers\n7. Surrounded Regions\n8. Clone Graph\n9. Binary Tree Right Side View\n10. Perfect Squares\n11. Minimum Height Trees\n12. Word Ladder II\n13. Remove Invalid Parentheses\n\n##### [DFS](https://github.com/grace0927/JavaPractice/wiki/DFS)\n1. Same Tree\n2. Validate Binary Search Tree\n3. Symmetric Tree\n4. Construct Binary Tree from Preorder and Inorder Traversal\n5. Construct Binary Tree from Inorder and Postorder Traversal\n6. Convert Sorted Array to Binary Search Tree\n7. Balanced Binary Tree\n8. Convert Sorted List to Binary Search Tree\n9. Minimum Depth of Binary Tree\n10. Path Sum\n11. Path Sum II\n12. Flatten Binary Tree to Linked List\n13. Recover Binary Search Tree\n14. Populating Next Right Pointers in Each Node\n15. Populating Next Right Pointers in Each Node II\n16. Number of Islands\n17. Course Schedule\n18. Binary Tree Paths\n19. Longest Increasing Path in a Matrix\n20. House Robber III\n21. Binary Tree Maximum Path Sum\n\n##### [Divide and Conquer](https://github.com/grace0927/JavaPractice/wiki/Divide-and-Conquer)\n1. Median of Two Sorted Arrays\n2. Merge k Sorted Lists\n3. Different Ways to Add Parentheses\n4. Burst Balloons\n\n##### [Dynamic Programming](https://github.com/grace0927/JavaPractice/wiki/Dynamic-Programming)\n1. Longest Valid Parentheses\n2. Unique Paths\n3. Unique Paths II\n4. Minimum Path Sum\n5. Climbing Stairs\n6. Edit Distance\n7. Unique Binary Search Trees\n8. Unique Binary Search Trees II\n9. Decode Ways\n10. Triangle\n11. Best Time to Buy and Sell Stock\n12. Word Break\n13. House Robber\n14. Counting Bits\n15. House Robber II\n16. Range Sum Query - Immutable\n17. Longest Increasing Subsequence\n18. Range Sum Query 2D - Immutable\n19. Coin Change\n20. Maximal Square\n21. Maximum Product Subarray\n22. Best Time to Buy and Sell Stock with Cooldown\n23. Counting Bits\n24. Wildcard Matching\n25. Distinct Subsequences\n26. Interleaving String\n27. Scramble String\n28. Dungeon Game\n29. Best Time to Buy and Sell Stock III\n\n##### [Graph](https://github.com/grace0927/JavaPractice/wiki/Graph)\n1. Course Schedule II\n2. Reconstruct Itinerary\n\n##### [Greedy](https://github.com/grace0927/JavaPractice/wiki/Greedy)\n1. Jump Game\n2. Jump Game II\n3. Best Time to Buy and Sell Stock II\n4. Candy\n5. Gas Station\n6. Patching Array\n7. Remove Duplicate Letters\n\n##### [Hash Table](https://github.com/grace0927/JavaPractice/wiki/Hash-Table)\n1. Two Sum   \n2. Longest Substring Without Repeating Characters   \n3. Valid Sudoku   \n4. Group Anagrams  \n5. Substring with Concatenation of All Words\n6. Copy List with Random Pointer\n7. LRU Cache\n8. Max Points on a Line\n9. Fraction to Recurring Decimal\n10. Isomorphic Strings\n11. Count Primes\n12. Happy Number\n13. Repeated DNA Sequences\n14. Contains Duplicate\n15. Contains Duplicate II\n16. Contains Duplicate III\n17. Valid Anagram\n18. H-Index\n19. Word Pattern\n20. Bulls and Cows\n21. Longest Consecutive Sequence\n\n##### [Heap](https://github.com/grace0927/JavaPractice/wiki/Heap)\n1. Sliding Window Maximum\n2. Kth Largest Element in an Array\n3. Find Median from Data Stream\n\n##### [Linked List](https://github.com/grace0927/JavaPractice/wiki/Linked-List)\n1. Add Two Numbers   \n2. Merge Two Sorted Lists   \n3. Swap Nodes in Pairs   \n4. Reverse Nodes in k-Group   \n5. Remove Duplicates from Sorted List II   \n6. Remove Duplicates from Sorted List\n7. Reverse Linked List II\n8. Reorder List\n9. Insertion Sort List\n10. Sort List\n11. Intersection of Two Linked Lists\n12. Remove Linked List Elements\n13. Reverse Linked List\n14. Delete Node in a Linked List\n\n##### [Math](https://github.com/grace0927/JavaPractice/wiki/Math)\n1. Reverse Integer\n2. Palindrome Number\n3. Integer to Roman\n4. Roman to Integer\n5. Permutation Sequence\n6. Excel Sheet Column Title\n7. Excel Sheet Column Number\n8. Factorial Trailing Zeroes\n9. Rectangle Area\n10. Basic Calculator\n11. Add Digits\n12. Ugly Number\n13. Ugly Number II\n14. Nim Game\n15. Super Ugly Number\n16. Bulb Switcher\n17. Power of Three\n18. Number of Digit One\n19. Self Crossing\n\n##### [Sort](https://github.com/grace0927/JavaPractice/wiki/Sort)\n1. Insertion Sort List\n2. Largest Number\n3. Wiggle Sort II\n4. Maximum Gap\n\n##### [Stack \u0026 Queue](https://github.com/grace0927/JavaPractice/wiki/Stack)\n1. Valid Parentheses\n2. Simplify Path\n3. Largest Rectangle in Histogram\n4. Evaluate Reverse Polish Notation\n5. Min Stack\n6. Binary Search Tree Iterator\n7. Implement Stack using Queues\n8. Implement Queue using Stacks\n9. Peeking Iterator\n10. Verify Preorder Serialization of a Binary Tree\n11. Maximal Rectangle\n12. Flatten Nested List Iterator\n\n##### [String](https://github.com/grace0927/JavaPractice/wiki/String)\n1. Longest Palindromic Substring   \n2. ZigZag Conversion   \n3. Longest Common Prefix   \n4. String to Integer (atoi)   \n5. Count and Say   \n6. Multiply Strings   \n7. Length of Last Word   \n8. Add Binary   \n9. Text Justification\n10. Reverse Words in a String\n11. Compare Version Numbers\n12. Basic Calculator II\n13. Integer to English Words\n\n##### [Tree](https://github.com/grace0927/JavaPractice/wiki/Tree)\n1. Binary Tree Inorder Traversal\n2. Binary Tree Preorder Traversal\n3. Binary Tree Postorder Traversal\n4. Count Complete Tree Nodes\n5. Invert Binary Tree\n6. Kth Smallest Element in a BST\n7. Lowest Common Ancestor of a Binary Search Tree\n8. Serialize and Deserialize Binary Tree\n9. Lowest Common Ancestor of a Binary Tree\n10. Count of Smaller Numbers After Self\n\n##### [Trie](https://github.com/grace0927/JavaPractice/wiki/Trie)\n1. Implement Trie (Prefix Tree)\n2. Word Search II\n\n##### [Two Pointer](https://github.com/grace0927/JavaPractice/wiki/Two-Pointer)\n1. Container With Most Water   \n2. 3Sum   \n3. 3Sum Closest   \n4. 4Sum   \n5. Remove Nth Node From End of List   \n6. Remove Duplicates from Sorted Array   \n7. Remove Element   \n8. Implement strStr()   \n9. Trapping Rain Water   \n10. Rotate List   \n11. Sort Colors   \n12. Remove Duplicates from Sorted Array II   \n13. Partition List   \n14. Merge Sorted Array\n15. Valid Palindrome\n16. Linked List Cycle\n17. Linked List Cycle II\n18. Minimum Size Subarray Sum\n19. Palindrome Linked List\n20. Move Zeroes\n21. Find the Duplicate Number\n22. Odd Even Linked List\n23. Minimum Window Substring\n\n## lintcode\nLintcode Algorithm problems\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrace0927%2Fjavapractice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrace0927%2Fjavapractice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrace0927%2Fjavapractice/lists"}