Skip to content

Commit dad95ca

Browse files
committed
add code
0 parents  commit dad95ca

57 files changed

Lines changed: 4767 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

leetcode_003.cpp

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
2+
/*
3+
* =========================================================================
4+
*
5+
* FileName: 003.cpp
6+
*
7+
* Description:
8+
*
9+
* Version: 1.0
10+
* Created: 2018-07-06 11:36:57
11+
* Last Modified: 2018-07-06 11:49:41
12+
* Revision: none
13+
* Compiler: gcc
14+
*
15+
* Author: zt ()
16+
* Organization:
17+
*
18+
* =========================================================================
19+
*/
20+
21+
#include <stdio.h>
22+
#include <stdlib.h>
23+
#include <stdint.h>
24+
#include <stddef.h>
25+
#include <string.h>
26+
#include <signal.h>
27+
#include <errno.h>
28+
#include <unistd.h>
29+
#include <netinet/in.h>
30+
#include <arpa/inet.h>
31+
#include <sys/socket.h>
32+
33+
#include <iostream>
34+
#include <memory>
35+
#include <algorithm>
36+
#include <vector>
37+
#include <thread>
38+
#include <mutex>
39+
#include <map>
40+
#include <list>
41+
#include <string>
42+
#include <functional>
43+
44+
45+
int FindMaxSubStr ( std::string s )
46+
{
47+
if ( 0 == s.size() )
48+
return 0;
49+
50+
std::map<char, int> d;
51+
int res = 0;
52+
int temp = 0;
53+
int pos = 0;
54+
55+
for ( uint32_t i = 0; i < s.size(); ++i )
56+
{
57+
auto iter = d.find ( s[i] );
58+
59+
if ( iter != d.end() && iter->second >= pos )
60+
pos = iter->second + 1;
61+
62+
temp = i - pos + 1;
63+
64+
if ( iter != d.end() )
65+
iter->second = i;
66+
else
67+
d.insert ( {s[i], i} );
68+
res = res > temp ? res : temp;
69+
}
70+
71+
return res;
72+
}
73+
74+
75+
int main ( int argc, char* argv[] )
76+
{
77+
( void ) argc;
78+
( void ) argv;
79+
80+
printf ( "fmss..%d \n", FindMaxSubStr ( "sssccakk" ) );
81+
printf ( "fmss..%d \n", FindMaxSubStr ( "pwwkew" ) );
82+
83+
return 0;
84+
}
85+

leetcode_107.cpp

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
2+
/*
3+
* =========================================================================
4+
*
5+
* FileName: leetcode_107.cpp
6+
*
7+
* Description:
8+
*
9+
* Version: 1.0
10+
* Created: 2018-11-20 09:50:07
11+
* Last Modified: 2018-11-20 11:08:01
12+
* Revision: none
13+
* Compiler: gcc
14+
*
15+
* Author: zt ()
16+
* Organization:
17+
*
18+
* =========================================================================
19+
*/
20+
21+
#include <stdio.h>
22+
#include <stdlib.h>
23+
#include <stdint.h>
24+
#include <stddef.h>
25+
#include <string.h>
26+
#include <signal.h>
27+
#include <errno.h>
28+
#include <unistd.h>
29+
#include <netinet/in.h>
30+
#include <arpa/inet.h>
31+
#include <sys/socket.h>
32+
33+
#include <iostream>
34+
#include <memory>
35+
#include <algorithm>
36+
#include <vector>
37+
#include <thread>
38+
#include <mutex>
39+
#include <map>
40+
#include <list>
41+
#include <string>
42+
#include <functional>
43+
44+
using namespace std;
45+
46+
struct TreeNode
47+
{
48+
int val;
49+
TreeNode* left;
50+
TreeNode* right;
51+
TreeNode ( int x ) : val ( x ), left ( NULL ), right ( NULL ) {}
52+
};
53+
54+
vector<vector<int>> levelOrderBottom ( TreeNode* root )
55+
{
56+
if ( !root )
57+
return {};
58+
59+
vector<vector<int>> ret;
60+
61+
vector<TreeNode*> tmp;
62+
63+
int e = 1;
64+
65+
int c = 0;
66+
67+
int i = 0;
68+
69+
tmp.push_back ( root );
70+
71+
ret.push_back ( {} );
72+
73+
for ( ; ; )
74+
{
75+
ret[i].push_back ( tmp[c]->val );
76+
77+
if ( tmp[c]->left )
78+
tmp.push_back ( tmp[c]->left );
79+
80+
if ( tmp[c]->right )
81+
tmp.push_back ( tmp[c]->right );
82+
83+
++c;
84+
85+
if ( c == e )
86+
{
87+
if ( e == tmp.size() )
88+
break;
89+
else
90+
{
91+
e = tmp.size();
92+
ret.push_back ( {} );
93+
++i;
94+
}
95+
}
96+
}
97+
98+
reverse ( ret.begin(), ret.end() );
99+
return ret;
100+
}
101+
102+
int main ( int argc, char* argv[] )
103+
{
104+
( void ) argc;
105+
( void ) argv;
106+
107+
108+
return 0;
109+
}
110+

leetcode_119.cpp

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
2+
/*
3+
* =========================================================================
4+
*
5+
* FileName: leetcode_119.cpp
6+
*
7+
* Description:
8+
*
9+
* Version: 1.0
10+
* Created: 2018-11-24 10:01:36
11+
* Last Modified: 2018-11-24 10:01:53
12+
* Revision: none
13+
* Compiler: gcc
14+
*
15+
* Author: zt ()
16+
* Organization:
17+
*
18+
* =========================================================================
19+
*/
20+
21+
#include <stdio.h>
22+
#include <stdlib.h>
23+
#include <stdint.h>
24+
#include <stddef.h>
25+
#include <string.h>
26+
#include <signal.h>
27+
#include <errno.h>
28+
#include <unistd.h>
29+
#include <netinet/in.h>
30+
#include <arpa/inet.h>
31+
#include <sys/socket.h>
32+
33+
#include <iostream>
34+
#include <memory>
35+
#include <algorithm>
36+
#include <vector>
37+
#include <thread>
38+
#include <mutex>
39+
#include <map>
40+
#include <list>
41+
#include <string>
42+
#include <functional>
43+
44+
using namespace std;
45+
46+
vector<int> getRow ( int rowIndex )
47+
{
48+
vector<int> ret;
49+
50+
if ( rowIndex == 0 )
51+
return { 1 };
52+
else if ( rowIndex == 1 )
53+
return { 1, 1 };
54+
55+
vector<int> tmp;
56+
57+
tmp = getRow ( rowIndex - 1 );
58+
59+
ret.push_back ( 1 );
60+
61+
int len = tmp.size();
62+
63+
for ( int i = 0; i < len - 1; ++i )
64+
ret.push_back ( tmp[i] + tmp[i + 1] );
65+
66+
ret.push_back ( 1 );
67+
68+
return ret;
69+
}
70+
71+
int main ( int argc, char* argv[] )
72+
{
73+
( void ) argc;
74+
( void ) argv;
75+
76+
77+
return 0;
78+
}
79+

leetcode_122.cpp

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
2+
/*
3+
* =========================================================================
4+
*
5+
* FileName: leetcode_122.cpp
6+
*
7+
* Description:
8+
*
9+
* Version: 1.0
10+
* Created: 2018-11-28 15:41:10
11+
* Last Modified: 2018-11-28 15:41:24
12+
* Revision: none
13+
* Compiler: gcc
14+
*
15+
* Author: zt ()
16+
* Organization:
17+
*
18+
* =========================================================================
19+
*/
20+
21+
#include <stdio.h>
22+
#include <stdlib.h>
23+
#include <stdint.h>
24+
#include <stddef.h>
25+
#include <string.h>
26+
#include <signal.h>
27+
#include <errno.h>
28+
#include <unistd.h>
29+
#include <netinet/in.h>
30+
#include <arpa/inet.h>
31+
#include <sys/socket.h>
32+
33+
#include <iostream>
34+
#include <memory>
35+
#include <algorithm>
36+
#include <vector>
37+
#include <thread>
38+
#include <mutex>
39+
#include <map>
40+
#include <list>
41+
#include <string>
42+
#include <functional>
43+
44+
using namespace std;
45+
46+
int maxProfit ( vector<int>& prices )
47+
{
48+
int ret = 0;
49+
int len = prices.size();
50+
51+
for ( int i = 0; i < len - 1; ++i )
52+
{
53+
if ( prices[i] < prices[i + 1] )
54+
ret += prices[i + 1] - prices[i];
55+
}
56+
57+
return ret;
58+
}
59+
60+
int main ( int argc, char* argv[] )
61+
{
62+
( void ) argc;
63+
( void ) argv;
64+
65+
66+
return 0;
67+
}
68+

0 commit comments

Comments
 (0)