Skip to content

Commit fdab984

Browse files
committed
Weekly contest 181
1 parent 1086f82 commit fdab984

File tree

4 files changed

+85
-10
lines changed

4 files changed

+85
-10
lines changed

WeeklyContest/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
|Date|Contest|Problem|Complexity|Solution|
55
|---|---|---|---|---|
6+
|2020/03/22| WC181_01| [Create Target Array In The Given Order](https://leetcode-cn.com/problems/create-target-array-in-the-given-order/) |E| 关键语法:</br> PY: list.insert(ix,val)</br>CPP: v.insert(v.begin()+ix,val) |
7+
||WC181_02| [Four divisors](https://leetcode-cn.com/problems/four-divisors/) | M|暴力,代码太丑,不贴了|
8+
||WC181_03 |[Check If There Is A Valid Path In A Grid](https://leetcode-cn.com/contest/check-if-there-is-a-valid-path-in-a-grid/) |M| [C++](https://github.com/codename1995/leetcodehub/blob/master/cpp/WC181_03_Check_If_There_Is_A_Valid_Path_In_A_Grid/WC181_03_Check_If_There_Is_A_Valid_Path_In_A_Grid.cpp)</br>s.substr(ix)返回索引ix至结尾的子字符串 |
69
|2020/03/01| WC178_01 |[How Many Numbers Are Smaller Than The Current Number](https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number/) |E| [C++](https://github.com/codename1995/leetcodehub/blob/master/WeeklyContest/WCCPP/WC178_01_How_Many_Numbers_Are_Smaller_Than_The_Current_Number/WC178_01_How_Many_Numbers_Are_Smaller_Than_The_Current_Number.cpp) </br>解法1:暴力双层循环</br>解法2:先建积分表,再查询生成答案 |
710
||WC178_02 | [Rank Teams By Votes](https://leetcode-cn.com/problems/rank-teams-by-votes/) |M| [C++](https://github.com/codename1995/leetcodehub/blob/master/WeeklyContest/WCCPP/WC178_02_Rank_Teams_By_Votes/WC178_02_Rank_Teams_By_Votes.cpp) |
811
||WC178_03 |[Linked List In Binary Tree](https://leetcode-cn.com/problems/linked-list-in-binary-tree/) | M|[C++](https://github.com/codename1995/leetcodehub/blob/master/WeeklyContest/WCCPP/WC178_03_Linked_List_In_Binary_Tree/WC178_03_Linked_List_In_Binary_Tree.cpp) |
@@ -137,6 +140,7 @@
137140
#### Rank
138141
|No. | Rank| Percent|
139142
|---|---|---|
143+
|WC181 |591/4148 |14.2%|
140144
|WC178 |597/3304 |17.7%|
141145
|WC171 |617/1707 |36.1%|
142146
|WC168 |571/1551 |36.8%|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#include<string>
2+
#include<vector>
3+
4+
using namespace std;
5+
6+
class Solution {
7+
public:
8+
const vector<vector<int>> st{ // Status change Table
9+
{-1,-1,-1,-1}, // 0号道路
10+
{-1,1,-1,3},// 1号道路
11+
{0,-1,2,-1},// 2号道路
12+
{3,2,-1,-1},// 3号道路
13+
{1,-1,-1,2},// 4号道路
14+
{-1,0,3,-1},// 5号道路
15+
{-1,-1,1,0} // 6号道路
16+
// 四个方向:上右下左
17+
};
18+
int n, m;
19+
vector<vector<int>> grid;
20+
21+
bool cm(int r, int c, int f) {
22+
// check move
23+
int s = grid[r][c];
24+
// 1.检查是否可以进入该方格
25+
if (st[s][f] == -1) return false;
26+
// 2.若已进入最终方格,则返回true
27+
if (r == m - 1 && c == n - 1) return true;
28+
// 3.移动
29+
int ns = st[s][f]; // next state
30+
int nr = r, nc = c;//next r, next c
31+
switch (ns) {
32+
case 0:
33+
nr = r - 1;
34+
break;
35+
case 1:
36+
nc = c + 1;
37+
break;
38+
case 2:
39+
nr = r + 1;
40+
break;
41+
case 3:
42+
nc = c - 1;
43+
break;
44+
}
45+
// 4.检查是否越界
46+
if (nr < 0 || nr >= m || nc < 0 || nc >= n) return false;
47+
// 5.递归下一处方格
48+
return cm(nr, nc, ns);
49+
// 这个代码其实有个问题,但是测试例子中没有这个反例,所以这代码能通过。
50+
// 就是(0,0)在一个环形道路内,且该环形道路没有包含终点
51+
// 可以通过设置一个visited矩阵解决
52+
53+
}
54+
bool hasValidPath(vector<vector<int>>& g) {
55+
grid = g;
56+
m = grid.size(), n = grid[0].size();
57+
if (m == 1 && n == 1) return true;
58+
if (cm(0, 0, 1) || cm(0, 0, 2) || cm(0, 0, 0) || cm(0, 0, 3)) return true;
59+
return false;
60+
}
61+
};

WeeklyContest/WCCPP/WeeklyContest/WeeklyContest.sln

+10
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WC178_02_Rank_Teams_By_Vote
2929
EndProject
3030
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WC178_03_Linked_List_In_Binary_Tree", "..\WC178_03_Linked_List_In_Binary_Tree\WC178_03_Linked_List_In_Binary_Tree.vcxproj", "{180C276D-AC73-4981-9314-DAB9823C557B}"
3131
EndProject
32+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WC181_03_Check_If_There_Is_A_Valid_Path_In_A_Grid", "..\WC181_03_Check_If_There_Is_A_Valid_Path_In_A_Grid\WC181_03_Check_If_There_Is_A_Valid_Path_In_A_Grid.vcxproj", "{DD494A68-54C7-4A6B-B06F-30A07DC337C1}"
33+
EndProject
3234
Global
3335
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3436
Debug|x64 = Debug|x64
@@ -141,6 +143,14 @@ Global
141143
{180C276D-AC73-4981-9314-DAB9823C557B}.Release|x64.Build.0 = Release|x64
142144
{180C276D-AC73-4981-9314-DAB9823C557B}.Release|x86.ActiveCfg = Release|Win32
143145
{180C276D-AC73-4981-9314-DAB9823C557B}.Release|x86.Build.0 = Release|Win32
146+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Debug|x64.ActiveCfg = Debug|x64
147+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Debug|x64.Build.0 = Debug|x64
148+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Debug|x86.ActiveCfg = Debug|Win32
149+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Debug|x86.Build.0 = Debug|Win32
150+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Release|x64.ActiveCfg = Release|x64
151+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Release|x64.Build.0 = Release|x64
152+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Release|x86.ActiveCfg = Release|Win32
153+
{DD494A68-54C7-4A6B-B06F-30A07DC337C1}.Release|x86.Build.0 = Release|Win32
144154
EndGlobalSection
145155
GlobalSection(SolutionProperties) = preSolution
146156
HideSolutionNode = FALSE

cpp/LeetCodeHub.sln

+10-10
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "260_Single_Number_III", "26
131131
EndProject
132132
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "136_Single_Number", "136_Single_Number\136_Single_Number.vcxproj", "{DC909073-2FA0-456C-83B2-09FB365236F6}"
133133
EndProject
134-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "001_Two_Sum", "1_Two_Sum\1_Two_Sum.vcxproj", "{8A49B41E-792A-41A1-8893-ACE25D62CA01}"
135-
EndProject
136134
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "829_Consecutive_Numbers_Sum", "829_Consecutive_Numbers_Sum\829_Consecutive_Numbers_Sum.vcxproj", "{5CFD8305-C9F2-4393-A02D-E142A91013D7}"
137135
EndProject
138136
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "239_Sliding_Window_Maximum", "239_Sliding_Window_Maximum\239_Sliding_Window_Maximum.vcxproj", "{051671BF-32E1-4B57-AED0-97640FF35169}"
@@ -211,6 +209,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "348_Design_Tic_Tac_Toe", "3
211209
EndProject
212210
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "543_Diameter_Of_Binary_Tree", "543_Diameter_Of_Binary_Tree\543_Diameter_Of_Binary_Tree.vcxproj", "{4F687173-5E2D-4884-95BD-9FB39A25CC28}"
213211
EndProject
212+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "001_Two_Sum", "001_Two_Sum\1_Two_Sum.vcxproj", "{8A49B41E-792A-41A1-8893-ACE25D62CA01}"
213+
EndProject
214214
Global
215215
GlobalSection(SolutionConfigurationPlatforms) = preSolution
216216
Debug|x64 = Debug|x64
@@ -731,14 +731,6 @@ Global
731731
{DC909073-2FA0-456C-83B2-09FB365236F6}.Release|x64.Build.0 = Release|x64
732732
{DC909073-2FA0-456C-83B2-09FB365236F6}.Release|x86.ActiveCfg = Release|Win32
733733
{DC909073-2FA0-456C-83B2-09FB365236F6}.Release|x86.Build.0 = Release|Win32
734-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x64.ActiveCfg = Debug|x64
735-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x64.Build.0 = Debug|x64
736-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x86.ActiveCfg = Debug|Win32
737-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x86.Build.0 = Debug|Win32
738-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x64.ActiveCfg = Release|x64
739-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x64.Build.0 = Release|x64
740-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x86.ActiveCfg = Release|Win32
741-
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x86.Build.0 = Release|Win32
742734
{5CFD8305-C9F2-4393-A02D-E142A91013D7}.Debug|x64.ActiveCfg = Debug|x64
743735
{5CFD8305-C9F2-4393-A02D-E142A91013D7}.Debug|x64.Build.0 = Debug|x64
744736
{5CFD8305-C9F2-4393-A02D-E142A91013D7}.Debug|x86.ActiveCfg = Debug|Win32
@@ -1051,6 +1043,14 @@ Global
10511043
{4F687173-5E2D-4884-95BD-9FB39A25CC28}.Release|x64.Build.0 = Release|x64
10521044
{4F687173-5E2D-4884-95BD-9FB39A25CC28}.Release|x86.ActiveCfg = Release|Win32
10531045
{4F687173-5E2D-4884-95BD-9FB39A25CC28}.Release|x86.Build.0 = Release|Win32
1046+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x64.ActiveCfg = Debug|x64
1047+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x64.Build.0 = Debug|x64
1048+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x86.ActiveCfg = Debug|Win32
1049+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Debug|x86.Build.0 = Debug|Win32
1050+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x64.ActiveCfg = Release|x64
1051+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x64.Build.0 = Release|x64
1052+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x86.ActiveCfg = Release|Win32
1053+
{8A49B41E-792A-41A1-8893-ACE25D62CA01}.Release|x86.Build.0 = Release|Win32
10541054
EndGlobalSection
10551055
GlobalSection(SolutionProperties) = preSolution
10561056
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)