CardStraights
SRM 337 · 2007-02-03 · by soul-net
Problem Statement
You are playing a card game where the goal is to make straights. Each card in the deck has a number between 1 and 1000000, inclusive. A straight is a sequence of cards with consecutive values. Values do not wrap around, so 1 does not come after 1000000. In addition to regular cards, the deck also contains jokers. Each joker can be used as any valid number (between 1 and 1000000, inclusive).
You will be given a
Constraints
- cards will contain between 1 and 50 elements, inclusive.
- Each element of cards will be between 0 and 1000000, inclusive.
{0,6,5,10,3,0,11}
Returns: 5
You can make 3-4-5-6-7 using one of your jokers as a 4 and the other one as a 7.
{100,100,100,101,100,99,97,103}
Returns: 3
Not a very lucky hand.
{0,0,0,1,2,6,8,1000}
Returns: 6
You can make 1-2-3-4-5-6 using your jokers cleverly.
{1,9,5,7,3,4,0,0,0,10}
Returns: 10
{0,0,0,0,0,0,0,0,0}
Returns: 9
Submissions are judged against all 153 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Language: C++17 · define a public class CardStraights with a public method int longestStraight(vector<int> cards) · 153 test cases · 2 s / 256 MB per case