讨论/题目交流/测试用例通过,但是提交出现执行出错/
测试用例通过,但是提交出现执行出错

描述
在解答题目时,出现测试用例跑通,但提交后出现执行错误的问题。(对最后最后执行的输入已做测试,可以返回正确答案。)
语言
Rust

提交或者运行的代码
憨憨代码,请谅解<(=/0\=)>

use std::collections::HashMap;
impl Solution {
    pub fn has_groups_size_x(deck: Vec<i32>) -> bool {
        let mut num_hash: HashMap<i32, usize> = HashMap::new();
        deck.iter().for_each(|x| {
            *num_hash.entry(*x).or_insert(0) += 1;
        });
            let mut firt_flag = true;
            let mut divisor: Vec<i32> = Vec::new();
            for (_key, value) in num_hash {
                if firt_flag {
                    firt_flag = false;
                    divisor = Self::get_prime_divisor(value as i32);
                } else {
                    for j in 0..divisor.len() {
                        if value as i32 % divisor[j] != 0 {
                            divisor.remove(j);
                        }
                    }
                }
                if divisor.is_empty() {
                    return false;
                }
            }
            return true;
    }

    fn get_prime_divisor(num: i32) -> Vec<i32> {
        let mut prime_table: Vec<i32> = vec![2];
        let mut divisor: Vec<i32> = Vec::new();
        if num == 1 {
            return vec![];
        }
        if num % 2 == 0 {
            divisor.push(2);
        }
        let mut tmp: i32 = 3;
        while prime_table[prime_table.len() - 1] <= num {
            for i in 0..prime_table.len() {
                if tmp % prime_table[i] as i32 == 0 {
                    tmp += 2;
                    continue;
                }
            }
            prime_table.push(tmp);
            if num % tmp == 0 {
                divisor.push(num);
            }
            tmp += 2;
        }
        return divisor;
    }
}

无效的图片地址

共 2 个回复

1.尽量不要用全局变量;
2.非要用全局变量的话,在外面新定义一个函数,全局变量在原题目的函数里定义,再调用自定义的函数,就ok了

lc有个问题全局变量容易出问题