3. Given stalls at positions [1, 2, 8, 4, 9] and 3 cows, what is the maximum minimum distance between any two cows after running the Aggressive Cows algorithm?
4. Consider this Go snippet for checking if cows can be placed:
func canPlaceCows(stalls []int, cows int, dist int) bool {
count := 1
lastPos := stalls[0]
for i := 1; i < len(stalls); i++ {
if stalls[i]-lastPos >= dist {
count++
lastPos = stalls[i]
}
}
return count >= cows
}
What is the bug if stalls array is not sorted before calling this function?
medium
A. The function may incorrectly count placements because stalls are unordered
B. The function will cause a runtime panic due to index out of range
C. The function will always return false
D. No bug; sorting is not required
Solution
Step 1: Understand function logic
The function assumes stalls are sorted to place cows greedily at increasing positions.
Step 2: Effect of unsorted stalls
If stalls are unordered, distance checks become invalid, causing wrong count of cows placed.
Final Answer:
The function may incorrectly count placements because stalls are unordered -> Option A
Quick Check:
Unsorted stalls break greedy placement logic [OK]
Hint: Always sort stalls before placement check [OK]
Common Mistakes:
Ignoring sorting requirement
Assuming function panics without sorting
Thinking function always fails without sorting
5. You have stalls at positions [5, 10, 15, 20, 25, 30] and need to place 4 cows. If the minimum distance between cows must be at least 7, which is the correct maximum minimum distance achievable?
hard
A. 7
B. 5
C. 15
D. 10
Solution
Step 1: Analyze stall positions
Stalls: [5,10,15,20,25,30] (spaced by 5), 4 cows.
Step 2: Check dist=10
Greedy: place at 5 (last=5), skip 10 (5<10), place 15 (10>=10), skip 20 (5<10), place 25 (10>=10), skip 30 (5<10). 3 cows placed, fail.
Step 3: Check dist=7
Greedy: place at 5 (last=5), skip 10 (5<7), place 15 (10>=7), skip 20 (5<7), place 25 (10>=7), place 30 (5>=7? No, 5<7), so only 3 cows placed, fail.
Step 4: Check dist=6
Similar to above, 3 cows placed, fail.
Step 5: Check dist=5
Greedy: place at 5, 10, 15, 20 (all distances >=5), 4 cows placed, success.
Step 6: Final answer
Maximum minimum distance is 5, since 7 or more fails to place 4 cows.
Final Answer:
5 -> Option B
Quick Check:
Max min distance = 5 [OK]
Hint: Test distances with binary search and feasibility check [OK]
Common Mistakes:
Assuming max distance is stall range without checks
Ignoring minimum distance constraint
Misplacing cows ignoring stall positions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.