Skip to content

Commit 93c8e19

Browse files
committed
20181203
1 parent fcc5b2e commit 93c8e19

File tree

8 files changed

+146
-5
lines changed

8 files changed

+146
-5
lines changed

c++/algorithm/leetcode/_215_findKthLargest.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
> Created Time: 2018年11月19日 星期一 16时03分24秒
66
************************************************************************/
77

8-
#include<iostream>
8+
#include <iostream>
9+
#include <vector>
910
using namespace std;
1011
class Solution {
1112
public:
@@ -39,7 +40,7 @@ class Solution {
3940
int partition(vector<int>& arr,int low,int high){
4041
int base = arr[low];
4142

42-
while (low < high) {
43+
while (low < high){
4344
while (low < high && arr[high] <= base) {
4445
high--;
4546
}
@@ -53,3 +54,8 @@ class Solution {
5354
return low;
5455
}
5556
};
57+
58+
int main(int argc,char* argv[]){
59+
cout<<"hello"<<endl;
60+
return 0;
61+
}

c++/algorithm/leetcode/a

19.9 KB
Binary file not shown.

c++/algorithm/leetcode/b

19.9 KB
Binary file not shown.

c++/algorithm/leetcode/priority_queue.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
> Created Time: 2018年11月19日 星期一 17时45分57秒
66
************************************************************************/
77

8-
#include<iostream>
9-
using namespace std;
108
#include <iostream>
11-
#include <string>
129
#include <algorithm>
1310
#include <vector>
1411
#include <map>
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
/*************************************************************************
2+
> File Name: _30_getLeastNumbers.cpp
3+
> Author:
4+
> Mail:
5+
> Created Time: 2018年11月19日 星期一 19时57分33秒
6+
************************************************************************/
7+
8+
#include<iostream>
9+
#include<functional>
10+
#include<algorithm>
11+
#include<vector>
12+
#include<queue>
13+
#include<set>
14+
#include <cstdio>
15+
using namespace std;
16+
class Solution {
17+
public:
18+
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
19+
int size = input.size();
20+
vector<int> ret;
21+
if (size == 0 || k <= 0 || k > size)
22+
return ret;
23+
priority_queue<int> q;
24+
for (int i = 0; i < size; i++) {
25+
if (q.size() < k)
26+
q.push(input[i]);
27+
else {
28+
if (input[i] < q.top()) {
29+
q.pop();
30+
q.push(input[i]);
31+
}
32+
}
33+
}
34+
while (!q.empty()) {
35+
ret.push_back(q.top());
36+
q.pop();
37+
38+
}
39+
reverse(ret.begin(), ret.end());
40+
return ret;
41+
}
42+
43+
int main(){
44+
cout << endl;
45+
printf("123");
46+
return 0;
47+
}
48+
49+
};
50+
class Solution1{
51+
public:
52+
vector<int> GetLeastNumbers(vector<int> input, int k){
53+
if(input.size() < k || k < 0)
54+
return vector<int>();
55+
56+
multiset<int, std::greater<int> > leastNumbers;
57+
vector<int> ::const_iterator iter = input.begin();
58+
for(; iter != input.end(); iter++){
59+
if(leastNumbers.size() < k)
60+
leastNumbers.insert(*iter);
61+
else{
62+
multiset<int, greater<int> >::iterator iterGreatest = leastNumbers.begin();
63+
if(*iter < * iterGreatest){
64+
leastNumbers.erase(*iterGreatest);
65+
leastNumbers.insert(*iter);
66+
67+
}
68+
69+
}
70+
71+
}
72+
return vector<int>(leastNumbers.begin(), leastNumbers.end());
73+
74+
}
75+
//typedef multiset<int, std::greater<int> > intSet;
76+
//typedef multiset<int, std::greater<int> >::iterator setIterator;
77+
//
78+
//void GetLeastNumbers_Solution2(const vector<int>& data, intSet& leastNumbers, int k)
79+
//{
80+
// leastNumbers.clear();
81+
//
82+
// if(k < 1 || data.size() < k)
83+
// return;
84+
//
85+
// vector<int>::const_iterator iter = data.begin();
86+
// for(; iter != data.end(); ++ iter)
87+
// {
88+
// if((leastNumbers.size()) < k)
89+
// leastNumbers.insert(*iter);
90+
//
91+
// else
92+
// {
93+
// setIterator iterGreatest = leastNumbers.begin();
94+
//
95+
// if(*iter < *(leastNumbers.begin()))
96+
// {
97+
// leastNumbers.erase(iterGreatest);
98+
// leastNumbers.insert(*iter);
99+
// }
100+
// }
101+
// }
102+
//}
103+
104+
105+
};
2.05 KB
Binary file not shown.

c++/algorithm/test/heoo.c

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*************************************************************************
2+
> File Name: heoo.c
3+
> Author:
4+
> Mail:
5+
> Created Time: 2018年11月25日 星期日 21时03分23秒
6+
************************************************************************/
7+
8+
#include<stdio.h>
9+
10+
11+
int g_var = 0;
12+
13+
static int _add(int a, int b) {
14+
printf("_add callad, a:%d, b:%d\n", a, b);
15+
return a+b;
16+
17+
}
18+
19+
int main(void) {
20+
int n = 1;
21+
22+
printf("one n=%d, g_var=%d\n", n, g_var);
23+
++n;
24+
--n;
25+
26+
g_var += 20;
27+
g_var -= 10;
28+
n = _add(1, g_var);
29+
printf("two n=%d, g_var=%d\n", n, g_var);
30+
31+
return 0;
32+
33+
}

c++/algorithm/test/heoo.out

9.67 KB
Binary file not shown.

0 commit comments

Comments
 (0)