Claude Sonnet 4.6

変動分析 · 2026年 第12週

Claude Sonnet 4.6 2026年 第12週 コード実行次元が 38.3 点上昇。主にDebug:链表反转、Debug:DFS 环检测で得点

スコア比較

42.0 53.0 +11
次元 前回 今回 変動
コード実行 20.8 59.1 +38.3
知識総合 37.4 43.1 +5.7
引用検証 66.7 76.2 +9.5
コストパフォーマンス 13.8 19.6 +5.8
安定性 54.2 31.2 -23
可用性 100 100 0

失点 Top 5

合同条款定位
66.7 35 -31.7
引用検証 citation_grounded
詳細証拠を展開
前回の回答
根据《软件开发服务合同 XC-YF-2026-0318》,我将回答您的两个问题: ## 一、延迟交付的罚款上限 延迟交付的罚款上限为**27万元**,即合同总价的15%。[contract-1, 第五条5.1] 具体规定: - 乙方每延迟1天应支付合同总价0.5%的违约金 - 违约金累计总额上限为合同总价的15% - 合同总价为180万元,因此上限为180万×15%=27万元 ## 二、甲方可以单方面终止合同的情况 根据合同约定,甲方可以在以下情况下单方面终止合同:[contract-1, 第九条9.1] 1. **乙方连续三次验收不通过** - 这与第四条4.3的规定一致,即"连续三次验收不通过的,甲方有权终止合同" 2. **乙方延迟交付超过30天** - 这与第五条5.1的规定一致,即"逾期超过30天的,甲方有权解除合同" 3. **乙方被依法宣告破产或进入清算程序** 4. **乙方将本合同项下的工作未经甲方书面同意转包给第三方** 此外,根据第五条5.3,如果"任何一方严重违约导致合同无法继续履行的,守约方有权解除合同",这也赋予了甲方在乙方严重违约时的解除权。[contract-1, 第五条5.3]
今回の回答
根据《软件开发服务合同 XC-YF-2026-0318》,我为您详细回答这两个问题: ## 一、延迟交付的罚款上限 延迟交付的罚款(违约金)上限为**合同总价的15%,即27万元人民币**。 具体规定为:乙方每延迟1天应向甲方支付合同总价0.5%的违约金,违约金累计总额上限为合同总价的15%。 【依据:contract-1 第五条第5.1款】 ## 二、甲方可以单方面终止合同的情况 根据合同约定,甲方有权在以下**四种情况**下单方面终止本合同: 1. **乙方连续三次验收不通过** - 这与第四条第4.3款的规定一致,该条款明确"连续三次验收不通过的,甲方有权终止合同" 【依据:contract-1 第九条第9.1款第(1)项;第四条第4.3款】 2. **乙方延迟交付超过30天** - 这与第五条第5.1款后半部分的规定一致,该条款明确"逾期超过30天的,甲方有权解除合同" 【依据:contract-1 第九条第9.1款第(2)项;第五条第5.1款】 3. **乙方被依法宣告破产或进入清算程序** 【依据:contract-1 第九条第9.1款第(3)项】 4. **乙方将本合同项下的工作未经甲方书面同意转包给第三方** 【依据:contract-1 第九条第9.1款第(4)项】 需要注意的是,合同终止后,乙方应将已完成的工作成果移交给甲方,甲方按实际完成的工作量支付相应费用。同时,合同终止不影响保密条款和知识产权条款的继续有效。 【依据:contract-1 第九条第9.2款、第9.3款】
正则表达式编写
20 0 -20
コード実行 python_unit_test
詳細証拠を展開
前回の回答
```python pattern1 = r'^(\+86|0086)?1\d{10}$' pattern2 = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$' pattern3 = r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' ```
今回の回答
```python pattern1 = r'^(?:\+86|0086)?1[3-9]\d{9}$' pattern2 = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$' pattern3 = r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' ```
浮点精度陷阱
10 0 -10
コード実行 exact_lines STRICT
詳細証拠を展開
前回の回答
False True True
今回の回答
False True True
代码输出:闭包
10 0 -10
コード実行 exact_lines STRICT
詳細証拠を展開
前回の回答
[2, 2, 2]
今回の回答
[2, 2, 2]
Debug:事件监听泄漏
10 0 -10
コード実行 diff_patch_unit_test STRICT
詳細証拠を展開
前回の回答
```javascript const resizeHandler = () => { console.log(window.innerWidth); }; function mount() { window.addEventListener('resize', resizeHandler); } function unmount() { window.removeEventListener('resize', resizeHandler); } ```
今回の回答
```javascript let resizeHandler = null; function mount() { if (resizeHandler) return; resizeHandler = () => { console.log(window.innerWidth); }; window.addEventListener('resize', resizeHandler); } function unmount() { if (resizeHandler) { window.removeEventListener('resize', resizeHandler); resizeHandler = null; } } ```

得点 Top 5

Debug:链表反转
10 100 +90
コード実行 diff_patch_unit_test STRICT
詳細証拠を展開
前回の回答
```python class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def reverse_list(head): prev = None curr = head while curr: next_temp = curr.next # 先保存下一个节点 curr.next = prev prev = curr curr = next_temp # 使用保存的下一个节点 return prev ``` **bug原因**:原代码在 `curr.next = prev` 执行后,原本的 `curr.next` 指向的节点引用就丢失了。然后执行 `curr = curr.next` 时,`curr` 会被赋值为 `prev`(因为刚刚已经将 `curr.next` 改为指向 `prev`),导致无法继续遍历原链表的剩余节点。 修复方法是在修改 `curr.next` 之前,先用临时变量保存原本的下一个节点。
今回の回答
```python class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def reverse_list(head): prev = None curr = head while curr: next_temp = curr.next # 先保存下一个节点 curr.next = prev prev = curr curr = next_temp # 使用保存的节点继续遍历 return prev ``` **Bug原因**:原代码在 `curr.next = prev` 执行后,`curr.next` 已经指向了 `prev`,此时再执行 `curr = curr.next` 会让 `curr` 指向 `prev`(即向后退),而不是原链表的下一个节点,导致无法继续遍历原链表,从而丢失后续节点。 修正方法是在修改 `curr.next` 之前,先用临时变量保存原来的 `curr.next`。
Debug:DFS 环检测
10 100 +90
コード実行 diff_patch_unit_test STRICT
詳細証拠を展開
前回の回答
```python def has_cycle(graph): visited = set() rec_stack = set() def dfs(node): if node in rec_stack: return True if node in visited: return False visited.add(node) rec_stack.add(node) for nei in graph.get(node, []): if dfs(nei): return True rec_stack.remove(node) return False for n in graph: if n not in visited: if dfs(n): return True return False ```
今回の回答
```python def has_cycle(graph): visited = set() rec_stack = set() def dfs(node): if node in rec_stack: return True if node in visited: return False visited.add(node) rec_stack.add(node) for nei in graph.get(node, []): if dfs(nei): return True rec_stack.remove(node) return False for n in graph: if n not in visited: if dfs(n): return True return False ```
异常处理链
10 95 +85
コード実行 python_unit_test STRICT
詳細証拠を展開
前回の回答
```python def load_and_apply(path): try: config_text = read_config(path) config = parse_config(config_text) apply_config(config) return True except FileNotFoundError: print(f"配置文件未找到: {path}") return False except json.JSONDecodeError: print("配置文件解析失败") return False except ValueError: print("配置应用失败") return False finally: print("配置加载流程结束") ```
今回の回答
```python def load_and_apply(path): try: config_text = read_config(path) config = parse_config(config_text) apply_config(config) return True except FileNotFoundError: print(f"日志: 配置文件未找到: {path}") return False except json.JSONDecodeError: print("日志: 配置文件格式错误") return False except ValueError: print("日志: 配置应用失败") return False finally: print("配置加载流程结束") ```
二分查找(左边界版)
20 100 +80
コード実行 python_unit_test STRICT
詳細証拠を展開
前回の回答
```python def binary_search(arr, target): left, right = 0, len(arr) - 1 result = -1 while left <= right: mid = left + (right - left) // 2 if arr[mid] == target: result = mid right = mid - 1 elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return result ```
今回の回答
```python def binary_search(arr, target): left, right = 0, len(arr) - 1 result = -1 while left <= right: mid = left + (right - left) // 2 if arr[mid] == target: result = mid right = mid - 1 elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return result ```
位运算:判断2的幂与 bit count
20 100 +80
コード実行 python_unit_test STRICT
詳細証拠を展開
前回の回答
```python def is_power_of_2(n): if n <= 0: return False return n & (n - 1) == 0 def count_bits(n): count = 0 while n: count += n & 1 n >>= 1 return count # 测试 print(is_power_of_2(0)) print(is_power_of_2(8)) print(is_power_of_2(12)) print(count_bits(15)) ``` 实际输出: ``` False True False 4 ```
今回の回答
```python def is_power_of_2(n): # 2的幂次方满足:n > 0 且 n & (n-1) == 0 return n > 0 and (n & (n - 1)) == 0 def count_bits(n): # 统计二进制中1的个数 count = 0 while n: count += n & 1 n >>= 1 return count # 测试 print(is_power_of_2(0)) print(is_power_of_2(8)) print(is_power_of_2(12)) print(count_bits(15)) ``` 实际输出: ``` False True False 4 ```
変動ランキングに戻る