$curr) { $ans[$i] = $j - $i; break; } } } return $ans; } public static function dailyTemperatures2(array $nums): array { if (empty($nums)) { return []; } $n = count($nums); [$ans, $stack] = [array_fill(0, $n, 0), []]; for ($i = 0; $i < $n; $i++) { while ($stack && $nums[end($stack)] < $nums[$i]) { $k = array_pop($stack); $ans[$k] = $i - $k; } array_push($stack, $i); } return $ans; } }