大厂面试
Buerle
985硕/C++/Golang
展开
-
如何实现rand7等概率实现rand10
class Solution {public: int rand10() { int num=(rand7()-1)*7+rand7(); while(num>10) num=(rand7()-1)*7+rand7(); return num; }};原创 2020-09-06 17:30:24 · 226 阅读 · 0 评论 -
leetcode题解-1的个数
class Solution {public: int hammingWeight(uint32_t n) { int count=0; int mask=1; for(int i=0;i<32;i++) { if(n&&mask!=0) count++; mask<<1; } ...原创 2020-08-29 20:22:21 · 97 阅读 · 0 评论 -
leetcode题解-树的直径(二叉树的最大路径之和)
class Solution{public: int max_length = 0; int depth(TreeNopde *root) { if { int L = depth(root->left); int R = depth(root->right); max_length = max(max_length, L + R); ...原创 2020-08-27 19:42:08 · 145 阅读 · 0 评论 -
leetcode题解-字母词分组
#include <iostream>using namespace std;#include <bits/stdc++.h>class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { unordered_map<string ,vector<string> ...原创 2020-08-04 20:17:29 · 104 阅读 · 0 评论 -
leetcode题解-最长合法括号
class Solution {public: int longestValidParentheses(string s) { int max_length=0; stack<int>v; v.push(-1); for(int i=0;i<s.size();i++) { if(s[i]=='(')//左括号入栈 v.pu...原创 2020-07-31 11:26:34 · 141 阅读 · 0 评论 -
剑指offer-13题 机器人运动范围
class Solution {public: bool fun(int m ,int n ,int k) { int sum=0; while(m) { sum=sum+m%10; m=m/10; } while(n) { sum=sum+n%10; n=n/10; ...原创 2020-07-30 09:19:23 · 111 阅读 · 0 评论 -
字节跳动-面试 二分法解决 第K大的数字
class Solution {public: int partition(int low, int high , vector<int>&v) { int key=v[low],l=low, h=high; while(l<h) { while(l<h && v[h]>key) h--; while(l<h &&a...原创 2020-07-09 20:50:26 · 169 阅读 · 0 评论 -
剑指offer-top-k问题-优先级队列
class Solution {public: vector<int> getLeastNumbers(vector<int>& arr, int k) { vector<int>v; if(k==0)return v; //大顶堆 priority_queue<int, vector<int> , less<int> &...原创 2020-07-07 20:23:53 · 157 阅读 · 0 评论 -
乐观锁和 MVCC 的区别?
在数据库中,并发控制是指在多个用户/进程/线程同时对数据库进行操作时,如何保证事务的一致性和隔离性的,同时最大程度地并发。当多个用户/进程/线程同时对数据库进行操作时,会出现3种冲突情形:读-读,不存在任何问题 读-写,有隔离性问题,可能遇到脏读(会读到未提交的数据) ,幻影读等。 写-写,可能丢失更新要解决冲突,一种办法是是锁,即基于锁的并发控制,比如2PL,这种方式开销比较高,而且无法避免死锁。多版本并发控制(MVCC)是一种用来解决读-写冲突的无锁并发控制,也就是为事务分配单向.原创 2020-07-05 15:41:25 · 238 阅读 · 0 评论 -
leetcode题解-全排列
class Solution{public: vector<vector<int>> result; vector<bool> flag; void backfind(int root, vector<int> nums, vector<int> &temp) { temp.push_back(nums[root]); flag[root] = true; ...原创 2020-07-04 11:24:35 · 159 阅读 · 0 评论 -
leetcode-剑指offer-把数组排成最小的数-自定义排序
class Solution {public: static bool cmp(string s1,string s2) { if(s1+s2<s2+s1)//比较 return true; else return false; } string minNumber(vector<int>& nums) { vector<string>v; ...原创 2020-07-03 10:24:09 · 115 阅读 · 0 评论 -
leetcode-镜像树-双百解法
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ //没影响 前序和后序遍历class Solution {public: void reverse(...原创 2020-07-01 13:31:49 · 136 阅读 · 0 评论 -
leetcode题解:二叉搜索树众数
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla...原创 2020-02-08 17:39:38 · 111 阅读 · 0 评论