# Array Coding Problems: Classic & Challenging Challenges

**Array Coding Problems: Classic & Challenging Challenges**

Here's a list of 30 classic and challenging Data Structures & Algorithms problems from simpler to more advanced and complex ones.

**1.** Two Sum:

Given an array of integers, find two numbers such that they add up to a specific target.

**2.** Remove Duplicates from a Sorted Array:

Given a sorted array, remove duplicates in-place, and return the new length.

**3.** Rotate Array:

Rotate an array to the right by k steps.

**4.** Product of Array Except Self:

Given an array of nums, return an array of output such that output[i] is equal to the product of all elements except nums[i].

**5.** Find the Missing Number:

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one missing from the array.

**6.**Trapping Rain Water:

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.

**7.** Container With Most Water:

Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai), n vertical lines are drawn such that the two endpoints of the line i are at (i, ai) and (i, 0). Find two lines that, together with the x-axis, form a container containing the most water.

**8.** Max Subarray Sum (Kadane's Algorithm):

Find the contiguous subarray with the largest sum.

**9.** Merge Intervals:

Given a collection of intervals, merge any overlapping intervals.

**10.** Search in a Rotated Sorted Array:

Search for a target value in a rotated sorted array.

**11.** Rotate Image:

Rotate an n x n matrix clockwise.

**12.** Find Peak Element:

Find a peak element in an array. A peak element is an element greater than or equal to its neighbors.

**13.** Minimum Size Subarray Sum:

Given an array of positive integers and a target value, find the minimum length of a contiguous subarray whose sum is greater than or equal to the target.

**14.** Pascal's Triangle:

Generate the first n rows of Pascal's triangle.

**15.** Next Permutation:

Implement the next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.

**16.** Valid Sudoku:

Determine if a 9x9 Sudoku board is valid.

**17.** Combination Sum:

Given a set of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sum to the target.

**18.** Majority Element:

Given an array of size n, find the majority element.

**19.** Spiral Matrix:

Given an m x n matrix, return all matrix elements in spiral order.

**20.** Sort Colors (Dutch National Flag Algorithm):

Given an array with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order of red, white, and blue.

**21.** Median of Two Sorted Arrays:

There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays.

**22.** Set Matrix Zeroes:

Given an m x n matrix, if an element is 0, set its entire row and column to 0.

**23.** Jump Game:

Given an array of non-negative integers, you are initially positioned at the first index, and each element in the array represents your maximum jump length. Check if the last index is reachable.

**24.** First Missing Positive:

Given an unsorted integer array, find the smallest missing positive integer.

**25.** Kth Largest Element in an Array:

Find the kth largest element in an unsorted array.

**26.** Word Search:

Given a 2D board and a word, find out if it exists on the grid.

**27.** Subarray Sum Equals K:

Given an array of integers nums and an integer k, return the total number of continuous subarrays whose sum equals k.

**28.** Combination Sum II:

Given a collection of candidate numbers (candidates) and a target number (target), find all unique combinations of candidates where the candidate numbers sum to the target.

**29.** Sort Colors:

Given an array with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order of red, white, and blue.

**30.** Pascal's Triangle II:

Given an index k, return the kth row of Pascal's triangle.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics