目录题目题解三种解法“单调队列”解法新增、获取最大值删除代码题目给你一个整数数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值--------------------------------[13-1]-3536731[3-1-3]5367313[-1-35]367513-1[-353]67513-1-3[536]7613-1-35[367]7示例2:输
这是一系列位运算的题目,本文将由浅入深,先从最简单的问题开始:问题1:一个数组中只有一个数字出现过1次,其余数字都出现过两次,请找到那个只出现1次的数字。要求时间复杂度是\(O(n)\),空间复杂度是\(O(1)\)。解法:考虑到位运算中的异或运算,一个数字和它自己做异或,结果为0。所以只需要遍历整个数组,挨个异或,最后得到的结果就是那个只出现1次的数字。classSolution{public:vectorsingleNumbers(vector&nums){intres=0;for(autonum:nums){res^=num;}returnres;}};问题2:一个整型数组nums里除两
这是一系列位运算的题目,本文将由浅入深,先从最简单的问题开始:问题1:一个数组中只有一个数字出现过1次,其余数字都出现过两次,请找到那个只出现1次的数字。要求时间复杂度是\(O(n)\),空间复杂度是\(O(1)\)。解法:考虑到位运算中的异或运算,一个数字和它自己做异或,结果为0。所以只需要遍历整个数组,挨个异或,最后得到的结果就是那个只出现1次的数字。classSolution{public:vectorsingleNumbers(vector&nums){intres=0;for(autonum:nums){res^=num;}returnres;}};问题2:一个整型数组nums里除两
hello,大家好呀,我是小楼。上篇文章《一言不合就重构》说了我最近重构的一个系统,虽然重构完了,但还在灰度,这不,在灰度过程中又发现了一个问题。背景这个问题简单说一下背景,如果不明白可以看上篇文章,不想看也没关系,这是个通用的解法,后面我会总结抽象下。在上篇文章的最后提到对每个摘除的地址做决策时,需要顺序执行,且每一个要摘除的地址都要实时获取该集群的地址信息,以便做出是否需要兜底的决策。当被摘除的机器非常多时,获取地址信息的请求量就会非常大,对注册中心造成了不小的压力。请求数据源的接口如下所示(其中cuuid是集群的id)typeReadinterface{ ListClusterEndpo
hello,大家好呀,我是小楼。上篇文章《一言不合就重构》说了我最近重构的一个系统,虽然重构完了,但还在灰度,这不,在灰度过程中又发现了一个问题。背景这个问题简单说一下背景,如果不明白可以看上篇文章,不想看也没关系,这是个通用的解法,后面我会总结抽象下。在上篇文章的最后提到对每个摘除的地址做决策时,需要顺序执行,且每一个要摘除的地址都要实时获取该集群的地址信息,以便做出是否需要兜底的决策。当被摘除的机器非常多时,获取地址信息的请求量就会非常大,对注册中心造成了不小的压力。请求数据源的接口如下所示(其中cuuid是集群的id)typeReadinterface{ ListClusterEndpo
背包问题的基本模型是: 有一个容量为C的背包,现在要从N件物品中选取若干件装入背包中,每件物品i的重量为W[i]、价值为P[i]。定义一种可行的背包装载为:背包中物品的总重不能超过背包的容量,并且一件物品要么全部选取、要么不选取。定义最佳装载是指所装入的物品价值最高,并且是可行的背包装载。 例如,设C=12,N=4,W[4]={2,4,6,7},P[4]={6,10,12,13},则装入W[1]和W[3],最大价值为23。 若采用贪心法来解决0/1背包问题,可能选择的贪心策略一般有3种。每种贪心策略都是采用多步过程来完成背包的装入,在每一步中,都是利用某种贪心准则来选
背包问题的基本模型是: 有一个容量为C的背包,现在要从N件物品中选取若干件装入背包中,每件物品i的重量为W[i]、价值为P[i]。定义一种可行的背包装载为:背包中物品的总重不能超过背包的容量,并且一件物品要么全部选取、要么不选取。定义最佳装载是指所装入的物品价值最高,并且是可行的背包装载。 例如,设C=12,N=4,W[4]={2,4,6,7},P[4]={6,10,12,13},则装入W[1]和W[3],最大价值为23。 若采用贪心法来解决0/1背包问题,可能选择的贪心策略一般有3种。每种贪心策略都是采用多步过程来完成背包的装入,在每一步中,都是利用某种贪心准则来选
sql语气查询去重的两种方法以下两种都可以进行去重查询,区别是:用distinct去重,只能查询到去重的属性那一列,无法查询其他字段用groupby分组查询,可以根据需求查询对应的其他字段,推荐用groupby第一种:使用distinct(关键词distinct用于返回唯一不同的值)selectdistinctuniversityfromuser_profile;第二种:使用groupby按照university进行分组selectuniversityfromuser_profilegroupbyuniversity;sql的模糊查询这道题主要考察的是模糊查询字段名like'匹配内容'_:下划
sql语气查询去重的两种方法以下两种都可以进行去重查询,区别是:用distinct去重,只能查询到去重的属性那一列,无法查询其他字段用groupby分组查询,可以根据需求查询对应的其他字段,推荐用groupby第一种:使用distinct(关键词distinct用于返回唯一不同的值)selectdistinctuniversityfromuser_profile;第二种:使用groupby按照university进行分组selectuniversityfromuser_profilegroupbyuniversity;sql的模糊查询这道题主要考察的是模糊查询字段名like'匹配内容'_:下划