福大大架构师每日一题
福大大架构师每日一题
全部文章
福大大架构师每日一题
归档
标签
去牛客网
登录
/
注册
福大大架构师每日一题的博客
最新面试题,针对高级开发人员和架构师。内容是后端、大数据和人工智能。
全部文章
/ 福大大架构师每日一题
(共597篇)
2021-05-20:给定一个数组arr, 返回如果排序之后,相邻两数的最大差值。要求:时间复杂度O(N) 。
来自专栏
2021-05-20:给定一个数组arr, 返回如果排序之后,相邻两数的最大差值。要求:时间复杂度O(N) 。 福大大 答案2021-05-20: 假设答案法。N个数,根据最大值和最小值的范围等分成N+1个桶。每个桶只需要存当前桶的最大值和最小值。根据鸽笼原理,必然存在空桶。最后只需要遍历求【右桶m...
算法
2021-05-22
3
563
2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字?
来自专栏
2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字? 福大大 答案2021-05-21: 双指针。左指针最左,符合条件时右移;右指针最右,符合条件时左移。左指针和右指针,谁大谁移动;同样大,都移动。时间复杂度O(N),额外空间复杂度O(1)。 代码用gol...
算法
2021-05-21
3
495
2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大。返回这个最大结果
来自专栏
2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大。返回这个最大结果。时间复杂度O(N),额外空间复杂度O(1)。 福大大 答案2021-05-19: 因为是正数,所以不用考虑符号位(31位)首先来到30位,假设剩余的数字有N个(整体),看看这一...
算法
2021-05-19
3
532
2021-05-18:Nim博弈。给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0
来自专栏
2021-05-18:Nim博弈。给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余。谁最先拿空arr,谁赢。根据arr,返回谁赢 。 福大大 答案2021-05-18: 两个数的先手必胜策略:比如[6,8],先手把数组变成[6,6]。后手不管拿多...
算法
2021-05-18
3
377
2021-05-17:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,可以任意切分成若干个不相交的子数组。
来自专栏
2021-05-17:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,可以任意切分成若干个不相交的子数组。其中一定存在一种最优方案,使得切出异或和为0的子数组最多。返回这个最多数量。 福大大 答案2021-05-17: 准备一个map,key存前缀异或和,value存数组序号。dp[i...
算法
2021-05-17
3
447
2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数?
来自专栏
2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数? 福大大 答案2021-05-16: 这道题logN的解法是大步小步法,网上非常难找。另外论代码简洁度,明显是我的代码最简洁。你看了代码后,你会非常失望。因为你苦思冥想都想不出来的问题,原来这么简单。 假设数字是N。...
算法
2021-05-16
3
384
2021-05-15:数组为{3, 2, 2, 3, 1},查询为(0, 3, 2),意思是在数组里下标0~3这个范围上
来自专栏
2021-05-15:数组为{3, 2, 2, 3, 1},查询为(0, 3, 2),意思是在数组里下标0~3这个范围上,有几个2?答案返回2。假设给你一个数组arr, 对这个数组的查询非常频繁,都给出来。请返回所有查询的结果。 福大大 答案2021-05-15: 遍历存map。map的键是数组中的...
算法
2021-05-15
3
484
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。
来自专栏
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。 福大大 答案2021-05-14: 前缀树。一个数,用二进制表示,0走左边分支,1走右边分支。准备一个max变量,遍历的时候,遇到比max还要大的,max更新。最后返回max。时间复杂度:O(N)。...
算法
2021-05-14
3
411
2021-05-13:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,返回arr的最大子数组异或和。
来自专栏
2021-05-13:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,返回arr的最大子数组异或和。 前缀树。一个数,用二进制表示,0走左边分支,1走右边分支。时间复杂度:O(N)。 代码用golang编写。代码如下: package main import ( "...
算法
2021-05-13
3
477
2021-05-12:给定一个数组arr,只能对arr中的一个子数组排序, 但是想让arr整体都有序
来自专栏
2021-05-12:给定一个数组arr,只能对arr中的一个子数组排序, 但是想让arr整体都有序。返回满足这一设定的子数组中,最短的是多长? 福大大 答案2021-05-12: 从左往右遍历,缓存最大值,记录最右的不符合的值,只能确定最右的数排序不会动,确定右边界。从右往左遍历,缓存最小值,记录...
算法
2021-05-12
3
529
首页
上一页
41
42
43
44
45
46
47
48
49
50
下一页
末页