tags: Weekly Contest

Weekly Contest 357

2810. Faulty Keyboard (Easy)

限制 :

  • 104

Solution

時間複雜度:
O(n)

空間複雜度:
O(1)

程式碼:

class Solution { public: string finalString(string s) { string result = ""; for(int i=0;i<s.size();i++) { if(s[i]=='i') reverse(result.begin(), result.end()); else result += s[i]; } return result; } };

2811. Check if it is Possible to Split Array (Medium)

限制 :

  • 1 <= n == nums.length <= 100
  • 1 <= nums[i] <= 100
  • 1 <= m <= 200

Solution

這題的重點在於拆解到最後其實是要找到一個兩兩相家會大於等於 m 的數字,如果有找到,則怎麼拆終究會拆到剩他們。

時間複雜度:
O(n)

空間複雜度:
O(1)

程式碼:

class Solution { public: bool canSplitArray(vector<int>& nums, int m) { if (nums.size() <= 2) return true; for (int i = 0; i < nums.size() - 1; i++) { if (nums[i] + nums[i + 1] >= m) { return true; } } return false; } };

2812. Find the Safest Path in a Grid(Medium)

限制 :

  • 104

時間複雜度:
O()

空間複雜度:
O()

程式碼:

2813. Maximum Elegance of a K-Length Subsequence(Hard)

限制 :

  • 104

時間複雜度:
O()

空間複雜度:
O()

程式碼: