Problem Statement
Devu loves rabbits a lot.
He recently bought some rabbits from his friend Amit.
Amit has given each rabbit an integer ID.
These are given to you in the
Now, Devu knows that Amir is careless and sometimes assigns the same ID to multiple rabbits. To eliminate the possible confusion, Devu would like to make sure that no two rabbits have same ID.
Determine whether Devu can change all IDs into mutually distinct integers if he can only increase or decrease the ID of each rabbit by at most one. Return "can" (quotes for clarity) if he can do that, or "cannot" if he cannot make all IDs distinct without changing some of them by more than one.
Definition
- Class:
- DevuAndRabbitNumbering
- Method:
- canRenumber
- Parameters:
- int[]
- Returns:
- String
- Method signature:
- String canRenumber(int[] rabbitIds)
- (be sure your method is public)
Notes
- The return value is case-sensitive.
Constraints
- rabbitIds will contain between 1 and 50 elements, inclusive.
- Each element of rabbitIds will be between 1 and 1000, inclusive.
Examples
{1, 2, 3}
Returns: "can"
All the IDs of rabbits are already distinct.
{1, 2, 2}
Returns: "can"
Devu can change the ID of the last rabbit to 3. Then all the rabbits will have distinct IDs.
{2, 4, 2, 2, 1, 2}
Returns: "cannot"
{1, 2, 4, 2, 6, 6, 7}
Returns: "can"
{960,578,296,414,352,610,872,556,113,818,194,804,141,859,761,887,3,952,234,667,196,693,783}
Returns: "can"
{97, 64, 22, 17, 75, 97, 85, 68, 35, 82, 64, 10, 71, 11, 64, 64, 94, 52, 28, 40, 48, 46, 5, 82, 39, 65, 2, 93, 43, 50, 44, 90, 69, 72, 94, 6, 62, 17, 12, 12, 84, 33, 38}
Returns: "cannot"
{1, 1, 1}
Returns: "can"
{1, 1, 1, 1}
Returns: "cannot"
{1, 1, 2, 2, 2}
Returns: "cannot"
{1, 2, 2, 2, 2, 1}
Returns: "cannot"
{1, 3, 2, 2, 3, 2, 1}
Returns: "cannot"
{1, 3, 2, 2, 3, 3, 2, 1}
Returns: "cannot"
{1, 3, 2, 2, 3, 3, 2, 1, 1}
Returns: "cannot"
{3,11,2,3}
Returns: "can"
{24,42,20,44,33,20,16,45,3,35,10,23,10,20,5,11,3,29,34,28,41,43,19,41,47,26,40,45,4,11,30,23,7}
Returns: "can"
{9,34,19,30,31,29,10,26,4,4,7,37,2,10,13,11,5,29,13,25,9,18,31,34,5,20,28,17,27,2,37,5,6,35,23,15,18,29,18,33,7,6,35,30,19,24,22,21,21,3}
Returns: "cannot"
{40,44,29,31,44}
Returns: "can"
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: "cannot"
{3,1,8,7,3}
Returns: "can"
{7,7,2,4,5,11,18,12,5,7,9}
Returns: "can"
{35,29,6,27,27,10,21,19,23,1,24,35,8,11,2,28,8}
Returns: "can"
{1,8,3,9,8,2,1,9,1,7,8,5,3,1,6,6,1,6,7,7,4,4,6,6,5,3,4,8,2,7,8,3,8,4,4,4,3,7,6,5,6,1,3,4,1,7,1,7,5}
Returns: "cannot"
{6,11,10,10,10,2,8,7,7}
Returns: "can"
{1,2,3,7,1,6,6}
Returns: "can"
{2,1,5,6,6,2,3,6}
Returns: "can"
{33,33,1,32,25,8,10,23,22,10,2,11,30,2,17,23,21,27,27,35,5,31,12,17,25,26,36}
Returns: "can"
{7,13,19,29,18,13,19,8,20,7,13,21,29,6,22,17,8,12,12,24,21,17,5,25,16,2,28,17,5,14,23,23,1,5,14,28,12,26,12,17,10,3,6,7,25,25,28,15,24,6}
Returns: "cannot"
{1}
Returns: "can"
{1, 1}
Returns: "can"
{1, 2}
Returns: "can"
{37,15,24,26,34,20,16,35,21,18,7,3,22,13,40,5,45,47,46,14,32,19,42,33,10,36,23,31,9,38,41,1,8,43,49,17,12,4,29,48,30,44,6,50,27,2,39,25,28,11}
Returns: "can"
Array containing all elements from 1 to 50.
{15,3,1,18,2,5,24,20,23,8,19,16,14,7,25,11,21,6,17,12,9,10,4,22,13}
Returns: "can"
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: "cannot"
{54,45,58,32,22,97,66,92,107,104,92,61,36,34,15,66,21,9,43,22,90,118,21,69,76,72,22,90,85,107,35,26,60,27,78,56,27,3,70,102,92,17,30,108,54,118,79,39,50,25}
Returns: "cannot"
{30,35,1,39,2,50,78,34,20,65,12,43,79,25,67,20,76,6,43,67,30,8,11,20,79,39,19,46,60,16,72,81,3,49,16,1,3,55,58,8,21,71,46,45,46,76,53,49,74,25}
Returns: "can"
{54,45,58,32,22,97,66,92,107,104,92,61,36,34,15,66,21,9,43,22,90,118,21,69,76,72,22,90,85,107,35,26,60,27,78,56,27,3,70,102,92,17,30,108,54,118,79,39,50,25}
Returns: "cannot"
{21,504,628,440,571,434,420,704,56,911,846,214,199,147,56,79,310,393,583,180,656,816,879,760,294,849,318,348,490,668,615,893,656,43,562,475,501,467,904,109,543,776,864,274,570,709,511,722,669,507}
Returns: "can"
{999, 999, 1000, 1000}
Returns: "can"
{999, 999, 1000, 1000, 1000}
Returns: "cannot"
{999, 999, 999, 1000}
Returns: "can"
{1, 2, 3 }
Returns: "can"
{1, 2, 2 }
Returns: "can"
{1, 2, 3, 4, 3, 4 }
Returns: "can"
{1, 2, 4, 2, 5, 6, 7, 6 }
Returns: "can"
{2, 3, 2, 3, 1, 24, 24, 24 }
Returns: "can"
{64, 65, 65, 66 }
Returns: "can"
{2, 4, 2, 4, 2 }
Returns: "can"
{23, 29, 25, 29, 25, 31, 33, 34, 29, 17, 90 }
Returns: "can"
{1, 1, 1, 1000, 1000, 1000 }
Returns: "can"
{1, 3, 3, 3 }
Returns: "can"
{2, 3, 2, 1, 24, 24, 24 }
Returns: "can"
{1, 100, 99 }
Returns: "can"
{1, 5, 3, 5, 7, 6, 4 }
Returns: "can"
{5, 5, 5 }
Returns: "can"
{97, 64 }
Returns: "can"
{2, 7, 5, 5, 8, 6 }
Returns: "can"
{1, 5, 5, 5, 8, 10, 1 }
Returns: "can"
{100, 100, 100 }
Returns: "can"
{10, 9, 8, 5, 5, 5, 1, 2, 2 }
Returns: "can"
{10, 11, 9, 9, 5, 5, 5, 1, 2, 2 }
Returns: "can"
{1, 2, 4, 2, 6, 6, 7 }
Returns: "can"
{1, 2, 3, 4, 4, 5, 5 }
Returns: "can"
{1, 1, 2, 4, 4, 4 }
Returns: "can"
{1000, 1000, 1000 }
Returns: "can"
{2, 2 }
Returns: "can"
{2, 3, 3, 3, 4 }
Returns: "can"
{2, 2, 2 }
Returns: "can"
{200, 400, 200, 200, 100, 200 }
Returns: "cannot"
{2, 2, 2, 3, 3, 3 }
Returns: "cannot"
{1, 1, 1 }
Returns: "can"
{1, 1, 1, 2, 1, 3 }
Returns: "cannot"
{1, 1, 1, 2, 3 }
Returns: "can"
{1, 1, 2, 3 }
Returns: "can"
{2, 4, 2, 2, 1, 2 }
Returns: "cannot"
{1, 1, 2, 2, 3, 3 }
Returns: "cannot"
{4, 4, 4 }
Returns: "can"
{10, 11, 12, 13, 9, 11 }
Returns: "can"
{1, 1, 2, 2, 3 }
Returns: "can"
{8, 8, 8 }
Returns: "can"
{999, 1000, 1000, 1000 }
Returns: "can"
{10, 11, 12, 13, 14, 15, 11 }
Returns: "can"
{2, 3, 3, 3 }
Returns: "can"