Python 代码支持文档
本文档说明当前平台对 Python 语言的支持范围和限制。
请在使用时注意以下规则,避免使用不兼容的语法特性。
常见问题
常见问题
支持的功能
1. 基础数据类型
支持以下基础类型的声明和使用:
str, int, float, bool
示例:
num = 42;
name = "Alice";
pi = 3.1415;
正在生成交互式预览...
2. 容器
支持以下容器:
| 容器类型 | 示例 |
|---|
| 一维数组 | arr=[1,2,3] |
| 二维数组 | arr=[[1,2,3],[4,5,6]] |
| dict | dict={"name":"Alice","age":18} |
| Queue | q = Queue();q.enqueue(1);q.dequeue() |
| Stack | s = Stack();s.push(1);s.pop() |
约束条件:
- dict 的 Key 和 Value 必须为基础类型
3. 内置数据结构
可直接使用以下预定义结构:
# ListNode(val: Union[int, str, None] = 0, next: Optional["ListNode"] = None)
l1 = ListNode(1);
l1.next = ListNode(2);
# TreeNode(val: int, left: Optional["TreeNode"] = None, right: Optional["TreeNode"] = None)
l1 = TreeNode(1);
l1.left = TreeNode(2);
l1.right = TreeNode(3);
正在生成交互式预览...
4. 注意事项
- 不要将您需要执行的代码包裹在
if __name__ == "__main__": 中,我们将您的代码放在沙盒中执行的时候并不是在主文件中,因此这个 if 判断会返回 False,您可以直接写您需要执行的代码
class Solution(object):
def spiralOrder(self, matrix):
if not matrix or not matrix[0]:
return []
# 提取第一行
first_row = matrix[0]
# 递归处理剩余部分:去掉第一行后逆时针旋转90度
remaining = [row for row in matrix[1:]]
if remaining and remaining[0]:
# 将旋转后的元组转换为列表
rotated = [list(row) for row in list(zip(*remaining))[::-1]]
ans = first_row + self.spiralOrder(rotated)
return ans
else:
return first_row
# 直接执行您的代码
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
solution = Solution()
result = solution.spiralOrder(matrix)
class Solution(object):
def spiralOrder(self, matrix):
if not matrix or not matrix[0]:
return []
# 提取第一行
first_row = matrix[0]
# 递归处理剩余部分:去掉第一行后逆时针旋转90度
remaining = [row for row in matrix[1:]]
if remaining and remaining[0]:
# 将旋转后的元组转换为列表
rotated = [list(row) for row in list(zip(*remaining))[::-1]]
ans = first_row + self.spiralOrder(rotated)
return ans
else:
return first_row
# if 判断返回 False, 整个代码只有一步
if __name__ == "__main__":
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
solution = Solution()
result = solution.spiralOrder(matrix)
print(result)
正在生成交互式预览...