推荐

Blind 75

Most important 75 questions for data structure and algorithm style interviews.
在浏览器中编码
JS/TS 的官方解决方案
测试用例
开始学习
追踪您的进度
对于数据结构和算法 (DSA) 问题,我们建议您通读盲 75,这是一个简洁的列表,可以有效地帮助您准备这些主题。许多候选人使用此列表作为指南,专注于每个问题以掌握核心概念和技术。我们已使用 JavaScript/TypeScript 解决这些问题,以便前端工程师可以访问它们。

所有练习题目

题目列表

  • Balanced BracketsImplement a function to determine if a string contains balanced brackets
    语言
  • Find Duplicates in ArrayImplement a function to check if there are any duplicate numbers in the array
    语言
  • Find Missing Number in SequenceImplement a function to find the missing element in a sorted array
    语言
  • Maximum Product in Contiguous ArrayImplement a function to find the subarray which has the largest product
    语言
  • Maximum Sum in Contiguous ArrayImplement a function to find the subarray with the maximum sum
    语言
  • Most Common ElementsImplement a function to determine the most common elements in an integer array
    语言
  • Array Product Excluding CurrentImplement a function to find the product of elements in an array excluding the current element
    语言
  • End of Array ReachableImplement a function to determine if the end of the array is reachable
    语言
  • Find Element in Rotated ArrayImplement a function to find an integer in a rotated sorted array
    语言
  • Smallest element in rotated sorted arrayImplement a function to find the smallest element in rotated sorted array
    语言
  • Binary Search Tree Kth Smallest ElementImplement a function to find the kth smallest node in a BST
    语言
  • Binary Search Tree Lowest Common AncestorImplement a function to find the LCA in a binary search tree
    语言
  • Validate Binary Search TreeImplement a function to validate whether a binary tree is a valid binary search tree
    语言
  • Binary Tree EqualImplement a function to determine whether two binary trees are equal
    语言
  • Flip Binary TreeImplement a function to flip the nodes in a binary tree
    语言
  • Binary Tree Level Order TraversalImplement a function to find the level order traversal of a binary tree
    语言
  • Binary Tree Maximum DepthImplement a function to find the maximum depth of a binary tree
    语言
  • Binary Tree Maximum Total PathImplement a function to find the maximum total of nodes in a binary tree path
    语言
  • Binary Tree Rebuilding from Preorder and Inorder TraversalsImplement a function to construct a binary tree from preorder and inorder traversals
    语言
  • Binary Tree Serialization and DeserializationImplement a function to serialize and deserialize a binary tree
    语言
  • Binary Tree SubtreeImplement a function to check if a binary tree is a subtree of another binary tree
    语言
  • Bit CountingImplement a function to find number of set bits from 0 to n
    语言
  • Bit ReversalImplement a function to flip the order of the bits in a given number
    语言
  • Minimum Coins for ChangeImplement a function to return minimum coins needed to make the given amount
    语言
  • Combinations for Target SumImplement a function to count combinations that sum to the target
    语言
  • Count Set Bits in a Binary NumberImplement a function to find set bits in binary representation of a given integer
    语言
  • Course DependencyImplement a function to check if all courses can be completed given prerequisites
    语言
  • Disjoint IntervalsImplement a function to determine the minimum amount of removals to get non-overlapping intervals
    语言
  • Extraterrestrial LanguageImplement a function to verify and return an extraterrestrial language's alphabet order
    语言
  • Graph CloneImplement a function to deeply clone a connected and undirected graph
    语言
  • Graph Count Connected ComponentsImplement a function to count connected components in a graph
    语言
  • Is the Graph a TreeImplement a function to determine if a graph is a valid tree
    语言
  • Count Islands in a GridImplement a function to count distinct islands in a 2D binary grid
    语言
  • Distinct Paths in GridImplement a function to calculate distinct paths for a robot moving on an m x n grid
    语言
  • Find Word in GridImplement a function to check the existence of a word in a grid
    语言
  • Find Words in GridImplement a function to find all the words present in the grid
    语言
  • Merge Overlapping IntervalsImplement a function to merge overlapping intervals
    语言
  • Meeting CalendarImplement a function to check if all meetings can be attended
    语言
  • Merge New IntervalImplement a function to insert a new interval in the given intervals
    语言
  • Minimum Meeting Rooms NeededImplement a function to find the minimum number of required conference rooms
    语言
  • Linked Lists Combine K SortedImplement a function to combine k sorted linked lists
    语言
  • Linked Lists Combine Two SortedImplement a function to combine two sorted linked list
    语言
  • Delete Nth Node from End of Linked ListImplement a function to delete the nth node from the end of a linked list
    语言
  • Linked List Detect CycleImplement a function to detect if there are cycles in a linked list
    语言
  • Rearrange Linked ListImplement a function to rearrange the nodes in a linked list
    语言
  • Linked List ReversalImplement a function to reverse a linked list
    语言
  • Longest Common SubsequenceImplement a function to find the longest common subsequence in two strings
    语言
  • Longest Consecutive Number SequenceImplement a function to find the length of the longest consecutive number sequence
    语言
  • Longest Increasing SubsequenceImplement a function to find the length of the longest increasing subsequence
    语言
  • Longest Non-repeating SubstringImplement a function to find the length of longest substring with unique characters
    语言
  • Find the Longest Palindromic SubstringImplement a function to find the longest palindromic substring
    语言
  • Longest Repeating Substring After ReplacementsImplement a function to find the longest uniform substring after up to k replacements
    语言
  • Matrix RotationImplement a function to rotate the given matrix by 90 degrees
    语言
  • Matrix Spiral TraversalImplement a function to traverse the matrix in spiral order
    语言
  • Matrix ZeroingImplement a function to set matrix rows and columns to zero
    语言
  • Maximum Water Trapped Between WallsImplement a function to find the maximum water volume between two walls in an array of walls
    语言
  • Neighborhood TheftImplement a function to find maximum money to rob without alerting police
    语言
  • Neighborhood Theft (Circular)Implement a function to find maximum money to rob in circular houses without alerting police
    语言
  • Number Stream MedianImplement a function to find the median of a dynamic stream of integers
    语言
  • Ocean FlowImplement a function returning cells with water flow to both oceans
    语言
  • Optimal Stock TradingImplement a function to find the maximum profit achievable by buying and selling a stock once
    语言
  • Pair sumImplement a function to find two numbers within an array of integers that add up to a target integer
    语言
  • Staircase Climbing CombinationsImplement a function to find the number of ways to reach at the top of staircase
    语言
  • String AnagramImplement a function to determine if two strings are anagram of each other
    语言
  • String Anagram GroupsImplement a function to group an array of strings into anagrams
    语言
  • Decode MessageImplement a function to count ways to decode a numeric string
    语言
  • String PalindromeImplement a function to determine if a string is a palindrome
    语言
  • Palindromic SubstringsImplement a function to count all palindromic substrings in a string
    语言
  • Segment WordsImplement a function to check whether a string be formed from dictionary words
    语言
  • Shortest Substring Containing CharactersImplement a function to return the smallest substring of a string containing all characters from another string
    语言
  • Sum Without AdditionImplement a function to find the sum of two integers without using + and - operator
    语言
  • Task CoordinationImplement a function to find minimum intervals for tasks with cooldown
    语言
  • Trie (Prefix Tree)Implement a trie-prefix-tree with insert, search, and starts with functionality
    语言
  • Triplet SumImplement a function to find all unique triplets with distinct indices that sum to 0
    语言
  • Word FinderImplement a data structure where words can be added and support wildcard searching
    语言

Blind 75 - 75 most important questions for data structures and algorithms interviews

The Blind 75 list of questions is widely regarded as one of the best resources for preparing for technical interviews, particularly in standard software engineering technical rounds.

  1. Curated: Blind 75 offers a carefully curated list of 75 coding problems that have been chosen to cover the most common patterns tested in technical interviews. This ensures that you spend their time on problems that are highly likely to appear in interviews.

  2. Balanced difficulty: The problems in Blind 75 offer a balanced mix of difficulty that helps in ensuring a smooth progression in building up your topical understanding and problem-solving skills.

  3. Coverage of key topics: Problems in the list cover a wide range of essential topics, (e.g., arrays, linked lists, trees, graphs), algorithms (e.g., sorting, searching, dynamic programming), and system design principles.

  4. Efficiency: By narrowing down to 75 problems, the list is highly efficient. It avoids the overwhelm of tackling hundreds of problems and instead focuses on the most impactful ones.

  5. Reputation and endorsement: Blind 75 has gained strong reputation in the tech community, with many candidates and interviewers recommending it as a go-to. Its effectiveness is supported by countless testimonials from individuals who have used it to land jobs at top tech companies.

  6. Consistency with real interview questions: The problems on the Blind 75 list are often similar to those asked in real interviews at major tech companies. Practicing these problems can give candidates a realistic sense of what to expect, helping them to be better prepared and more confident during their interviews.

These factors combine to make Blind 75 highly effective for you and your preparation.

Data Structures and Algorithms, tailored for Front End Engineers

We offer an enhanced version of the Blind 75 list, specifically tailored for front end engineers.

  1. In-browser coding workspace: Practice Blind 75 questions directly in our in-browser coding workspace, designed to simulate real-world interview scenarios. With advanced editor features and user-friendly enhancements, most users find it comfortable to use. The workspace includes everything you need, from solutions to test cases, all in one place. Start coding immediately—no sign-up required.

  2. JavaScript / TypeScript solutions by ex-interviewers: Anyone familiar with LeetCode knows the challenge of finding a consistent source of credible solutions. On GreatFrontEnd, every question comes with detailed solutions written in JavaScript and TypeScript, making it highly accessible for front end engineers.

  3. Automated test cases: Practiced a problem on your own, but unsure if it will secure the job? GreatFrontEnd offers one-click automated test cases, allowing you to instantly verify the accuracy of your solution. These test cases were crafted by ex-interviewers to reflect the actual expectations of the interview process at big tech.