--- titile: tags: LeetCode Contest --- [LeeteCode - Weekly Contest 236](https://leetcode.com/contest/weekly-contest-236) === Q1 - 1822. Sign of the Product of an Array --- ```cpp= class Solution { public: int arraySign(vector<int>& nums) { int ret = 1; for(int num: nums){ if(num == 0){ return 0; }else if(num < 0){ ret = -ret; } } return ret; } }; ``` Q2 - 1823. Find the Winner of the Circular Game --- ```cpp= class Solution { public: int findTheWinner(int n, int k) { vector<int> nums(n); for(int i = 0; i < nums.size(); i++){ nums[i] = i + 1; } int p = 0; while(nums.size() > 1){ p = (p + k + nums.size() - 1) % nums.size(); // cout<<nums[p]<<endl; nums.erase(nums.begin() + p); } return nums[0]; } }; ``` Q3 - 1824. Minimum Sideway Jumps --- ```cpp= class Solution { public: int minSideJumps(vector<int>& obstacles) { const int INF = INT_MAX - 1; vector<int> dpCur(3); dpCur[0] = dpCur[2] = INF; for(int obstacle: obstacles){ vector<int> dpNxt(3, INF); for(int i = 0; i < 3; i++){ if(i == obstacle - 1){ continue; } for(int j = 0; j < 3; j++){ if(j == obstacle - 1){ continue; } dpNxt[i] = min(dpNxt[i], dpCur[j] + (i != j)); } } dpCur = dpNxt; } return min(dpCur[0], min(dpCur[1], dpCur[2])); } }; ``` Q4 - --- ```cpp= ```