三题leetcode
背Mysql的八股文
写测评
学习mysql 5讲
class Solution { public: long long get_count(long long p1,long long n){ long long ans = 0; for(long long p = p1,q = p + 1; p <= n;p *= 10,q = q * 10){ ans += min(q,n + 1) - p; } return ans; } int findKthNumber(int n, int k) { int ans = 0; int p = 1; int cnt = 1; while(cnt < k){ int t = get_count(p,n); if(cnt + t > k){ p = p * 10; ++ cnt; } else { ++ p; cnt += t; } } return p; } };
class Solution { public: int dp[220][220]= {0}; int n,m; int check(int x,int y){ if(x < 0 || y < 0 || x >= n || y >= m) return 0; return 1; } int dirx[4] = {-1,0,1,0}; int diry[4] = {0,1,0,-1}; int dfs(int x,int y,vector<vector<int>>& matrix){ if(check(x,y) == 0) return 0; if(dp[x][y]) return dp[x][y]; int ans = 1; for(int i = 0; i < 4; i ++){ int X = x + dirx[i]; int Y = y + diry[i]; if(check(X,Y) == 0) continue; if(matrix[X][Y] > matrix[x][y] && check(X,Y)){ ans = max(ans,dfs(X,Y,matrix) + 1); } } dp[x][y] = max(dp[x][y],ans); return dp[x][y]; } int longestIncreasingPath(vector<vector<int>>& matrix) { n = matrix.size(); m = matrix[0].size(); int maxx = 0; for(int i = 0; i < matrix.size(); i ++){ for(int j = 0; j < matrix[i].size(); j ++){ if(dp[i][j] == 0){ dp[i][j] = dfs(i,j,matrix); maxx = max(maxx,dp[i][j]); } else maxx = max(maxx,dp[i][j]); } } return maxx; } };