HashSet来解
use std::io::{self, *};
use std::collections::HashSet;
fn main() {
let stdin = io::stdin();
let mut table = HashSet::new();
for line in stdin.lock().lines() {
let mut v : Vec<u8> = Vec::from(line.unwrap());
for i in 0..v.len(){
if v[i] < 128u8 {
table.insert(v[i]);
}
}
println!("{}",table.len());
}
}
也可以辅助数组:
use std::io::{self, *};
fn main() {
let stdin = io::stdin();
let mut table = vec![0; 128];
for line in stdin.lock().lines() {
let mut v : Vec<u8> = Vec::from(line.unwrap());
for i in 0..v.len(){
if v[i] > 127u8 {
}else if table[v[i] as usize] == 0 {
table[v[i] as usize] += 1;
}
}
let mut sum = 0i32;
for i in 0..128 {
if table[i] == 1 {sum += 1;}
}
println!("{}",sum);
table = vec![0; 128];
}
}