Python Basics簡単

Find Second Smallest Element in an Array

Detailed guide and Python implementation for the 'Find Second Smallest Element in an Array' problem.

問題提起

簡単

Write a function second_smallest(arr) that takes a list of integers arr and returns the second smallest distinct element. If no second smallest exists (all elements are the same or array has fewer than 2 distinct values), return -1.

制約
  • 1 <= len(arr) <= 10^5
  • -10^9 <= arr[i] <= 10^9

Example 1
Input
arr = [3, 1, 4, 1, 5]
Output
3
Explanation

Sorted distinct values: [1, 3, 4, 5]. The second smallest is 3.

Example 2
Input
arr = [5, 5, 5]
Output
-1
Explanation

All elements are the same. No second smallest exists.

Example 3
Input
arr = [10, 20]
Output
20
Explanation

Two distinct values: 10, 20. Second smallest is 20.

Need a Hint?
Consider using Arrays-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

解決する準備はできましたか?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

エディタで開く
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。