描述

383. 赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。

思路

计算26字符出现次数的问题

代码

impl Solution {
    pub fn can_construct(ransom_note: String, magazine: String) -> bool {
        let baseChar = 'a';
        let mut record = vec![0; 26];
 
        for c in magazine.bytes() {
            record[c as usize - baseChar as usize] += 1;
        }
 
        for c in ransom_note.bytes() {
            record[c as usize - baseChar as usize] -= 1;
            if (record[c as usize - baseChar as usize] < 0) {
                return false;
            }
        }
 
        true
    }
}

分类

#算法/brute_force