It also didn't have tabs in the file explorer for the longest time. I remember having to download some random exe from a dodgy site just to have them in W7
The longer wire (being also thicker) has less resistance and is therefore wasting less power as heat, that's where the Voltage drop is going.
Sure, most of the time it's fine if you know what you're doing, but that's why it's general wisdom and not a hard rule, like "don't put metal in the microwave", it's said to protect those that have no idea what they're doing/why the saying exists
Because you're just sorting integers and in a single pass, the a == b and a > b distinction doesn't actually matter here, so the cmp can very simply be is a|b in rules, no map needed.
Edit: I realise it would be a sidegrade for your case because of how you did P1, just thought it was an interesting insight, especially for those that did P1 by checking if the input was sorted using the same custom compare.
go
func solution(input string) (int, int) {
// rules: ["a|b", ...]
// updates: [[1, 2, 3, 4], ...]
var rules, updates = parse(input)
sortFunc := func(a int, b int) int {
if slices.Contains(rules, strconv.Itoa(a)+"|"+strconv.Itoa(b)) {
return -1
}
return 1
}
var sumOrdered = 0
var sumUnordered = 0
for _, update := range updates {
if slices.IsSortedFunc(update, sortFunc) {
sumOrdered += update[len(update)/2]
} else {
slices.SortStableFunc(update, sortFunc)
sumUnordered += update[len(update)/2]
}
}
return sumOrdered, sumUnordered
}
It also didn't have tabs in the file explorer for the longest time. I remember having to download some random exe from a dodgy site just to have them in W7