大厂笔试
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 · 263 阅读 · 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 · 110 阅读 · 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 · 215 阅读 · 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 · 153 阅读 · 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 · 129 阅读 · 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 · 183 阅读 · 0 评论 -
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
class Solution {public: vector<int> exchange(vector<int>& nums) { int low=0,high=nums.size()-1; while(low<high) { while(low<high && nums[low]%2==1) low++; whil...原创 2020-07-08 13:48:20 · 110 阅读 · 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 · 131 阅读 · 0 评论 -
leetcode题解:动态规划:最长上升子序列
// 给定一个无序的整数数组,找到其中最长上升子序列的长度。// 示例:// 输入: [10,9,2,5,3,7,101,18]// 输出: 4// 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。// 说明:// 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。// 你算法的时间复杂度应该为 O(n2) 。// 进阶...原创 2020-03-08 16:17:26 · 164 阅读 · 0 评论 -
leetcode题解:动态规划
int minimumTotal(vector<vector<int>>& triangle) { vector< vector<int> >MinSum; for(int i=0;i<triangle.size();i++) { vector<int>temp(triangl...原创 2020-03-07 10:58:48 · 132 阅读 · 0 评论 -
leetcode题解:单链表就地倒置
class Solution{public: ListNode *reverseList(ListNode *head) { ListNode*H=(ListNode*)new ListNode(0); H->next=NULL; ListNode *p =head; if (p) { ...原创 2020-02-23 16:24:15 · 161 阅读 · 0 评论 -
网易2017秋招
#include<iostream>// #include<bits/stdc++.h>#include<vector>using namespace std;int main(){ int n; while(cin>>n) { vector<int>v(n,0); ...原创 2020-02-20 19:24:48 · 102 阅读 · 0 评论 -
leetcode题解:113. 路径总和 II
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。class Solution{public: vector< vector<int> >v; vector<int>temp; void InOrder(TreeNode *root, int sum) { if (roo...原创 2020-02-14 13:54:45 · 116 阅读 · 0 评论 -
冒泡排序C++
#include <iostream>#include <bits/stdc++.h>using namespace std;void BubbleSort(vector<int> &v){ for (int i = 0; i < v.size(); i++) //次数 { for (int j = 0; ...原创 2020-02-09 21:09:00 · 89 阅读 · 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 · 138 阅读 · 0 评论 -
数组全排列C++实现代码
void full_permutation(vector<char> a, int index) { if (index == a.size() - 1) { for (int i = 1; i <= a.size(); i++) { cout <...原创 2020-02-08 12:47:05 · 675 阅读 · 0 评论