主题:一道难题,快来帮我!!!
NOON
[专家分:0] 发布于 2008-08-05 13:25:00
输入一个大写字母字符串,找出没有在此串中出现的所有大写字母。[em18]
回复列表 (共3个回复)
沙发
shisutianxia [专家分:630] 发布于 2008-08-05 14:55:00
var b:array['A'..'Z']of boolean;
s:string;i:integer;ch:char;
begin
readln(s);
fillchar(b,sizeof(b),false);
for i:=1 to length(s) do
b[s[i]]:=true;
for ch:='A' to 'Z' do
if b[ch]=false then write(ch);
end.
多看书
多思考
板凳
小田甜 [专家分:3910] 发布于 2008-08-05 15:38:00
var
s:set of char;
c:char;
begin
s:=['A'..'Z']
while not eoln do begin
read(c);s:=s-[c];
end;
for c:='A' to 'Z' do if c in s then write(c);
end.
3 楼
游侠UFO [专家分:1200] 发布于 2008-08-06 10:44:00
用类似计数排序的方法..
最后一次扫描 输出计数为0的字母。。。
O(n) 的时间复杂度
我来回复