這一類問題的出現,主要有幾個原因:
a. 您的程序使用了全局變量或者自定義的類內變量。
力扣的判題機在讀取您的代碼后,對每個測試用例,都會初始化一次類,但全局變量和類內靜態變量需要您手動初始化。例如,在第一題(兩數之和)的判題過程中:
|
1
2
3
4
5
6
7
8
9
10
|
int
globalVariable = 0;
class
Solution {
public
:
int
classVariable = 0;
vector<
int
> twoSum(vector<
int
>& nums,
int
target) {
classVariable++;
globalVariable++;
return
{classVariable, globalVariable};
};
};
|
這樣的代碼在運行兩次test case后,輸出的結果會是[1, 1], [1, 2]。
為了避免這樣的問題,一般有兩種解決方法:
1、避免申明類內靜態變量以及全局變量。
2、在 twoSum 內對全局變量初始化。
b. 您的代碼存在細微的問題,如變量沒有初始化。
在使用中遇到題目問題,也可至 力扣圈子 進行題目交流,發布時描述清楚您的問題及使用場景,以獲得更好的支持喲~
轉自LeetCode。傳送門:https://support.leetcode-cn.com/hc/kb/article/1194344/
