作者sunneo (艾斯寇德)
站内Programming
标题Re: [问题] 面试遇到的题目
时间Wed Aug 13 07:32:02 2008
我提供一下我会尝试的做法,首先我先产生31个大小的阵列,里面有数字0~30
以及一个back,为阵列最後一个元素的索引位置。
如果back为0 则回传0
n = 产生乱数[ 1 , back ];
回传值 = 阵列[ n ];
对调(阵列[ n ] 跟阵列[ back ]);
--back;
如果back为0,则清空阵列。
回传回传值;
外面检查回传值是否为0,0表示座位已满。
这是在座位没有0号的情形。
有0号的话则以丢出exception的方式。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.227.225.9
※ 编辑: sunneo 来自: 61.227.225.9 (08/13 07:43)
1F:推 liangjr:我也会这样写 存成char array也不一定会比 76.95.86.77 08/13 07:49
2F:→ liangjr:boolean array占空间 76.95.86.77 08/13 07:49
※ 编辑: sunneo 来自: 61.227.225.9 (08/13 08:05)
3F:→ joetsai:座位是从1~30号 又忘了写 =.=" 122.125.229.18 08/13 08:33
4F:→ sunneo:不不不..我知道是1~30 61.227.225.9 08/13 09:09
5F:→ sunneo:只是保留0作为back的最後一号 61.227.225.9 08/13 09:10
6F:→ sunneo:如果取得0表示座位已满 61.227.225.9 08/13 09:10
7F:→ sunneo:你自己用这做法run一次就知道了. 61.227.225.9 08/13 09:11
8F:→ joetsai:嗯嗯 我懂你的意思 但是我不了解 你们怎 122.125.232.12 08/13 10:14
9F:→ joetsai:怎麽避免选到重复的位子...? 122.125.232.12 08/13 10:14
10F:→ sunneo:把选到的位置跟最後元素对调并且popback 61.227.225.9 08/13 10:15
11F:→ sunneo:这样就相当於把选到的位置从候选拿掉 61.227.225.9 08/13 10:15
12F:推 slalala:好方法啊!!!QQ 61.59.146.237 08/13 11:15