Leetcode周赛排名记录

账号

周赛记录

  • 130场周赛:
    • 通过题目数:3/4
    • 排名:68/1293
    • 反思:神志要清醒,不要时间紧迫急忙打比赛,样例都测完再交。
    • 部分题解:
      • 链表中的下一个更大节点(Medium):本质是要求每个数右边第一个比它大的数,然后这个东西就是维护一个单调栈的过程,用栈维护数组的下标,比栈头小就入栈,否则就不断出栈然后更新答案即可。
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    vector<int> nextLargerNodes(ListNode* head) {
        vector<int>ans;
        for (;;){
            ans.push_back(head->val);
            head=head->next;
            if (head==NULL) break;
        }
        vector<int>res(ans.size());
        stack<int>S;
        for (int i=0;i<(int)ans.size();){
            if(S.empty() || ans[S.top()]>=ans[i]) S.push(i++);
            else{
                res[S.top()]=ans[i];
                S.pop();
            }
        }
        while(!S.empty()){
            res[S.top()]=0;
            S.pop();
        }
        return res;
    }
};
  • 129场周赛:
    • 通过题目数:4/4
    • 排名:1/758
    • 反思:二进制转十进制从哪里开始遍历不要搞混。
  • 128场周赛(VP)
    • 通过题目数:4/4
    • 排名:2/1250
    • 反思:全局变量放class外面的时候记得初始化
    • 部分题解:
      • 至少有1位重复的数字(Hard):设dp[i][S][0/1][0/1][0/1]表示从高到低考虑前i位数字已经出现过的数字集合为S,是否重复出现,是否出现前导零,等于n还是小于n为方案数,转移即可。
  • 127场周赛:
    • 通过题目数:4/4
    • 排名:4/663
  • 126场周赛:
    • 通过题目数:4/4
    • 排名:1/590
  • 125场周赛:
    • 通过题目数:4/4
    • 排名:21/468
  • 124场周赛:
    • 通过题目数:4/4
    • 排名:15/416

发表评论

电子邮件地址不会被公开。 必填项已用*标注