测试评估
| 指标 | 结果 |
|---|---|
| Base 测试 | FAIL |
| Plus 测试 | FAIL |
| 代码长度 | 911 字符 |
模型生成的代码 (911 字符)
def get_Inv_Count(arr):
"""
Count inversions in an array.
An inversion is a pair (i, j) such that i < j and arr[i] > arr[j].
Uses merge sort to achieve O(n log n) time complexity.
"""
def merge_sort_and_count(a):
if len(a) <= 1:
return a, 0
mid = len(a) // 2
left, inv_left = merge_sort_and_count(a[:mid])
right, inv_right = merge_sort_and_count(a[mid:])
merged, inv_merge = merge_and_count(left, right)
return merged, inv_left + inv_right + inv_merge
def merge_and_count(left, right):
merged = []
i = j = 0
count = 0
while i < len(left) and j < len(right):
if left[i] <= right[j]:
merged.append(left[i])
i += 1
else:
merged.append(right[j])
j += 1
count += len(left) - i
merged
Base 失败测试用例
[[1, 20, 6, 4, 5]]
Plus 失败测试用例
[[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]]