如果你30分
查看原帖
如果你30分
1436960
Arabidopsis楼主2024/12/6 12:43

设计队列如下:

class Dict
{
public:
	void push(int val)
	{
		dict[cur] = val;
		exist[val] = true;
		if (cur >= mem)
		{
            // 注意这里!
			exist[dict[left]] = false;
			left++;
		}
		cur++;
	}

	bool query(int value)
	{
		return exist[value];
	}

	Dict(int mem = 0)
	{
		this->mem = mem;

		memset(dict, -1, sizeof dict);
		memset(exist, false, sizeof exist);
	}

private:
	int dict[1001];
	bool exist[1001];
	int left = 0;
	int mem = 0,cur = 0;
};

注释下面的哪一行,有没有把上一个元素出队误写成第一个元素出队?如果是,则导致30分。(AC#1、#4、#7)

2024/12/6 12:43
加载中...