File tree Expand file tree Collapse file tree 1 file changed +28
-15
lines changed
Expand file tree Collapse file tree 1 file changed +28
-15
lines changed Original file line number Diff line number Diff line change 33using namespace std ;
44const int maxn = 1005 ;
55int a[maxn];
6+
7+ // void debug(vector<int> mem)
8+ // {
9+ // vector<int>::iterator i = mem.begin();
10+ // for(i = mem.begin(); i != mem.end(); i++)
11+ // {
12+ // cout << *i << endl;
13+ // }
14+ // cout << "size:" << mem.size() << endl;
15+ // }
616int main ()
717{
818 vector<int > mem;
@@ -13,35 +23,38 @@ int main()
1323 {
1424 cin >> a[i];
1525 }
26+
1627 for (int j = 0 ; j < n; j++)
1728 {
29+ // 内存中是否已存在该值
1830 bool flag = false ;
19- vector< int >::iterator k = mem. begin ();
20- for (k = mem.begin (); k != mem. end (); k++ )
31+ // 先查一遍有没有a[j]
32+ if ( mem.size () != 0 )
2133 {
22- if (*k == a[j])
34+ vector<int >::iterator k = mem.begin ();
35+ for (k = mem.begin (); k != mem.end (); k++)
2336 {
24- flag = true ;
25- break ;
37+ if (*k == a[j])
38+ {
39+ flag = true ;
40+ break ;
41+ }
2642 }
2743 }
28-
29- if (mem.size () < 3 || flag == false )
44+ // 当储存个数小于三个并且a[j]未存入时直接压入
45+ if (mem.size () < m && flag == false )
3046 {
31-
3247 mem.push_back (a[j]);
3348 cnt++;
34- cout << " *l:" << mem[0 ] << endl;
35- cout << " size:" << mem.size () << endl;
49+ // debug(mem);
3650 }
37-
38- vector<int >::iterator l = mem.begin ();
39- if (flag == false )
51+ // 储存个数大于三个时如果a[j]未存入
52+ else if (flag == false )
4053 {
54+ vector<int >::iterator l = mem.begin ();
4155 mem.erase (l);
4256 mem.push_back (a[j]);
43- cout << " *l:" << *l << endl;
44- cout << " size:" << mem.size () << endl;
57+ // debug(mem);
4558 cnt++;
4659 }
4760 }
You can’t perform that action at this time.
0 commit comments