1. Decode Ways

  2. String Manipulation: The problem deals with operations on strings (of digits), hence it falls under this category.

  3. Combinatorics/Counting: The problem involves finding the number of valid groupings of digits that can be mapped to letters. This requires understanding and applying principles of combinatorics to count valid arrangements.

  4. Dynamic Programming (implicit): Although it’s not explicitly stated in the problem, this problem lends itself to a dynamic programming solution. It involves overlapping subproblems (smaller parts of the string can have their decoding ways counted independently) and optimal substructure (the total number of decoding ways for a string is composed of the counts of decoding ways for its substrings).

  5. Mapping/Coding: The problem involves translating one form of data into another (digits to letters), which involves understanding and applying a specific mapping or code.

  6. Number Theory: The problem involves understanding the properties of numbers in a string and how they can be grouped and interpreted (like understanding that “06” is not the same as “6”).

Tribonacci sequence

  1. Sequences/Series: The problem involves a defined sequence (Tribonacci sequence) and requires understanding of its properties to compute the required term.

  2. Recursion: The definition of the sequence itself is recursive, as each term depends on previous three terms.

  3. Mathematical Modeling: The problem involves modeling a mathematical situation (the sequence) and solving it.

  4. Dynamic Programming (implicit): Though not mentioned directly in the problem, the overlapping subproblems nature (since to calculate a term, we need the previous terms) and optimal substructure (since the result can be built from results of subproblems) imply this problem can be solved efficiently using dynamic programming.

1415 Kth lexicographical

  1. String Manipulation: The problem revolves around manipulating strings and following certain rules to create and categorize them.

  2. Combinatorics: It involves creating combinations of ‘a’, ‘b’, ‘c’ of length ’n’ where certain conditions need to be met, and finding the kth such combination.

  3. Ordering/Lexicographical order: The problem involves sorting the created strings in a specific order (lexicographical order) and accessing a certain index.

  4. Recursion: The process of building up the strings could be thought as a recursive process where you add one letter at a time, ensuring it doesn’t match the last letter added.

  5. Palindrome Partitioning

  6. String Manipulation: The problem requires working with strings and identifying substrings, a key aspect of string manipulation.

  7. Palindrome Recognition: It requires identifying and working with palindromes, which are a specific type of string that reads the same forward and backward.

  8. Partitioning/Segmentation: It involves breaking down the input string into different substrings or segments.

  9. Combinatorics: The problem requires finding all possible combinations of substrings that meet a certain criteria (being a palindrome), which is a combinatorial task.

  10. Backtracking/Recursion: The nature of the problem (finding all possible combinations) suggests that a solution may involve backtracking or recursion to explore all possible partitions.

  11. Combination Sum II

  12. Combination Finding: The problem requires finding all unique combinations of candidate numbers that add up to a given target.

  13. Number Theory/Arithmetic: The problem requires understanding and manipulating numerical values to meet a certain criteria (summing up to a target value).

  14. Backtracking/Recursion: Given the need to find all possible combinations, the solution is likely to involve techniques such as backtracking or recursion.

  15. Set Theory: The requirement that each solution set must not contain duplicate combinations indicates a relationship to set theory, where each set of numbers is unique.

  16. Constraint Satisfaction: The problem involves finding solutions under specific constraints: each number in candidates may only be used once in the combination, and the sum of the numbers in a combination must equal the target number.

90 Subsets II

  1. Combinatorics: The problem involves finding all possible subsets of a set, which is a fundamental problem in combinatorics.

  2. Set Theory: The problem statement refers to subsets and power sets, which are concepts from set theory. Furthermore, the requirement that the solution set must not contain duplicate subsets indicates an element of set uniqueness.

  3. Array Manipulation: The problem is presented with an input format of an integer array, thus involves manipulation and handling of arrays.

  4. Constraint Satisfaction: The problem involves finding solutions under specific constraints: the solution set must not contain duplicate subsets.

  5. Backtracking/Recursion: Given the need to find all possible subsets, the solution likely involves techniques such as backtracking or recursion.

784 Letter Case Permutation

  1. String Manipulation: The problem involves performing operations (transformations) on the characters in a string.

  2. Combinatorics: The problem is about finding all possible combinations of lowercase and uppercase letters, a basic combinatorial problem.

  3. Case Transformation: This problem specifically deals with changing the case of letters in the string, a form of character transformation.

  4. Enumeration: The problem requires the generation of all possible results, necessitating an approach that enumerates all potential outcomes.

  5. Permutations II

  6. Combinatorics: The problem involves finding all possible arrangements (permutations) of a given set of numbers, which is a fundamental concept in combinatorics.

  7. Duplicate Handling: The problem statement mentions that the input collection might contain duplicates and requires unique permutations, thus necessitating special care or techniques to avoid counting duplicate arrangements.

  8. Enumeration: The problem requires generating all possible unique permutations, suggesting that an exhaustive search or enumeration strategy may be involved.

  9. Meeting Rooms

  10. Interval Analysis: This problem requires analyzing time intervals for meetings and identifying whether they overlap. The main task involves understanding the relationships between different intervals (start and end times of meetings).

  11. Feasibility Check: The goal is to determine if a person can attend all meetings, which is essentially a feasibility check. It requires checking whether a set of conditions (in this case, non-overlapping meeting times) can be met.

  12. Scheduling Problem: The problem involves checking the feasibility of a schedule, i.e., if it’s possible for a person to attend all meetings without any time conflicts. This falls under the broad category of scheduling problems.

  13. Conflict Detection: The problem involves identifying any potential conflicts in the meeting schedules. If any two meetings overlap, it implies a conflict.

  14. Meeting Rooms II

  15. Interval Analysis: The problem revolves around the analysis of intervals (start and end times of meetings). This involves determining overlaps between intervals and using this information to make decisions.

  16. Resource Allocation: The objective is to find the minimum number of conference rooms required, which is essentially a resource allocation problem. It involves optimizing the use of a limited resource (in this case, conference rooms).

  17. Scheduling Problem: The issue of scheduling comes up as we need to determine when each meeting takes place and in which room. The goal is to ensure that the meetings do not overlap in the same room.

  18. Optimization Problem: The problem requires the determination of the minimum number of conference rooms to accommodate all meetings, which indicates a need for an optimal solution.

  19. Range Sum Query - Mutable

  20. Range Query Problem: The problem involves performing operations over a range of elements in an array. Range query problems involve answering questions about a range of elements in an array, list, or other data structure.

  21. Array Manipulation: This problem also involves updating the value of an index in the array, which falls under the domain of array manipulation problems.

  22. Data Structure Querying: This problem can be also viewed as a data structure querying problem as we are dealing with operations to retrieve or update information in a data structure (in this case, an array).

  23. Update Query Problem: The problem statement specifically mentions that we should update the value of an index in the array, which suggests that this is also an update query problem.

  24. Minimum Knight Movement

  25. Graph Theory Problem: The problem can be considered as a shortest path problem in an unweighted graph where each cell in the chessboard represents a node in the graph and each valid knight move represents an edge between two nodes. The task is to find the minimum number of steps (edges) needed to reach from the starting node to the destination node.

  26. Grid Navigation Problem: This problem is also a kind of grid navigation problem as a chessboard can be viewed as a 2D grid and the task involves navigating from one cell (or square) to another using specific rules (knight’s moves in this case).

  27. Search Problem: Since the problem involves finding the minimum number of steps to reach a destination from a source, it could also be classified as a search problem. Specifically, it’s a kind of uninformed search problem as we do not have any heuristic information about the distance from each square to the destination.

This classification is purely based on the terminologies and the context given in the problem statement, without considering any specific implementation or algorithmic details.

1065 Index Pairs of a String

  1. String Processing Problem: The problem primarily deals with processing and manipulating strings, as it requires searching for substrings in a given text string.

  2. Substring Search Problem: More specifically, the problem involves searching for specific substrings (words) within a larger string (the text). This makes it a substring search problem.

  3. Matching Problem: This can also be seen as a matching problem, where the task is to find all matches of any string from a given list of strings within a larger string.

  4. Multi-Pattern Search Problem: Since the problem involves searching for multiple patterns (words) in a text, it can be classified as a multi-pattern search problem.

  5. Single Number

  6. Array Processing Problem: The problem primarily deals with processing an array of integers, as it requires finding an element in the array with a unique occurrence.

  7. Element Frequency Problem: The task here is to identify the frequency of the elements present in the array, specifically to find an element that doesn’t follow the general frequency pattern (appears twice).

  8. Search Problem: This problem can also be viewed as a search problem as we’re searching for a particular element in the array based on a specific condition.

  9. Uniqueness Problem: Given that the objective is to find the unique element that doesn’t repeat, it can also be classified as a uniqueness problem.

1042 Flower Planting With No Adjacent

  1. Graph Theory Problem: The problem presents a scenario where gardens are nodes and the paths between them represent edges. This forms a graph, and the task involves finding a property (flower type) for each node (garden) such that it adheres to certain conditions (each adjacent node should have different properties).

  2. Coloring Problem: The task of assigning different flower types to adjacent gardens is analogous to the classic graph coloring problem, where the goal is to color each node of the graph in such a way that no two adjacent nodes have the same color.

  3. Decision Problem: As the task is to decide a flower type for each garden with certain restrictions, this can also be viewed as a decision problem.

  4. Constraint Satisfaction Problem (CSP): The problem can also be seen as a CSP since you need to satisfy the constraint of having different flower types for any two gardens that are connected by a path.

829 Consecutive Number Sum

  1. Mathematical Problem: The problem requires an understanding of numerical relationships and the properties of numbers, specifically regarding sums of consecutive integers.

  2. Combinatorics or Counting Problem: The task is to identify all possible combinations (ways) to represent the given integer as a sum of consecutive integers.

  3. Number Theory Problem: The problem could be considered to fall under the umbrella of number theory as it involves integers and their properties.

  4. Partitioning Problem: Since the problem can also be interpreted as finding different ways to partition the number into consecutive sequences, it can be classified under partitioning problems.

  5. Map Sum Pairs

  6. Data Structures Problem: The problem requires the use of a specific data structure, a map, and the operations associated with it, like insert. This falls under the general category of data structures.

  7. String Manipulation Problem: The problem involves dealing with strings (both keys and prefixes), making it a string manipulation problem as well.

  8. Prefix Search Problem: The requirement to return the sum of all values corresponding to keys that start with a given prefix is a common feature of prefix search problems.

  9. Key-Value Store Problem: The problem involves storing pairs of keys and values and updating them if necessary, which is a characteristic of key-value store problems.

759 Employee Free Time

  1. Interval Scheduling Problem: The problem involves dealing with intervals or periods of time and requires to identify non-overlapping intervals, making it a classic case of an interval scheduling problem.

  2. Intersection of Intervals Problem: As the problem is about finding common free time among all employees, it deals with finding intersections of multiple sets of intervals.

  3. Sorting Problem: The input intervals for each employee are given in sorted order and the output is also expected to be sorted. Therefore, this is also a sorting problem.

  4. Multi-list Problem: The problem deals with multiple lists (schedule of each employee) simultaneously and operations have to be performed on all of them, hence, it can be classified as a multi-list problem as well.

  5. Design In-Memory File System

Based on the problem statement, this problem can be classified in the following ways:

  1. Data Structure Design Problem: The problem is about designing a new data structure that can perform specific tasks. In this case, it is about designing an in-memory file system, making it a classic example of a data structure design problem.

  2. File System Simulation Problem: The problem essentially asks to simulate the operations of a file system. These operations include listing files/directories, making new directories, adding content to files, and reading content from files.

  3. String Manipulation Problem: All of the operations deal with string inputs representing file paths, directory paths, and file contents. Therefore, the problem can also be seen as a string manipulation problem.

  4. Path Navigation Problem: As the problem involves navigating through a file system based on given paths, it can also be classified as a path navigation problem. This is especially true considering operations like mkdir where the path might be nested, and intermediate directories might need to be created.

Again, this classification is purely based on the problem domain, and does not delve into implementation level details.

Read N Characters Given Read4 II - Call Multiple Times - The problem involves reading characters from a file into a buffer multiple times. It’s about managing reading operations, so it’s a Reading Management Problem.

Alien Dictionary - The problem is about deducing the order of letters in an alien language from a list of words. This falls under Language Deciphering Problem.

Closest Binary Search Tree Value II - The task here is to find a specified number of values in a binary search tree that are closest to a target value. This is a Tree Value Searching Problem.

Best Meeting Point - The problem asks to find the best meeting point on a grid that minimizes total distance for everyone. This is a Optimal Location Finding Problem.

Serialize and Deserialize Binary Tree - This problem involves converting a binary tree into a string and vice versa. It’s a Data Conversion Problem.

Remove Invalid Parentheses - The task is to remove the minimum number of parentheses to make an input string valid. This is a Text Correction Problem.

Smallest Rectangle Enclosing Black Pixels - The problem asks to find the smallest rectangle that encloses all black pixels on a 2D grid. This is a Shape Determination Problem.

Number of Islands II - This problem involves tracking the number of islands as land is added to a 2D grid. It’s a Landmass Tracking Problem.

Range Sum Query 2D - Mutable - This problem requires you to support updates and calculate the sum of a rectangle in a 2D array. This can be classified as a Mutable Array Sum Calculation Problem.

Shortest Distance from All Buildings - The problem asks to find the shortest total distance from all buildings on a grid. This is an Optimal Location Finding Problem.

Create Maximum Number - The task is to select a certain number of digits from two arrays to create the maximum possible number. This is a Number Construction Problem.

Count of Range Sum - This problem involves counting the number of range sums that lie in the range [lower, upper]. This is a Range Sum Counting Problem.

Rearrange String k Distance Apart - The problem asks to rearrange a string so that the same characters are at least distance k from each other. This is a String Rearrangement Problem.

Minimum Unique Word Abbreviation - The task is to find the shortest unique abbreviation for a word. This is a Unique Abbreviation Problem.

Word Squares - The problem asks to construct word squares given a list of words. This is a Word Square Construction Problem.

Serialize and Deserialize N-ary Tree - The task involves serializing and deserializing an N-ary tree. This is an N-ary Tree Serialization and Deserialization Problem.

Encode N-ary Tree to Binary Tree - The problem involves encoding an N-ary tree into a binary tree. This is an N-ary to Binary Tree Encoding Problem.

K-th Smallest in Lexicographical Order - This problem asks to find the k-th smallest number in lexicographical order. This is a Ordering-based Search Problem.

Optimal Account Balancing - This problem asks to minimize the number of money transfers to balance accounts. This is a Transaction Minimization Problem.

Encode String with Shortest Length - The task is to find the shortest possible encoded string. This can be seen as a String Compression Problem.

Robot Room Cleaner - The problem asks to design a strategy for a robot to clean a room. This is a Robot Navigation Problem.

The Maze III - This problem requires finding the shortest path for a ball to reach a hole in a maze. This is a Pathfinding Problem.

The problem-solving approach used in #8 (Robot Room Cleaner) is related to exploring an unknown territory, or graph traversal, which is a broader concept than just robot navigation. This type of problem-solving strategy, where you have to systematically explore an area or a structure, is applicable in a variety of problem domains.

For instance, this type of approach is used in solving mazes, mapping out areas in video games or real-world territories, web-crawling, network exploration and many more. Thus, while the problem statement here is phrased in terms of robot navigation, the underlying problem-solving strategy is more widely applicable.

In that case, a more generalized category for this type of problem could be “Systematic Exploration” problems. In these problems, you are typically tasked with exploring a certain structure (like a graph, grid, maze, territory etc.) in a systematic and comprehensive manner. The goal is usually to visit all parts of the structure or find a specific target within it. So “Robot Room Cleaner” can fall under this general category.

  1. “Count The Repetitions” can be termed as “Counting and Repeated Pattern Analysis”.
  2. “Encode String with Shortest Length” is a “String Transformation and Optimization” problem.
  3. “Concatenated Words” falls into the “Word Concatenation and Analysis” category.
  4. “Largest Palindrome Product” can be classified as “Number Theory and Palindromes”.
  5. “Sliding Window Median” is a problem of “Sliding Window and Statistics” category.
  6. “Smallest Good Base” is an “Optimization and Base Conversion” problem.
  7. “Zuma Game” can be called a “Game Strategy and Analysis” problem.
  8. “Robot Room Cleaner” falls under the “Systematic Exploration” category.
  9. “Reverse Pairs” is a “Pair Identification and Counting” problem.
  10. “The Maze III” falls into the “Optimal Path Finding” category.

These categories are not specific to any single problem, and are derived from common tasks that appear across many problems. For example, problems that involve counting, optimization, statistics, number theory, game strategy, base conversion, systematic exploration, and path finding are all represented here.

  1. “IPO” falls under the category of “Resource Allocation and Optimization”.
  2. “Freedom Trail” can be classified under “Path Navigation and Optimization”.
  3. “Super Washing Machines” can be classified under “Appliance Management and Balancing”.
  4. “Word Abbreviation” can be seen as a “Text Processing and Abbreviation” problem.
  5. “Remove Boxes” fits under “Array Manipulation and Score Optimization”.
  6. “Split Array with Equal Sum” falls under “Array Partitioning and Sum Comparison”.
  7. “Student Attendance Record II” can be termed as “Record Analysis and Counting”.

Each of these categories is described in terms of the central task or objective that the problem focuses on, rather than the specifics of the problem statement. This approach makes the categories broadly applicable across many different problems.

  1. “K Radius Subarray Averages” - Numerical Aggregation in Subarrays

  2. “Median of Two Sorted Arrays” - Element Ranking in Sorted Arrays

  3. “Regular Expression Matching” - String Pattern Recognition

  4. “Merge k Sorted Lists” - List Sorting and Merging

  5. “Reverse Nodes in k-Group” - Linked List Reorganization

  6. “Substring with Concatenation of All Words” - Substring and Word Concatenation

  7. “Longest Valid Parentheses” - String Character Pairing

  8. “Sudoku Solver” - Grid Puzzle Solving

  9. “First Missing Positive” - Numerical Sequence Gap Identification

  10. “Trapping Rain Water” - Space Filling and Volume Calculation

  11. “Wildcard Matching” - String Pattern Matching

  12. “N-Queens” & “N-Queens II” - Game Board Arrangement

  13. “Permutation Sequence” - Sequence Arrangement

  14. “Valid Number” - String Validation for Numerical Representation

  15. “Text Justification” - Text Formatting

  16. “Minimum Window Substring” - Substring Range Optimization

  17. “Largest Rectangle in Histogram” - Area Maximization in Histogram

  18. “Maximal Rectangle” - Area Maximization in Grid

  19. “Scramble String” - String Transformation Verification

  20. “Distinct Subsequences” - Subsequence Counting

  21. “Best Time to Buy and Sell Stock III” - Financial Transaction Timing Optimization

  22. “Binary Tree Maximum Path Sum” - Path Optimization in Tree

  23. “Word Ladder II” & “Word Ladder” - Word Transformation Chain

  24. “Palindrome Partitioning II” - String Partitioning for Palindromes

  25. “Candy” - Candy Distribution for Ranking

  26. “Word Break II” - Word Segmentation in String

  27. “Max Points on a Line” - Point Alignment Verification

  28. “Find Minimum in Rotated Sorted Array II” - Minimum Element Identification in Rotated Array

  29. “Read N Characters Given read4 II - Call Multiple Times” - Character Reading from Stream

  30. “Maximum Gap” - Maximal Gap Calculation in Numerical Sequence

  31. “Dungeon Game” - Path Navigation with Score Optimization

  32. “Best Time to Buy and Sell Stock IV” - Financial Transaction Timing Optimization

  33. “Word Search II” - Word Location in Grid

  34. “Shortest Palindrome” - Palindrome Formation with Append

  35. “The Skyline Problem” - Skyline Projection from Buildings

  36. “Contains Duplicate III” - Duplicate Element Identification in Array

  37. “Basic Calculator” - String-based Arithmetic Calculation

  38. “Number of Digit One” - Numerical Digit Counting

  39. “Sliding Window Maximum” - Windowed Aggregation in Array

  40. “Strobogrammatic Number III” - Strobogrammatic Number Counting

  41. “Paint House II” - Cost Minimization with Restrictions

  42. “Alien Dictionary” - Language Rule Extraction from Text

  43. “Closest Binary Search Tree Value II” - Closest Value Identification in Tree

  44. “Integer to English Words” - Numerical to Verbal Conversion

  45. “Expression Add Operators” - Expression Generation with Operators

  46. “Find Median from Data Stream” - Median Calculation in Data Stream

  47. “Best Meeting Point” - Point Selection for Minimal Total Distance

  48. “Serialize and Deserialize Binary Tree” - Tree Serialization and Deserialization

  49. “Remove Invalid Parentheses” - Invalid Character Removal for Valid String

  50. “Smallest Rectangle Enclosing Black Pixels” - Smallest Enclosing Rectangle in Grid

  51. “Number of Islands II” - Island Counting in Grid

  52. “Range Sum Query 2D - Mutable” - Two-Dimensional Range Sum Query

  53. “Burst Balloons” - Element Removal for Score Maximization

  54. “Count of Smaller Numbers After Self” - Element Comparison Count in Array

  55. “Shortest Distance from All Buildings” - Location Selection for Minimal Distance Sum

  56. “Create Maximum Number” - Maximal Number Formation from Digits

  57. “Count of Range Sum” - Range Sum Count in Array

  58. “Longest Increasing Path in a Matrix” - Longest Path in Grid

  59. “Patching Array” - Array Augmentation for Complete Range Coverage

  60. “Reconstruct Itinerary” - Itinerary Reconstruction from Tickets

  61. “Self Crossing” - Path Crossing Verification

  62. “Palindrome Pairs” - Pair Formation for Palindrome

  63. “Data Stream as Disjoint Intervals” - Interval Representation of Data Stream

  64. “Russian Doll Envelopes” - Object Nesting

  65. “Rearrange String k Distance Apart” - String Rearrangement with Restrictions

  66. “Max Sum of Rectangle No Larger Than K” - Rectangle Sum Calculation with Limit in Grid

  67. “Insert Delete GetRandom O(1) - Duplicates allowed” - Randomized Set Operation

  68. “Perfect Rectangle” - Rectangle Formation Verification from Sub-rectangles

  69. “Frog Jump” - Jump Game with Variable Steps

  70. “Trapping Rain Water II” - Space Filling and Volume Calculation in Grid

  71. “Split Array Largest Sum” - Array Partitioning with Sum Limit

  72. “Minimum Unique Word Abbreviation” - Word Abbreviation for Uniqueness

  73. “Strong Password Checker” - Password Strength Verification

  74. “Word Squares” - Word Square Formation

  75. “Serialize and Deserialize N-ary Tree” - Tree Serialization and Deserialization

  76. “Encode N-ary Tree to Binary Tree” - Tree Type Transformation

  77. “All O`one Data Structure” - Data Structure with Multiple O(1) Operations

  78. “K-th Smallest in Lexicographical Order” - Element Ranking in Lexicographical Order

  79. “Arithmetic Slices II - Subsequence” - Arithmetic Subsequence Counting

  80. “Poor Pigs” - Object Identification with Minimal Tests

  81. “LFU Cache” - Data Structure for Cache Management

  82. “Optimal Account Balancing” - Financial Balancing

  83. “Count The Repetitions” - Repetition Counting in String

  84. “Encode String with Shortest Length” - String Compression

  85. “Concatenated Words” - Word Concatenation Verification

  86. “Largest Palindrome Product” - Palindrome Formation from Product

  87. “Sliding Window Median” - Windowed Median Calculation in Array

  88. “Smallest Good Base” - Base Identification for Representation

  89. “Zuma Game” - Game Strategy

  90. “Robot Room Cleaner” - Task Planning and Execution

  91. “Reverse Pairs” - Pair Counting with Condition in Array

  92. “The Maze III” - Path Navigation in Maze

  93. “IPO” - Resource Allocation and Optimization

  94. “Freedom Trail” - Path Navigation and Optimization

  95. “Super Washing Machines” - Appliance Balancing

  96. “Word Abbreviation” - Word Abbreviation

  97. “Remove Boxes” - Box Removal for Score Maximization

  98. “Split Array with Equal Sum” - Array Partitioning with Equal Sums

  99. “Student Attendance Record II” - Record Counting with Restrictions