题解 | #数组中出现次数超过一半的数字# | Rust

数组中出现次数超过一半的数字

https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163

use std::collections::HashMap;

struct Solution{

}

impl Solution {
    fn new() -> Self {
        Solution{}
    }

    /**
    * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    *
    * 
        * @param numbers int整型一维数组 
        * @return int整型
    */
    pub fn MoreThanHalfNum_Solution(&self, numbers: Vec<i32>) -> i32 {
        // write code here
        let mut hash_table = HashMap::new();
        let n = numbers.len();
        for number in numbers {
            if hash_table.contains_key(&number) {
                (*hash_table.get_mut(&number).unwrap())+=1;
            } else {
                hash_table.insert(number, 1);
            }
            if hash_table[&number] * 2 > n {
                return number;
            }
        }
        return -1;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务