Skip to content
On this page

Shortest Impossible Sequence of Rolls

leetcode 2350. Shortest Impossible Sequence of Rolls

Intuition

Define round to be some sort of range, all numbers form 1 to k is found in this round. Loop through rolls, try to find the last round, and answer is round+1. So, we use stack to ignore possible duplicate numbers, and if stack.size() == k , we know we find all the numbers. Therefore, we clear the stack, and go to another round.

Code

cpp
int shortestSequence(vector<int>& rolls, int k) {
	unordered_set<int>st;
	int res = 1;
	for(auto& i : rolls) {
		st.insert(i);
		if(st.size() == k) {
			st.clear();
			res++;
		}
	}
	return res;
}

Complexity Analysis

Time: O(n)Space: O(n)

Released under the MIT License.