头像

Protein

OIer


访客:2778

在线 


新鲜事 原文

Protein
14小时前
下午八点,我说刷一会题就睡觉 然后十二点了……我真是太菜了
图片 图片


新鲜事 原文

Protein
23小时前
LeetCode究极班冲!!!


新鲜事 原文

Protein
2天前
每天起来打开主页翻一翻新鲜事,评论评论,快乐ing


新鲜事 原文

Protein
2天前
快乐的新鲜事功能 以前都不看主页的…… 现在来到AcWing必看主页的好吧,嘿嘿嘿 不过个人觉得新鲜事和题解分到两边比较好 这样想看题解的看题解,想看新鲜事的看新鲜事 而且主页两边好大空白,不用白不用是不?


新鲜事 原文

Protein
2天前
学习,就是要——稳
图片


活动打卡代码 AcWing 840. 模拟散列表

Protein
4天前
#include <iostream>
#include <cstring>
using namespace std;
const int N = 200003, INF = 0x3f3f3f3f;
int n, x, h[N];
string op;
int find(int x) {
    int k = (x % N + N) % N;
    while (h[k] != x && h[k] != INF)
        if (k++ == N) k = 0;
    return k;
}
int main() {
    cin >> n;
    memset(h, 0x3f, sizeof h);
    while (n-- && cin >> op >> x) {
        int k = find(x);
        if (op == "I") h[k] = x;
        else cout << ((h[k] == INF) ? "No" : "Yes") << endl;
    }
    return 0;
}



Protein
6天前
class Solution {
public:
    bool isMatch(string s, string p) {
        return regex_match(s, regex(p));
    }
};

咳咳咳(以上代码可以AC)

class Solution {
public:
    bool isMatch(string s, string p) {
        int n = s.size(), m = p.size();
        vector<vector<bool>> f(n + 1, vector<bool>(m + 1, false));
        f[0][0] = true, s.insert(0, " "), p.insert(0, " ");
        for (int i = 0; i <= n; i++)
            for (int j = 1; j <= m; j++)
                if (i > 0 && (s[i] == p[j] || p[j] == '.'))
                    f[i][j] = f[i][j] | f[i - 1][j - 1];
                else if (p[j] == '*') {
                    if (j >= 2) f[i][j] = f[i][j] | f[i][j - 2];
                    if (i > 0 && (s[i] == p[j - 1] || p[j - 1] == '.'))
                        f[i][j] = f[i][j] | f[i - 1][j];
                }
        return f[n][m];
    }
};



Protein
6天前
class Solution {
public:
    double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
        int i = 0, j = 0;
        vector<int> temp;
        int a = nums1.size(), b = nums2.size();
        while (i < a && j < b)
            if (nums1[i] < nums2[j]) temp.push_back(nums1[i++]);
            else temp.push_back(nums2[j++]);
        while (i < a) temp.push_back(nums1[i++]);
        while (j < b) temp.push_back(nums2[j++]);
        int len = temp.size();
        if (len & 1) return temp[len >> 1]; 
        else return (double(temp[len >> 1] + temp[(len >> 1) - 1])) / 2;
    }
};



Protein
6天前
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int res = 0;
        int repeat[256]{};
        for (int i = 0, j = 0; i < s.size(); i++) {
            if (i) repeat[s[i - 1]]--;
            while (j < s.size() && repeat[s[j]] == 0)
                repeat[s[j]]++, j++;
            res = max(res, j - i);
        } 
        return res;
    }
};


活动打卡代码 LeetCode 9. 回文数

Protein
6天前
class Solution {
public:
    bool isPalindrome(int x) {
        if (x < 0) return false;
        long long a = 0, b = x;
        while (x) a = a * 10 + x % 10, x /= 10;
        return a == b;
    }
};