Articles

  • 384 - Shuffle An Array

    Shuffle a set of numbers without duplicates.

    Read More »

  • 396 - Rotate Function

    Given an array of integers A and let n to be its length. Assume Bk to be an array obtained by rotating the array A k positions clock-wise, we define a “rotation function” F on A as follow: F(k) = 0 * Bk[0] + 1 * Bk[1] + … + (n-1) * Bk[n-1]. Calculate the maximum value of F(0), F(1), …, F(n-1).

    Read More »

  • 398 - Random Pick Index

    Given an array of integers with possible duplicates, randomly output the index of a given target number. You can assume that the given target number must exist in the array.

    Read More »

  • 400 - Nth Digit

    Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …

    Read More »

  • 395 - Longest Substring With At Least K Repeating Characters

    Find the length of the longest substring T of a given string (consists of lowercase letters only) such that every character in T appears no less than k times.

    Read More »

  • 382 - Linked List Random Node

    Given a singly linked list, return a random node’s value from the linked list. Each node must have the same probability of being chosen.

    Read More »

  • 397 - Integer Replacement

    Given a positive integer n and you can do operations as follow: If n is even, replace n with n/2. If n is odd, you can replace n with either n + 1 or n - 1. What is the minimum number of replacements needed for n to become 1?

    Read More »

  • 380 - Insert Delete Getrandom O1

    Design a data structure that supports all following operations in average O(1) time.

    Read More »

  • 381 - Insert Delete Getrandom O1 Duplicates Allowed

    Design a data structure that supports all following operations in average O(1) time. Note: Duplicate elements are allowed.

    Read More »

  • 399 - Evaluate Division

    Equations are given in the format A / B = k, where A and B are variables represented as strings, and k is a real number (floating point number). Given some queries, return the answers. If the answer does not exist, return -1.0.

    Read More »

  • 393 - UTF-8 Validation

    Given an array of integers representing the data, return whether it is a valid utf-8 encoding.

    Read More »

  • 388 - Longest Absolute File Path

    Given a string representing the file system in the above format, return the length of the longest absolute path to file in the abstracted file system. If there is no file in the system, return 0.

    Read More »

  • 392 - Is Subsequence

    Given a string s and a string t, check if s is subsequence of t. You may assume that there is only lower case English letters in both s and t. t is potentially a very long (length ~= 500,000) string, and s is a short string (<=100).

    Read More »

  • 387 - First Unique Character In A String

    Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.

    Read More »

  • 390 - Elimination Game

    There is a list of sorted integers from 1 to n. Starting from left to right, remove the first number and every other number afterward until you reach the end of the list. Repeat the previous step again, but this time from right to left, remove the right most number and every other number from the remaining numbers. We keep repeating the steps again, alternating left to right and right to left, until a single number remains. Find the last number that remains starting with a list of length n.

    Read More »

  • 394 - Decode String

    Given an encoded string, return it’s decoded string. The encoding rule is: k[encoded_string], where the encoded_string inside the square brackets is being repeated exactly k times. Note that k is guaranteed to be a positive integer.

    Read More »

  • 376 - Wiggle Subsequence

    Given a sequence of integers, return the length of the longest subsequence that is a wiggle sequence. A subsequence is obtained by deleting some number of elements (eventually, also zero) from the original sequence, leaving the remaining elements in their original order.

    Read More »

  • 365 - Water And Jug Problem

    You are given two jugs with capacities x and y litres. There is an infinite amount of water supply available. You need to determine whether it is possible to measure exactly z litres using these two jugs. If z liters of water is measurable, you must have z liters of water contained within one or both buckets by the end. Operations allowed:

    • Fill any of the jugs completely with water.
    • Empty any of the jugs.
    • Pour water from one jug into another till the other jug is completely full or the first jug itself is empty.

    Read More »

  • 367 - Valid Perfect Square

    Given a positive integer num, write a function which returns True if num is a perfect square else False.

    Read More »

  • 347 - Top K Frequent Elements

    Given a non-empty array of integers, return the k most frequent elements.

    Read More »

  • 372 - Super Pow

    Your task is to calculate a ** b mod 1337 where a is a positive integer and b is an extremely large positive integer given in the form of an array.

    Read More »

  • 371 - Sum Of Two Integers

    Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

    Read More »

  • 383 - Ransom Note

    Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false. Each letter in the magazine string can only be used once in your ransom note.

    Read More »

  • 385 - Mini Parser

    Given a nested list of integers represented as a string, implement a parser to deserialize it. Each element is either an integer, or a list – whose elements may also be integers or other lists.

    Read More »

  • 386 - Lexicographical Numbers

    Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9].

    Read More »

  • 374 - Guess Number Higher Or Lower

    We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess which number I picked. Every time you guess wrong, I’ll tell you whether the number is higher or lower. You call a pre-defined API guess(int num) which returns 3 possible results (-1, 1, or 0):

    Read More »

  • 373 - Find K Pairs With Smallest Sums

    You are given two integer arrays nums1 and nums2 sorted in ascending order and an integer k. Define a pair (u,v) which consists of one element from the first array and one element from the second array. Find the k pairs (u1,v1),(u2,v2) …(uk,vk) with the smallest sums.

    Read More »

  • 357 - Count Numbers With Unique Digits

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n.

    Read More »

  • 377 - Combination Sum Iv

    Given an integer array with all positive numbers and no duplicates, find the number of possible combinations that add up to a positive integer target.

    Read More »

  • 297 - Serialize And Deserialize Binary Tree

    Design an algorithm to serialize and deserialize a binary tree. There is no restriction on how your serialization/deserialization algorithm should work. You just need to ensure that a binary tree can be serialized to a string and this string can be deserialized to the original tree structure.

    Read More »