Skip to content

Commit e02945b

Browse files
committed
20200829
1 parent 81ac2e7 commit e02945b

35 files changed

+1159
-116
lines changed

.vscode/settings.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"__split_buffer": "cpp",
88
"deque": "cpp",
99
"list": "cpp",
10-
"iosfwd": "cpp"
10+
"iosfwd": "cpp",
11+
"algorithm": "cpp"
1112
}
1213
}

leetcode/dancisousuo79.cpp

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#include "include.h"
2+
3+
using namespace std;
4+
5+
bool dfs(vector<vector<char> >& board, string& word, int i,int j,int length){
6+
if(i>=board.size()||j>=board[0].size()||i<0||j<0||length>=word.size()||word[length]!=board[i][j]){
7+
return false;
8+
}
9+
if(length==word.size()-1&&word[length]==board[i][j]){
10+
return true;
11+
}
12+
char temp=board[i][j];
13+
board[i][j]='0';
14+
bool flag=dfs(board,word,i,j+1,length+1)||dfs(board,word,i,j-1,length+1)||dfs(board,word,i+1,j,length+1)||dfs(board,word,i-1,j,length+1);
15+
board[i][j]=temp; // 标记过的点恢复原状,以便进行下一次搜索
16+
return flag;
17+
}
18+
19+
bool exist(vector<vector<char> >& board, string word) {
20+
if(board.size() == 0) return false;
21+
for (int i=0;i<board.size();i++){
22+
for(int j=0;j<board[0].size();j++){
23+
if (dfs(board,word,i,j,0)){
24+
return true;
25+
}
26+
}
27+
}
28+
return false;
29+
}
30+
31+
string getString(){
32+
string result;
33+
getline(cin, result);
34+
return result;
35+
}
36+
37+
int main(int argc, char const *argv[])
38+
{
39+
vector<vector<char> > m{{'0','1','C','H','A'},{'9','E','7','B','I'},{'k','D','4','8','J'},{'6','5','F','G','O'},{'L','N','M','2','3'}};
40+
string str;
41+
while (getline(cin,str))
42+
{
43+
if(exist(m,str)){
44+
cout << "Y"<<endl;
45+
}else{
46+
cout << "N"<<endl;
47+
}
48+
}
49+
return 0;
50+
}

leetcode/include.h

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
// C
2+
#ifndef _GLIBCXX_NO_ASSERT
3+
#include <cassert>
4+
#endif
5+
#include <cctype>
6+
#include <cerrno>
7+
#include <cfloat>
8+
#include <ciso646>
9+
#include <climits>
10+
#include <clocale>
11+
#include <cmath>
12+
#include <csetjmp>
13+
#include <csignal>
14+
#include <cstdarg>
15+
#include <cstddef>
16+
#include <cstdio>
17+
#include <cstdlib>
18+
#include <cstring>
19+
#include <ctime>
20+
21+
#if __cplusplus >= 201103L
22+
#include <ccomplex>
23+
#include <cfenv>
24+
#include <cinttypes>
25+
//#include <cstdalign>
26+
#include <cstdbool>
27+
#include <cstdint>
28+
#include <ctgmath>
29+
#include <cwchar>
30+
#include <cwctype>
31+
#endif
32+
33+
// C++
34+
#include <algorithm>
35+
#include <bitset>
36+
#include <complex>
37+
#include <deque>
38+
#include <exception>
39+
#include <fstream>
40+
#include <functional>
41+
#include <iomanip>
42+
#include <ios>
43+
#include <iosfwd>
44+
#include <iostream>
45+
#include <istream>
46+
#include <iterator>
47+
#include <limits>
48+
#include <list>
49+
#include <locale>
50+
#include <map>
51+
#include <memory>
52+
#include <new>
53+
#include <numeric>
54+
#include <ostream>
55+
#include <queue>
56+
#include <set>
57+
#include <sstream>
58+
#include <stack>
59+
#include <stdexcept>
60+
#include <streambuf>
61+
#include <string>
62+
#include <typeinfo>
63+
#include <utility>
64+
#include <valarray>
65+
#include <vector>
66+
67+
#if __cplusplus >= 201103L
68+
#include <array>
69+
#include <atomic>
70+
#include <chrono>
71+
#include <condition_variable>
72+
#include <forward_list>
73+
#include <future>
74+
#include <initializer_list>
75+
#include <mutex>
76+
#include <random>
77+
#include <ratio>
78+
#include <regex>
79+
#include <scoped_allocator>
80+
#include <system_error>
81+
#include <thread>
82+
#include <tuple>
83+
#include <typeindex>
84+
#include <type_traits>
85+
#include <unordered_map>
86+
#include <unordered_set>
87+
#endif
88+
89+
90+
//#include <bits/stdc++.h>
91+
92+

leetcode/listtest

25.9 KB
Binary file not shown.

leetcode/listtest.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include "include.h"
2+
3+
using namespace std;
4+
5+
int main(int argc, char const *argv[])
6+
{
7+
list<int> nums;
8+
for(int i = 0; i < 7;i++){
9+
nums.push_back(i);
10+
}
11+
12+
return 0;
13+
}

leetcode/lujing

72.5 KB
Binary file not shown.

leetcode/lujing.cpp

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
#include "include.h"
2+
3+
using namespace std;
4+
5+
//获取一个数字
6+
template <typename T>
7+
T getNum(){
8+
T result = 0;
9+
string str;
10+
bool isFushu = false;
11+
getline(cin, str);
12+
for(int i = 0; i < str.size(); ++i){
13+
if(str[i] == '-'){
14+
isFushu = true;
15+
continue;
16+
}
17+
if(str[i]>='0' && str[i] <= '9'){
18+
result = isFushu? result*10 - str[i] + '0' : result*10 + str[i] - '0';
19+
}
20+
}
21+
return result;
22+
}
23+
//获取多个数字
24+
template <typename T>
25+
vector<T> getNums(char c = ' '){
26+
vector<T> result;
27+
string str;
28+
T tmp = 0;
29+
bool minus = false;
30+
getline(cin, str);
31+
if(str.size() == 0) return result;
32+
for(int i = 0; i < str.size(); i++){
33+
if(str[i] == c){
34+
result.push_back(tmp);
35+
tmp = 0;
36+
minus = false;
37+
continue;
38+
}
39+
if(str[i] == '-'){
40+
minus = true;
41+
continue;
42+
}
43+
tmp = minus? tmp*10 - str[i] + '0' : tmp*10 + str[i] - '0';
44+
}
45+
result.push_back(tmp);
46+
return result;
47+
}
48+
//获取二维数组
49+
template <typename T>
50+
vector< vector<T> > getNums2(int n, char c = ' '){
51+
vector< vector<T> > result;
52+
vector<T > tmpResult;
53+
while(n--){
54+
tmpResult = getNums<T>(c);
55+
if(tmpResult.size() == 0) break;
56+
result.push_back(tmpResult);
57+
tmpResult.clear();
58+
}
59+
return result;
60+
}
61+
62+
void huisu(vector<vector<int> > &matrix,int target, int &sum, int &i, int &j,vector<int> &tmpres, vector<vector<int> > &result){
63+
if(sum == target){
64+
result.push_back(tmpres);
65+
return ;
66+
}else if(sum < target){
67+
if(i-1 >= 0){
68+
i--;
69+
tmpres.push_back(matrix[i][j]);
70+
sum+=matrix[i][j];
71+
huisu(matrix, target, sum, i, j, tmpres, result);
72+
sum-=matrix[i][j];
73+
tmpres.pop_back();
74+
i++;
75+
}
76+
if(j+1 <= matrix[0].size()-1){
77+
j++;
78+
tmpres.push_back(matrix[i][j]);
79+
sum+=matrix[i][j];
80+
huisu(matrix, target, sum, i, j, tmpres, result);
81+
sum-=matrix[i][j];
82+
tmpres.pop_back();
83+
j--;
84+
}
85+
}else{
86+
return ;
87+
}
88+
89+
}
90+
91+
//输出二维vector
92+
template <typename T>
93+
void printVector2(vector<vector<T> > input){
94+
for(int i = 0 ; i < input.size(); ++i){
95+
for(int j = 0; j < input[i].size(); ++j){
96+
cout << input[i][j] << "\t";
97+
}
98+
cout << endl;
99+
}
100+
}
101+
102+
int main(int argc, char const *argv[])
103+
{
104+
//获取矩阵目标路径(没有对空矩阵判断)
105+
int n = getNum<int>();//矩阵行数
106+
vector<vector<int> > matrix = getNums2<int>(n);//矩阵
107+
int target = getNum<int>();//目标值
108+
int i = n-1,j = 0;
109+
int sum = matrix[i][j];
110+
vector<int> tmpvec{matrix[i][j]};
111+
vector<vector<int> > result;//结果
112+
huisu(matrix, target, sum, i, j, tmpvec, result);
113+
printVector2(result);
114+
return 0;
115+
}

leetcode/pushvector

22.6 KB
Binary file not shown.

leetcode/pushvector.cpp

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#include "include.h"
2+
3+
using namespace std;
4+
5+
class A
6+
{
7+
private:
8+
/* data */
9+
public:
10+
A(/* args */);
11+
~A();
12+
};
13+
14+
A::A(/* args */)
15+
{
16+
cout << "create"<<endl;
17+
}
18+
19+
A::~A()
20+
{
21+
cout <<"delete" << endl;
22+
}
23+
24+
25+
int main(int argc, char const *argv[])
26+
{
27+
int a[6][9][6];
28+
for (size_t i = 0; i < 6; i++)
29+
{
30+
for (size_t j = 0; j < 9; j++)
31+
{
32+
for (size_t k = 0; k < 6; k++)
33+
{
34+
a[i][j][k] = i*54+j*6+k;
35+
}
36+
37+
}
38+
39+
}
40+
// cout << ***(a+736);
41+
42+
return 0;
43+
}

leetcode/wuguo.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include "include.h"
2+
3+
using namespace std;
4+
5+
//获取一个数字
6+
template <typename T>
7+
T getNum(){
8+
T result = 0;
9+
string str;
10+
bool isFushu = false;
11+
getline(cin, str);
12+
for(int i = 0; i < str.size(); ++i){
13+
if(str[i] == '-'){
14+
isFushu = true;
15+
continue;
16+
}
17+
if(str[i]>='0' && str[i] <= '9'){
18+
result = isFushu? result*10 - str[i] + '0' : result*10 + str[i] - '0';
19+
}
20+
}
21+
return result;
22+
}
23+
24+
int main(int argc, char const *argv[])
25+
{
26+
int cont = getNum<int>();
27+
28+
return 0;
29+
}

京东/235str

40.1 KB
Binary file not shown.

京东/235str.cpp

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#include "include.h"
2+
#include "bits/stdc++.h"
3+
4+
using namespace std;
5+
6+
int shuzi(int n){
7+
vector<int> dp;
8+
if(n == 0) return 0;
9+
else dp.push_back(0);
10+
int p2 = 0, p3 =0, p5 = 0;
11+
while(--n >= 0){
12+
int tmp = min(dp[p2] * 10 + 2, min(dp[p3]*10+3, dp[p5] * 10 + 5));
13+
if(tmp == dp[p2] * 10 + 2){
14+
dp.push_back(tmp);
15+
p2++;
16+
}else if(tmp == dp[p3] * 10 + 3){
17+
dp.push_back(tmp);
18+
p3++;
19+
}else if(tmp == dp[p5] * 10 + 5){
20+
dp.push_back(tmp);
21+
p5++;
22+
}
23+
}
24+
return dp[dp.size() - 1];
25+
}
26+
27+
int main(int argc, char const *argv[])
28+
{
29+
int n;
30+
cin >> n;
31+
cout << shuzi(n);
32+
return 0;
33+
}

京东/boss

53.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)