自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4535)
  • 收藏
  • 关注

转载 多路复用技术

多路复用技术多路复用技术是把多个低速信道组合成一个高速信道的技术,它可以有效的提高数据链路的利用率,从而使得一条高速的主干链路同时为多条低速的接入链路提供服务,也就是使得网络干线可以同时运载大量的语音和数据传输。多路复用技术是为了充分利用传输媒体,人们研究了在一条物理线路上建立多个通信信道的技术。多路复用技术的实质是,将一个区域的多个用户数据通过发送多路复用器进行汇集,然后将汇集...

2019-10-01 21:07:00 5548

转载 LeetCode 37. Sudoku Solver

经典backtracing的问题。我们可以记录每行,每列,每个box那些数字出现过,快速判断当前填入的数字是否有重复。class Solution {public: vector<vector<bool>> rowhash; // rowhash[row][1~9] - if the number has been taken in row...

2019-09-30 23:57:00 519

转载 LeetCode 572. Subtree of Another Tree

Recursive对于s的每一个节点,我们都要调用isSame来判断两棵树是否相同。时间复杂度 O(mn)class Solution {public: bool isSubtree(TreeNode* s, TreeNode* t) { if (s==NULL && t==NULL) return true; ...

2019-09-27 11:07:00 553

转载 [高清] Excel函数速记手册

------ 郑重声明 ---------资源来自网络,纯粹共享交流,如果喜欢,请您务必支持正版!!---------------------------------------------下载列表:>>>下载地址1 —— 作者赚取近似忽略不计的广告费转载于:https://www.cnblogs.com/itfantasy...

2019-09-26 14:12:00 155

转载 LeetCode 438. Find All Anagrams in a String

Sliding Window (fixed length)比较straightforward的方法,用长度为p的window去扫描,判断两个hashtable统计结果是否相同。在不清楚C++里unordered_map有没有重载==的情况写,可以用两个vector来做counter。class Solution {public: vector<int&gt...

2019-09-26 08:56:00 62

转载 LeetCode 138. Copy List with Random Pointer

本题抽象一下就是如何deep copy图的问题。由于random指针的存在,导致我们按顺序copy的时候,copy的random指针指向的node可能还没有生成。如何解决这个问题是本题的关键。Recursive如果递归来做,上述问题很好解决,没有生成的节点递归生成即可。但是我们需要用一个hashtable来记录原节点与对应copy节点的映射关系,这是因为当前需要copy的节点...

2019-09-25 11:44:00 68

转载 LeetCode 74 / 240. Search a 2D Matrix I+II

74.Search a 2D Matrix看起来是2d的问题,但是实际上依旧可以用一维二分的思想来做,无非就是计算横纵坐标而已。下面用了开区间写法,闭区间写法也是okay的。class Solution {public: bool searchMatrix(vector<vector<int>>& m...

2019-09-25 09:10:00 85

转载 UDP Design

Bloomberg高频system design题。情景是UDP传输,假设收到许多out of order的sequence (带序号的内容),如果新接收到的数据包是下个期待的包,就打印出来,如果不是就存下来,等期待的包到之后一起打印。input:[1,"A"] // 立刻输出A[2,"B"] // 立刻输出B[4,"D"] // 无输出,缺sequence 3[3,"...

2019-09-24 12:08:00 90

转载 LeetCode 390. Elimination Game

如果用模拟做,需要频繁移动数组元素,导致效率很低。实际上,我们并不需要知道当前数组每个元素是什么,因为每次间隔删除元素的性质,我们可以计算出每轮过后相邻元素间隔是多少。一开始相距1,每轮过后间隔都会翻倍。由此,我们只要知道第一个元素的正确位置和还剩余多少元素,就可以知道剩余的所有元素。需要注意的时,-> 删除时,第一个元素一定会被删除,所以 head += step 得到新的第...

2019-09-23 01:57:00 59

转载 Marathon Ranking

题目描述:https://www.1point3acres.com/bbs/thread-225621-1-1.html这道题是Bloomberg经典面试题,和LRU非常类似。维护一个list记录runner的顺序,一旦有runner经过sensor,我们就需要调整位置。本质其实就是要写一个 update(runner i, sensor j) 的函数。注意C++中 list.s...

2019-09-22 11:13:00 103

转载 js实现浅拷贝和深拷贝

js类型有两种,一种是基本数据类型(null,undefined,Boolen,string,number,)和引用数据类型(array,object);这两种数据类型数据存放在另个不同的地方;基本数据类型在栈中,引用数据类型的值存在堆中,而他的值得地址会存在栈中。当我们在直接赋值的时候赋值的是地址。const a = {a:'haha'}const b = a;当...

2019-09-17 18:05:00 62

转载 国内外手机号码正则表达式

phone_pattern = { 'ar-DZ': "^(\+?213|0)(5|6|7)\d{8}$", 'ar-SY': "^(!?(\+?963)|0)?9\d{8}$", 'ar-SA': "^(!?(\+?966)|0)?5\d{8}$", 'en-US': "^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$"...

2019-09-17 16:25:00 211

转载 PHP 多个字段自增或者自减

//自增$res=Db::name('accessories') ->where('id',$req['id']) ->inc('number',$req['number']) ->inc('allputin',$req['number']) ->upda...

2019-09-17 09:36:00 351

转载 Django的URL自主发现

最近部门的领导们要对程序进行安全测试,让我们提供所有的URL,一个一个写太麻烦,因此总结为以下博文:1, 在django的项目同名的app中有个urls文件,是属于项目的根路由(也就是我本次做的入手点)2,ROOT_URLCONF = 'XXX.urls'在django的settings文件中会存在(这个是告诉Django根级路由配置的位置)3, Django既然在set...

2019-09-16 21:48:00 109

转载 LeetCode 430. Flatten a Multilevel Doubly Linked List

本题和LeetCode 114. Flatten Binary Tree to Linked List一模一样。doubly linked list 稍微复杂一点。RecursivePreOrder和LC114一样,preorder来写的时候要copy next的指针。下面写法同时copy了child和next,是的思路更加简洁。class Solution {...

2019-09-16 08:29:00 81

转载 Floyd-Warshall Algorithm

TheFloyd Warshall Algorithmis for solving the All Pairs Shortest Path problem. The problem is to find the shortest distances between every pair of vertices in a given edge-weighted directed Gra...

2019-09-16 04:23:00 217

转载 LeetCode 611. Valid Triangle Number

和3Sum那题非常类似。3Sum我们是固定i,令j=i+1, k=n-1。本题由于三角形需要两边之和大于第三边,nums[i]+nums[j]>nums[k]。因此我们可以固定k,令i=0, j=k-1。如果nums[i]+nums[j]>nums[k],说明 [i,j-1] 范围内的所有数作为i,加上j和k都是可以的。反之如果nums[i]+nums[j]≤nu...

2019-09-16 02:57:00 66

转载 Dijkstra’s Shortest Path Algorithm / LeetCode 787. Cheapest Flights Within K Stops

Dijkstra’s Shortest Path Algorithm实现详见:https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-using-priority_queue-stl/需要注意的是,priority_queue并无法更新内部的元素,因此我们更新dist的同时,直接把新的距离加入pq即可。p...

2019-09-14 09:01:00 188

转载 Code Review

Code Review 指在软件开发过程中,对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件总体质量及开发者的技术水平,统一编程风格等。和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题。一、为什么要进行代码审查(1)提高质量(2)及早发现潜在缺陷与BUG,降低事故成本。(3)促进团队内部知识共享...

2019-09-11 21:56:00 54

转载 Git使用命令

一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]二、配置# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git conf...

2019-09-10 23:26:00 61

转载 LeetCode 1145. Binary Tree Coloring Game

去年准备Google面试的时候就见过这道题,现在leetcode上竟然有了。对方的点把整个图(想象成一个graph)分为了三个部分,我们最优策略就是选择最大的那一枝,贴着对面的点放置我们的点。由此,这道题的本质变成了计算subtree节点数的题目。/** * Definition for a binary tree node. * struct TreeNode {...

2019-09-10 09:03:00 123

转载 LeetCode 659. Split Array into Consecutive Subsequences

很有意思的一道题,对于每一个element,我们有两种选择:1. 把它加入之前构造好的顺子中2. 用它新开一个顺子此处用贪心策略,如果1能满足总是先满足1,因为新开顺子可能失败,即使新开顺子成功,当1能满足的时候,将新开顺子加入之前的顺子也能成功,所以能够选择策略1的时候没必要冒风险选择策略2。因此我们需要一个hashtable来记录顺子结尾到哪了,同时也要知道各个元素的...

2019-09-10 02:55:00 85

转载 LeetCode 815. Bus Routes

Stop as Node抽象为图的问题,将每个stop作为一个节点。公交车路线上的所有stop都是互相连通的,以此构建邻接链表,然后BFS。这种方法超时了,原因是我们构建图的时候,时间复杂度太高了。而且图里的节点数为所有stop的个数,导致BFS的时候也要花较多的时间。class Solution {public: int numBusesToDestina...

2019-09-09 04:29:00 101

转载 LeetCode 857. Minimum Cost to Hire K Workers

合法的pay group里所有worker的比例是一样的,即 wage1/wage2 = quality1/quality2推出wage1/quality1 = wage2/quality2。这就好办了,定义 ratio_i =wage_i/quality_i。对于一个group,ratio一定是所有人中最大的那个。对于一个大小为k的group,需要pay的钱就是Σ_k...

2019-09-08 12:11:00 62

转载 LeetCode 528. Random Pick with Weight / 497. Random Point in Non-overlapping Rectangles

528. Random Pick with Weight根据weight随机选取一个数,用 Prefix Sum+Binary Search 来解决。https://www.geeksforgeeks.org/random-number-generator-in-arbitrary-probability-distribution-fashion/class Soluti...

2019-09-08 07:36:00 96

转载 IAR补丁解决调试EFR32 ZigBee工程无法正确读取配置的问题

随着zigbee协议栈的更新到6.6.2.0,使用IAR 8.30.1上会遇到一些问题,比如说无法正常打开工程,编译和调试,这个问题在gitee.com有提供了IAR的补丁文件,这里我们再给大家介绍如何使用这些补丁。在Simplicity Studio中,可以建立工程基于GCC编译,IDE就使用Studio。同时也可以生成IAR工程,打开eww文件后可以使用IAR作为ID...

2019-09-07 15:36:00 642

转载 开发Zigbee, 用Simplicity Studio生成IAR工程的方法

许多的用户都习惯于使用KEIL, IAR等开发工具,使用熟悉的IDE可以让研发过程更加顺利。在Simplicity Studio可以生成IAR工程,再换用IAR打开即可以使用IAR进行编译。本文介绍如何生成工程,如果生成的工程出现不能编译等问题,我们后面另文说明。使用IAR进开发ZigBee, 步骤如下。 STEP 1 下载和安装IAR f...

2019-09-07 15:22:00 1152

转载 LeetCode 62, 63 Unique Paths I+II

62.Unique Paths空间可以按行优化为 O(n),也可以按列优化为O(m)。class Solution {public: int uniquePaths(int m, int n) { int dp[m][n]={0}; dp[0][0]=1; for (int i=0;...

2019-09-07 08:18:00 72

转载 LeetCode 685. Redundant Connection II

3 invalid situationscase1: 2 parents no circlecase2: 2 parents with circlecase3: 1 parent with circle2 main steps1 check whether there exists a node with 2 parents, if yes, store t...

2019-09-06 10:34:00 105

转载 如何减少 webpack 构建 vue 项目的编译时间

背景我司前端项目框架主要是 vue,多个项目聚集在同一个仓库下,共用公共组件、页面、工具函数等。基于以上前提,我们需要对不同的项目分别进行打包,并解决单页应用强制刷新引起的问题,所以没有使用 vue-cli 来创建,而是使用 webpack 重新编写了一套打包流程。随着代码量的增长(百万行级),加之电脑硬件性能不高等因素,我感觉项目初次启动时间越来越慢,目前大概在一分半到两分钟之间。...

2019-09-06 09:01:00 641

转载 LeetCode 920. Number of Music Playlists

一看知道是dp题,但是和常规dp很不一样,如何formulate问题很难想。dp[i][j] 表示最后长度L的list前 i 个中有 j 首unique的歌。dp[L][N] 就是我们的答案。第一维i很好想。由于题目有要求其他k首歌放过以后才能重复播放歌曲,因此我们要记录其他歌曲的播放情况。因此第二维用至此unique的歌曲数量来表示,可以很简单的解决上述问题。递推公式两种情...

2019-09-06 08:15:00 66

转载 LeetCode 1057. Campus Bikes

直接根据最短distance greedy做。用了优先队列,C++ less<type> 是大的先,所以我们可以重载<符号,把逻辑反过来。class Solution {public: struct dist_pair{ int dist; int worker; int bike; ...

2019-09-05 12:05:00 369

转载 整数, 小数, 保留小数点后两位

// 保留两位小数toDecimal2 = (x) => {let f = parseFloat(x);f = Math.round(x * 100) / 100;let s = f.toString();let rs = s.indexOf('.');if (rs < 0) {rs = s.length;s += '.';}whi...

2019-09-05 09:55:00 724

转载 页面中嵌套world或者Excel

//statisContractUrl是一个world的链接 ;<iframetitle="deal"height="400px"frameBorder="yes"width="100%"src={`https://docview.mingdao.com/op/embed.aspx?src=${escape(statisContractUrl)}`}...

2019-09-05 09:51:00 145

转载 552. Student Attendance Record II

比较难的dp问题。由于A最多出现一次,我们先不考虑A,只考虑存在L和P的情况,最后插入A。dp[i][0] 前i个且最后为L,dp[i][1] 前i个且最后为P递推公式如下dp[i][0] 说明当前最后是L,那么前面可能是L或者A。前面如果是L,那么再前面只能是A,所以是 dp[i-2][1];如果前面是A,就是 dp[i-1][1]。所以 dp[i][0] = dp[...

2019-09-05 09:48:00 83

转载 LeetCode 489. Robot Room Cleaner

dfs的问题,第一眼看上去不难,但是由于地图和位置信息都是不可知的,这导致 dfs 的时候坐标无从下手,同样判断是否访问过的 visited 也不好处理 。本题的关键点在于,如何构建构建坐标系。令当前坐标为坐标原点,记录当前的方向,这样我们就能知道我们每次 move 以后的正确坐标了。然后就是标准dfs,有一点要注意的是,每次回溯的时候机器人要归位。/** * // Th...

2019-09-05 08:15:00 148

转载 Aspose Office 的应用

注意:笔者使用的aspose office 的 jar 包版本 : 18.6(aspose-XXX-18.8-java)--------------------------------------------------------------------------------------------------------------使用到的工具 :jd-gui.exe -...

2019-09-04 15:03:00 287

转载 LeetCode 1027. Longest Arithmetic Sequence

dp问题,一维是没法dp的,因为我们还要记录一个diff才能判断是否是Arithmetic Sequence。dp[i][diff] 表示以 A[i] 结尾,等差为 diff 的最大长度。从这种角度来看本题和LeetCode 300. Longest Increasing Subsequence / 354. Russian Doll Envelopes极为相似。clas...

2019-09-04 06:36:00 114

转载 Exclusive Time of Processes

https://leetcode.com/discuss/interview-question/367064/Google-or-Phone-Screen-or-Exclusive-Time-of-ProcessesInterval 类型的题目也可以用 line sweep 来做。sort时如果x相同,右边界先处理更符合逻辑(左边界先得到的结果是一样的)。#include...

2019-09-04 01:04:00 64

转载 964. Least Operators to Express Number

除法除了构成1,是没有作用的。本题可以转化为,用 x/x,x,x*x,x*x*x,... 构建target。由于题目中限定target为正数,因此肯定有一项为正,我们可以调整位置是的正项放在最前面。对于每一项,考虑前面的符号,我们可以得到构成这些项所需的符号数。第一项的正号是不需要的,因此最后答案-1即可。target = c0x^0 + c1x^1 + c2x^2 + .....

2019-09-03 05:04:00 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除