Python 基础知识简单

查找数组中的所有对称对

“查找数组中的所有对称对”问题的详细指南和 Python 实现。

问题陈述

简单

编写一个函数 symmetric_pairs(arr) ,它接受对列表(2 元素列表的列表)并返回所有对称对。如果数组中存在一对 [a, b] ,则它们与另一对 [b, a] 对称。返回结果作为对的排序列表,其中对的第一个元素较小。每个对称对应该只出现一次。

约束条件
  • 1 <= len(arr) <= 10^4
  • Each element is a list of 2 integers
  • -10^6 <= arr[i][j] <= 10^6

示例

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

[1,2] and [2,1] are symmetric. [3,4] and [4,3] are symmetric. [5,6] has no symmetric pair.

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

No pair has its reverse in the array.

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

[10,20] and [20,10] form a symmetric pair.

Need a Hint?
考虑使用特定于数组的数据结构,例如集合或堆。
Edge Cases to Watch
  • 空输入结构
  • 单元素输入
  • 大数值范围

准备好解决了吗?

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 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。