Question Definition
Given an array of integers, 1 ≤ a[i] ≤ n
(n = size of array), some elements appear twice and others appear once.
Find all the elements that appear twice in this array.
Could you do it without extra space and in O(n) runtime?
More …
Question Definition
Given two integers n and k, you need to construct a list which contains n different positive integers ranging from 1 to n and obeys the following requirement:
Suppose this list is [a1, a2, a3, ... , an]
, then the list [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1 - an|]
has exactly k distinct integers.
If there are multiple answers, print any of them.
Example 1:
Input: n = 3, k = 1
Output: [1, 2, 3]
Explanation: The [1, 2, 3] has three different positive integers ranging from 1 to 3, and the [1, 1] has exactly 1 distinct integer: 1.
Example 2:
Input: n = 3, k = 2
Output: [1, 3, 2]
Explanation: The [1, 3, 2] has three different positive integers ranging from 1 to 3, and the [2, 1] has exactly 2 distinct integers: 1 and 2.
Note:
- The n and k are in the range 1 <= k < n <= 104.
Best Java Solution
public int[] constructArray(int n, int k) {
int[] res = new int[n];
int i = 1, j = n, index = 0;
while (i <= j) {
if (k > 1) res[index++] = (k-- % 2 != 0 ? i++ : j--);
else res[index++] = i++;
}
return res;
}
Question Definition
A zero-indexed array A of length N contains all integers from 0 to N-1. Find and return the longest length of set S, where S[i] = {A[i], A[A[i]], A[A[A[i]]], ... }
subjected to the rule below.
Suppose the first element in S starts with the selection of element A[i]
of index = i, the next element in S should be A[A[i]]
, and then A[A[A[i]]]…
By that analogy, we stop adding right before a duplicate element occurs in S.
More …
Question Definition
Write a bash script to calculate the frequency of each word in a text file words.txt.
More …
Question Definition
Write a function to check whether an input string is a valid IPv4 address or IPv6 address or neither.
More …