LeetCode practice notes for problems 600 through 699, including A clear digit dynamic programming solution for counting numbers whose binary representation does not contain consecutive ones.
| # | Title | Difficulty | Description |
|---|---|---|---|
| 600 | LeetCode 600: Non-negative Integers without Consecutive Ones | Hard | A clear digit dynamic programming solution for counting numbers whose binary representation does not contain consecutive ones. |
| 601 | LeetCode 601: Human Traffic of Stadium | Hard | A SQL guide for finding stadium records that belong to runs of at least three consecutive ids where each row has at least 100 people. |
| 602 | LeetCode 602: Friend Requests II: Who Has the Most Friends | Medium | A SQL guide for counting friendships from both requester and accepter sides, then returning the user with the most friends. |
| 603 | LeetCode 603: Consecutive Available Seats | Easy | A SQL guide for finding all cinema seats that are free and adjacent to at least one other free seat. |
| 604 | LeetCode 604: Design Compressed String Iterator | Easy | A guide to implementing a lazy iterator over a run-length encoded string without fully decompressing it. |
| 605 | LeetCode 605: Can Place Flowers | Easy | A greedy guide for determining whether a given number of flowers can be planted without violating the no-adjacent-flowers rule. |
| 606 | LeetCode 606: Construct String from Binary Tree | Easy | A recursive guide for converting a binary tree into a preorder parenthesized string while preserving the one-to-one mapping between the tree and the string. |
| 607 | LeetCode 607: Sales Person | Easy | A SQL guide for finding salespeople who never had an order related to the company named RED. |
| 608 | LeetCode 608: Tree Node | Medium | A SQL guide for classifying binary tree nodes as Root, Inner, or Leaf based on parent-child relationships. |
| 609 | LeetCode 609: Find Duplicate File in System | Medium | A hash map guide for grouping file paths by identical file content and returning only duplicate groups. |
| 610 | LeetCode 610: Triangle Judgement | Easy | A SQL guide for checking whether three side lengths can form a valid triangle using the triangle inequality. |
| 611 | LeetCode 611: Valid Triangle Number | Medium | A two-pointer guide for counting triplets that can form valid triangles after sorting the side lengths. |
| 612 | LeetCode 612: Shortest Distance in a Plane | Medium | A SQL guide for finding the minimum Euclidean distance between any two points in a 2D plane. |
| 613 | LeetCode 613: Shortest Distance in a Line | Easy | A SQL guide for finding the minimum distance between any two unique points on the X-axis. |
| 614 | LeetCode 614: Second Degree Follower | Medium | A SQL guide for finding users who both follow someone and have followers, then counting how many followers they have. |
| 615 | LeetCode 615: Average Salary: Departments VS Company | Hard | A SQL guide for comparing each department’s monthly average salary against the company’s monthly average salary. |
| 616 | LeetCode 616: Add Bold Tag in String | Medium | A string-marking guide for adding bold tags around all matched words while merging overlapping and adjacent bold regions. |
| 617 | LeetCode 617: Merge Two Binary Trees | Easy | A recursive tree traversal guide for merging two binary trees node by node. |
| 618 | LeetCode 618: Students Report By Geography | Hard | A SQL guide for pivoting rows into columns using ranking and conditional aggregation. |
| 619 | LeetCode 619: Biggest Single Number | Easy | A SQL guide for finding the largest number that appears exactly once in a table. |
| 620 | LeetCode 620: Not Boring Movies | Easy | A SQL guide for filtering movies with odd IDs and non-boring descriptions, then sorting by rating. |
| 621 | LeetCode 621: Task Scheduler | Medium | A clear explanation of Task Scheduler using frequency counting and the greedy block formula. |
| 622 | LeetCode 622: Design Circular Queue | Medium | A clear explanation of Design Circular Queue using a fixed array, a front pointer, and a size counter. |
| 623 | LeetCode 623: Add One Row to Tree | Medium | A clear explanation of Add One Row to Tree using tree traversal and careful subtree reconnection. |
| 624 | LeetCode 624: Maximum Distance in Arrays | Medium | A clear explanation of Maximum Distance in Arrays using sorted endpoints and a greedy scan. |
| 625 | LeetCode 625: Minimum Factorization | Medium | A clear explanation of Minimum Factorization using greedy digit factors from 9 down to 2. |
| 626 | LeetCode 626: Exchange Seats | Medium | A SQL solution for swapping every pair of adjacent student seats while leaving the final seat unchanged when the row count is odd. |
| 627 | LeetCode 627: Swap Salary | Easy | A SQL update solution for swapping all m and f values in the Salary table using a single statement. |
| 628 | LeetCode 628: Maximum Product of Three Numbers | Easy | A clear explanation of finding the largest product of three numbers using sorting or constant-space tracking. |
| 629 | LeetCode 629: K Inverse Pairs Array | Hard | A dynamic programming solution for counting permutations of 1 to n with exactly k inverse pairs. |
| 630 | LeetCode 630: Course Schedule III | Hard | A greedy heap solution for taking the maximum number of courses before their deadlines. |
| 631 | LeetCode 631: Design Excel Sum Formula | Hard | A design solution for a small Excel-like spreadsheet that supports set, get, and dynamic sum formulas. |
| 632 | LeetCode 632: Smallest Range Covering Elements from K Lists | Hard | A heap-based solution for finding the smallest range that contains at least one number from each sorted list. |
| 633 | LeetCode 633: Sum of Square Numbers | Medium | A two-pointer and number theory solution for checking whether an integer can be written as the sum of two square numbers. |
| 634 | LeetCode 634: Find the Derangement of An Array | Medium | A dynamic programming and combinatorics solution for counting permutations with no fixed positions. |
| 635 | LeetCode 635: Design Log Storage System | Medium | A design solution for storing timestamped logs and retrieving IDs by inclusive time range at a chosen granularity. |
| 636 | LeetCode 636: Exclusive Time of Functions | Medium | A stack-based solution for computing exclusive execution time from nested start and end logs. |
| 637 | LeetCode 637: Average of Levels in Binary Tree | Easy | A breadth-first search solution for computing the average value of nodes at each level of a binary tree. |
| 638 | LeetCode 638: Shopping Offers | Medium | A DFS and memoization solution for finding the minimum cost to satisfy item needs using individual prices and reusable special offers. |
| 639 | LeetCode 639: Decode Ways II | Hard | A dynamic programming solution for counting decodings of a digit string with wildcard characters. |
| 640 | LeetCode 640: Solve the Equation | Medium | A string parsing solution for reducing a linear equation into coefficient and constant terms. |
| 641 | LeetCode 641: Design Circular Deque | Medium | An array-based circular buffer solution for implementing a fixed-size double-ended queue. |
| 642 | LeetCode 642: Design Search Autocomplete System | Hard | A trie-based design for returning the top three historical sentences for a typed prefix. |
| 643 | LeetCode 643: Maximum Average Subarray I | Easy | A sliding window solution for finding the maximum average among all contiguous subarrays of fixed length k. |
| 644 | LeetCode 644: Maximum Average Subarray II | Hard | A binary search solution for finding the maximum average of any contiguous subarray with length at least k. |
| 645 | LeetCode 645: Set Mismatch | Easy | A counting and math solution for finding the duplicated number and the missing number in a corrupted set. |
| 646 | LeetCode 646: Maximum Length of Pair Chain | Medium | A greedy interval scheduling solution for finding the longest chain of valid pairs. |
| 647 | LeetCode 647: Palindromic Substrings | Medium | A center expansion solution for counting every palindromic substring in a string. |
| 648 | LeetCode 648: Replace Words | Medium | A trie-based solution for replacing each derivative word with the shortest matching root. |
| 649 | LeetCode 649: Dota2 Senate | Medium | A queue-based simulation for predicting which party wins after senators ban opponents in turn order. |
| 650 | LeetCode 650: 2 Keys Keyboard | Medium | A dynamic programming and prime factorization solution for finding the minimum operations needed to produce n characters. |
| 651 | LeetCode 651: 4 Keys Keyboard | Medium | A dynamic programming solution for maximizing the number of A characters printed with a limited number of keyboard operations. |
| 652 | LeetCode 652: Find Duplicate Subtrees | Medium | A clear explanation of finding duplicate binary tree subtrees using postorder traversal, serialization, and a hash map. |
| 653 | LeetCode 653: Two Sum IV - Input is a BST | Easy | A clear explanation of finding whether two different nodes in a binary search tree sum to a target value. |
| 654 | LeetCode 654: Maximum Binary Tree | Medium | A clear explanation of constructing a maximum binary tree recursively using divide and conquer. |
| 655 | LeetCode 655: Print Binary Tree | Medium | A clear explanation of formatting a binary tree into a 2D string matrix using tree height and recursive placement. |
| 656 | LeetCode 656: Coin Path | Hard | A clear explanation of finding the minimum-cost path with bounded jumps, blocked cells, and lexicographic tie-breaking. |
| 657 | LeetCode 657: Robot Return to Origin | Easy | A clear explanation of determining whether a robot returns to the origin after executing movement instructions. |
| 658 | LeetCode 658: Find K Closest Elements | Medium | A clear explanation of finding the k closest elements to a target using binary search and a sliding window. |
| 659 | LeetCode 659: Split Array into Consecutive Subsequences | Medium | A clear explanation of deciding whether a sorted array can be split into consecutive subsequences of length at least three. |
| 660 | LeetCode 660: Remove 9 | Hard | A clear explanation of finding the nth positive integer that does not contain the digit 9 using base-9 conversion. |
| 661 | LeetCode 661: Image Smoother | Easy | A clear explanation of averaging neighboring pixels in a matrix using direct simulation. |
| 662 | LeetCode 662: Maximum Width of Binary Tree | Medium | A clear explanation of computing the maximum width of a binary tree using level-order traversal and complete-tree indices. |
| 663 | LeetCode 663: Equal Tree Partition | Medium | A clear explanation of checking whether a binary tree can be split into two equal-sum trees by removing one edge. |
| 664 | LeetCode 664: Strange Printer | Hard | A clear explanation of minimizing printer turns using interval dynamic programming. |
| 665 | LeetCode 665: Non-decreasing Array | Medium | A clear explanation of checking whether an array can become non-decreasing by modifying at most one element. |
| 666 | LeetCode 666: Path Sum IV | Medium | A clear explanation of computing all root-to-leaf path sums from a compact three-digit binary tree encoding. |
| 667 | LeetCode 667: Beautiful Arrangement II | Medium | A clear explanation of constructing an array with exactly k distinct adjacent differences using a greedy pattern. |
| 668 | LeetCode 668: Kth Smallest Number in Multiplication Table | Hard | A clear explanation of finding the kth smallest value in an m by n multiplication table using binary search on answer. |
| 669 | LeetCode 669: Trim a Binary Search Tree | Medium | A clear explanation of trimming a BST so that all remaining node values lie inside a given inclusive range. |
| 670 | LeetCode 670: Maximum Swap | Medium | A clear explanation of maximizing an integer by swapping at most two digits once. |
| 671 | LeetCode 671: Second Minimum Node In a Binary Tree | Easy | A clear explanation of finding the second minimum value in a special binary tree using DFS. |
| 672 | LeetCode 672: Bulb Switcher II | Medium | A clear explanation of counting possible bulb states after pressing four toggle buttons exactly presses times. |
| 673 | LeetCode 673: Number of Longest Increasing Subsequence | Medium | A clear explanation of counting how many longest strictly increasing subsequences exist using dynamic programming. |
| 674 | LeetCode 674: Longest Continuous Increasing Subsequence | Easy | A clear explanation of finding the longest strictly increasing contiguous subarray using a single scan. |
| 675 | LeetCode 675: Cut Off Trees for Golf Event | Hard | A clear explanation of cutting trees in increasing height order using repeated BFS on a grid. |
| 676 | LeetCode 676: Implement Magic Dictionary | Medium | Design a dictionary that can check whether a word can match a stored word after changing exactly one character. |
| 677 | LeetCode 677: Map Sum Pairs | Medium | Design a map that supports key-value insertion and prefix-sum queries using a hash map and trie. |
| 678 | LeetCode 678: Valid Parenthesis String | Medium | Check whether a string containing parentheses and wildcard stars can be made valid using a greedy range of possible open counts. |
| 679 | LeetCode 679: 24 Game | Hard | Determine whether four numbers can be combined with arithmetic operations and parentheses to produce 24. |
| 680 | LeetCode 680: Valid Palindrome II | Easy | Check whether a string can become a palindrome after deleting at most one character using two pointers. |
| 681 | LeetCode 681: Next Closest Time | Medium | Find the next valid 24-hour time using only the digits from the current time. |
| 682 | LeetCode 682: Baseball Game | Easy | Simulate a baseball scoring system using a stack to process operations and compute the final score. |
| 683 | LeetCode 683: K Empty Slots | Hard | Find the earliest day when two turned-on bulbs have exactly k turned-off bulbs between them using a sliding window over bloom days. |
| 684 | LeetCode 684: Redundant Connection | Medium | Find the extra edge in an undirected graph that creates a cycle using Union-Find. |
| 685 | LeetCode 685: Redundant Connection II | Hard | Find the directed edge to remove so a graph becomes a rooted tree again, handling both cycles and nodes with two parents. |
| 686 | LeetCode 686: Repeated String Match | Medium | Find the minimum number of times one string must be repeated so another string becomes a substring. |
| 687 | LeetCode 687: Longest Univalue Path | Medium | Find the longest path in a binary tree where every node on the path has the same value using depth-first search. |
| 688 | LeetCode 688: Knight Probability in Chessboard | Medium | Compute the probability that a knight remains on an n x n chessboard after exactly k random moves using dynamic programming. |
| 689 | LeetCode 689: Maximum Sum of 3 Non-Overlapping Subarrays | Hard | Find three non-overlapping subarrays of length k with maximum total sum and return the lexicographically smallest starting indices. |
| 690 | LeetCode 690: Employee Importance | Medium | Compute the total importance of an employee and all direct and indirect subordinates using a hash map and depth-first search. |
| 691 | LeetCode 691: Stickers to Spell Word | Hard | Find the minimum number of stickers needed to form a target string using top-down dynamic programming with memoization. |
| 692 | LeetCode 692: Top K Frequent Words | Medium | Find the k most frequent words using frequency counting and custom sorting by count and lexicographical order. |
| 693 | LeetCode 693: Binary Number with Alternating Bits | Easy | Check whether every adjacent bit in a positive integer’s binary representation is different. |
| 694 | LeetCode 694: Number of Distinct Islands | Medium | Count unique island shapes in a binary grid using DFS and relative coordinates. |
| 695 | LeetCode 695: Max Area of Island | Medium | Find the largest connected island area in a binary grid using depth-first search. |
| 696 | LeetCode 696: Count Binary Substrings | Easy | Count substrings with equal consecutive groups of 0s and 1s using run lengths. |
| 697 | LeetCode 697: Degree of an Array | Easy | Find the shortest contiguous subarray with the same degree as the whole array using frequency counts and first occurrence indices. |
| 698 | LeetCode 698: Partition to K Equal Sum Subsets | Medium | Decide whether an array can be divided into k non-empty subsets with equal sums using backtracking and pruning. |
| 699 | LeetCode 699: Falling Squares | Hard | Simulate falling squares on a number line and track the maximum stack height after each placement. |
LeetCode 600: Non-negative Integers without Consecutive OnesA clear digit dynamic programming solution for counting numbers whose binary representation does not contain consecutive ones.
LeetCode 601: Human Traffic of StadiumA SQL guide for finding stadium records that belong to runs of at least three consecutive ids where each row has at least 100 people.
LeetCode 602: Friend Requests II: Who Has the Most FriendsA SQL guide for counting friendships from both requester and accepter sides, then returning the user with the most friends.
LeetCode 603: Consecutive Available SeatsA SQL guide for finding all cinema seats that are free and adjacent to at least one other free seat.
LeetCode 604: Design Compressed String IteratorA guide to implementing a lazy iterator over a run-length encoded string without fully decompressing it.
LeetCode 605: Can Place FlowersA greedy guide for determining whether a given number of flowers can be planted without violating the no-adjacent-flowers rule.
LeetCode 606: Construct String from Binary TreeA recursive guide for converting a binary tree into a preorder parenthesized string while preserving the one-to-one mapping between the tree and the string.
LeetCode 607: Sales PersonA SQL guide for finding salespeople who never had an order related to the company named RED.
LeetCode 608: Tree NodeA SQL guide for classifying binary tree nodes as Root, Inner, or Leaf based on parent-child relationships.
LeetCode 609: Find Duplicate File in SystemA hash map guide for grouping file paths by identical file content and returning only duplicate groups.
LeetCode 610: Triangle JudgementA SQL guide for checking whether three side lengths can form a valid triangle using the triangle inequality.
LeetCode 611: Valid Triangle NumberA two-pointer guide for counting triplets that can form valid triangles after sorting the side lengths.
LeetCode 612: Shortest Distance in a PlaneA SQL guide for finding the minimum Euclidean distance between any two points in a 2D plane.
LeetCode 613: Shortest Distance in a LineA SQL guide for finding the minimum distance between any two unique points on the X-axis.
LeetCode 614: Second Degree FollowerA SQL guide for finding users who both follow someone and have followers, then counting how many followers they have.
LeetCode 615: Average Salary: Departments VS CompanyA SQL guide for comparing each department's monthly average salary against the company's monthly average salary.
LeetCode 616: Add Bold Tag in StringA string-marking guide for adding bold tags around all matched words while merging overlapping and adjacent bold regions.
LeetCode 617: Merge Two Binary TreesA recursive tree traversal guide for merging two binary trees node by node.
LeetCode 618: Students Report By GeographyA SQL guide for pivoting rows into columns using ranking and conditional aggregation.
LeetCode 619: Biggest Single NumberA SQL guide for finding the largest number that appears exactly once in a table.
LeetCode 620: Not Boring MoviesA SQL guide for filtering movies with odd IDs and non-boring descriptions, then sorting by rating.
LeetCode 621: Task SchedulerA clear explanation of Task Scheduler using frequency counting and the greedy block formula.
LeetCode 622: Design Circular QueueA clear explanation of Design Circular Queue using a fixed array, a front pointer, and a size counter.
LeetCode 623: Add One Row to TreeA clear explanation of Add One Row to Tree using tree traversal and careful subtree reconnection.
LeetCode 624: Maximum Distance in ArraysA clear explanation of Maximum Distance in Arrays using sorted endpoints and a greedy scan.
LeetCode 625: Minimum FactorizationA clear explanation of Minimum Factorization using greedy digit factors from 9 down to 2.
LeetCode 626: Exchange SeatsA SQL solution for swapping every pair of adjacent student seats while leaving the final seat unchanged when the row count is odd.
LeetCode 627: Swap SalaryA SQL update solution for swapping all m and f values in the Salary table using a single statement.
LeetCode 628: Maximum Product of Three NumbersA clear explanation of finding the largest product of three numbers using sorting or constant-space tracking.
LeetCode 629: K Inverse Pairs ArrayA dynamic programming solution for counting permutations of 1 to n with exactly k inverse pairs.
LeetCode 630: Course Schedule IIIA greedy heap solution for taking the maximum number of courses before their deadlines.
LeetCode 631: Design Excel Sum FormulaA design solution for a small Excel-like spreadsheet that supports set, get, and dynamic sum formulas.
LeetCode 632: Smallest Range Covering Elements from K ListsA heap-based solution for finding the smallest range that contains at least one number from each sorted list.
LeetCode 633: Sum of Square NumbersA two-pointer and number theory solution for checking whether an integer can be written as the sum of two square numbers.
LeetCode 634: Find the Derangement of An ArrayA dynamic programming and combinatorics solution for counting permutations with no fixed positions.
LeetCode 635: Design Log Storage SystemA design solution for storing timestamped logs and retrieving IDs by inclusive time range at a chosen granularity.
LeetCode 636: Exclusive Time of FunctionsA stack-based solution for computing exclusive execution time from nested start and end logs.
LeetCode 637: Average of Levels in Binary TreeA breadth-first search solution for computing the average value of nodes at each level of a binary tree.
LeetCode 638: Shopping OffersA DFS and memoization solution for finding the minimum cost to satisfy item needs using individual prices and reusable special offers.
LeetCode 639: Decode Ways IIA dynamic programming solution for counting decodings of a digit string with wildcard characters.
LeetCode 640: Solve the EquationA string parsing solution for reducing a linear equation into coefficient and constant terms.
LeetCode 641: Design Circular DequeAn array-based circular buffer solution for implementing a fixed-size double-ended queue.
LeetCode 642: Design Search Autocomplete SystemA trie-based design for returning the top three historical sentences for a typed prefix.
LeetCode 643: Maximum Average Subarray IA sliding window solution for finding the maximum average among all contiguous subarrays of fixed length k.
LeetCode 644: Maximum Average Subarray IIA binary search solution for finding the maximum average of any contiguous subarray with length at least k.
LeetCode 645: Set MismatchA counting and math solution for finding the duplicated number and the missing number in a corrupted set.
LeetCode 646: Maximum Length of Pair ChainA greedy interval scheduling solution for finding the longest chain of valid pairs.
LeetCode 647: Palindromic SubstringsA center expansion solution for counting every palindromic substring in a string.
LeetCode 648: Replace WordsA trie-based solution for replacing each derivative word with the shortest matching root.
LeetCode 649: Dota2 SenateA queue-based simulation for predicting which party wins after senators ban opponents in turn order.
LeetCode 650: 2 Keys KeyboardA dynamic programming and prime factorization solution for finding the minimum operations needed to produce n characters.
LeetCode 651: 4 Keys KeyboardA dynamic programming solution for maximizing the number of A characters printed with a limited number of keyboard operations.
LeetCode 652: Find Duplicate SubtreesA clear explanation of finding duplicate binary tree subtrees using postorder traversal, serialization, and a hash map.
LeetCode 653: Two Sum IV - Input is a BSTA clear explanation of finding whether two different nodes in a binary search tree sum to a target value.
LeetCode 654: Maximum Binary TreeA clear explanation of constructing a maximum binary tree recursively using divide and conquer.
LeetCode 655: Print Binary TreeA clear explanation of formatting a binary tree into a 2D string matrix using tree height and recursive placement.
LeetCode 656: Coin PathA clear explanation of finding the minimum-cost path with bounded jumps, blocked cells, and lexicographic tie-breaking.
LeetCode 657: Robot Return to OriginA clear explanation of determining whether a robot returns to the origin after executing movement instructions.
LeetCode 658: Find K Closest ElementsA clear explanation of finding the k closest elements to a target using binary search and a sliding window.
LeetCode 659: Split Array into Consecutive SubsequencesA clear explanation of deciding whether a sorted array can be split into consecutive subsequences of length at least three.
LeetCode 660: Remove 9A clear explanation of finding the nth positive integer that does not contain the digit 9 using base-9 conversion.
LeetCode 661: Image SmootherA clear explanation of averaging neighboring pixels in a matrix using direct simulation.
LeetCode 662: Maximum Width of Binary TreeA clear explanation of computing the maximum width of a binary tree using level-order traversal and complete-tree indices.
LeetCode 663: Equal Tree PartitionA clear explanation of checking whether a binary tree can be split into two equal-sum trees by removing one edge.
LeetCode 664: Strange PrinterA clear explanation of minimizing printer turns using interval dynamic programming.
LeetCode 665: Non-decreasing ArrayA clear explanation of checking whether an array can become non-decreasing by modifying at most one element.
LeetCode 666: Path Sum IVA clear explanation of computing all root-to-leaf path sums from a compact three-digit binary tree encoding.
LeetCode 667: Beautiful Arrangement IIA clear explanation of constructing an array with exactly k distinct adjacent differences using a greedy pattern.
LeetCode 668: Kth Smallest Number in Multiplication TableA clear explanation of finding the kth smallest value in an m by n multiplication table using binary search on answer.
LeetCode 669: Trim a Binary Search TreeA clear explanation of trimming a BST so that all remaining node values lie inside a given inclusive range.
LeetCode 670: Maximum SwapA clear explanation of maximizing an integer by swapping at most two digits once.
LeetCode 671: Second Minimum Node In a Binary TreeA clear explanation of finding the second minimum value in a special binary tree using DFS.
LeetCode 672: Bulb Switcher IIA clear explanation of counting possible bulb states after pressing four toggle buttons exactly presses times.
LeetCode 673: Number of Longest Increasing SubsequenceA clear explanation of counting how many longest strictly increasing subsequences exist using dynamic programming.
LeetCode 674: Longest Continuous Increasing SubsequenceA clear explanation of finding the longest strictly increasing contiguous subarray using a single scan.
LeetCode 675: Cut Off Trees for Golf EventA clear explanation of cutting trees in increasing height order using repeated BFS on a grid.
LeetCode 676: Implement Magic DictionaryDesign a dictionary that can check whether a word can match a stored word after changing exactly one character.
LeetCode 677: Map Sum PairsDesign a map that supports key-value insertion and prefix-sum queries using a hash map and trie.
LeetCode 678: Valid Parenthesis StringCheck whether a string containing parentheses and wildcard stars can be made valid using a greedy range of possible open counts.
LeetCode 679: 24 GameDetermine whether four numbers can be combined with arithmetic operations and parentheses to produce 24.
LeetCode 680: Valid Palindrome IICheck whether a string can become a palindrome after deleting at most one character using two pointers.
LeetCode 681: Next Closest TimeFind the next valid 24-hour time using only the digits from the current time.
LeetCode 682: Baseball GameSimulate a baseball scoring system using a stack to process operations and compute the final score.
LeetCode 683: K Empty SlotsFind the earliest day when two turned-on bulbs have exactly k turned-off bulbs between them using a sliding window over bloom days.
LeetCode 684: Redundant ConnectionFind the extra edge in an undirected graph that creates a cycle using Union-Find.
LeetCode 685: Redundant Connection IIFind the directed edge to remove so a graph becomes a rooted tree again, handling both cycles and nodes with two parents.
LeetCode 686: Repeated String MatchFind the minimum number of times one string must be repeated so another string becomes a substring.
LeetCode 687: Longest Univalue PathFind the longest path in a binary tree where every node on the path has the same value using depth-first search.
LeetCode 688: Knight Probability in ChessboardCompute the probability that a knight remains on an n x n chessboard after exactly k random moves using dynamic programming.
LeetCode 689: Maximum Sum of 3 Non-Overlapping SubarraysFind three non-overlapping subarrays of length k with maximum total sum and return the lexicographically smallest starting indices.
LeetCode 690: Employee ImportanceCompute the total importance of an employee and all direct and indirect subordinates using a hash map and depth-first search.
LeetCode 691: Stickers to Spell WordFind the minimum number of stickers needed to form a target string using top-down dynamic programming with memoization.
LeetCode 692: Top K Frequent WordsFind the k most frequent words using frequency counting and custom sorting by count and lexicographical order.
LeetCode 693: Binary Number with Alternating BitsCheck whether every adjacent bit in a positive integer's binary representation is different.
LeetCode 694: Number of Distinct IslandsCount unique island shapes in a binary grid using DFS and relative coordinates.
LeetCode 695: Max Area of IslandFind the largest connected island area in a binary grid using depth-first search.
LeetCode 696: Count Binary SubstringsCount substrings with equal consecutive groups of 0s and 1s using run lengths.
LeetCode 697: Degree of an ArrayFind the shortest contiguous subarray with the same degree as the whole array using frequency counts and first occurrence indices.
LeetCode 698: Partition to K Equal Sum SubsetsDecide whether an array can be divided into k non-empty subsets with equal sums using backtracking and pruning.
LeetCode 699: Falling SquaresSimulate falling squares on a number line and track the maximum stack height after each placement.