上一页 1 ··· 110 111 112 113 114 115 116 117 118 ··· 159 下一页
摘要: 2021-05-23:给定一个字符串str,str表示一个公式,公式里可能有整数、加减乘除符号和左右括号。返回公式的计算结果,难点在于括号可能嵌套很多层。str=“48*((70-65)-43)+81",返回-1816。str="3+14”,返回7。str=“3+(14)",返回7。【说明】 1.可 阅读全文
posted @ 2021-05-23 22:33 福大大架构师每日一题 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 2021-05-22:假设所有字符都是小写字母, 大字符串是str,arr是去重的单词表, 每个单词都不是空字符串且可以使用任意次。使用arr中的单词有多少种拼接str的方式。 返回方法数。 福大大 答案2021-05-22: 前缀树。时间复杂度O(N2)。传统方法的时间复杂度是O(N3)。 代码用 阅读全文
posted @ 2021-05-22 23:20 福大大架构师每日一题 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字? 福大大 答案2021-05-21: 双指针。左指针最左,符合条件时右移;右指针最右,符合条件时左移。左指针和右指针,谁大谁移动;同样大,都移动。时间复杂度O(N),额外空间复杂度O(1)。 代码用gol 阅读全文
posted @ 2021-05-21 21:43 福大大架构师每日一题 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 2021-05-20:给定一个数组arr, 返回如果排序之后,相邻两数的最大差值。要求:时间复杂度O(N) 。 福大大 答案2021-05-20: 假设答案法。N个数,根据最大值和最小值的范围等分成N+1个桶。每个桶只需要存当前桶的最大值和最小值。根据鸽笼原理,必然存在空桶。最后只需要遍历求【右桶m 阅读全文
posted @ 2021-05-20 22:15 福大大架构师每日一题 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大。返回这个最大结果。时间复杂度O(N),额外空间复杂度O(1)。 福大大 答案2021-05-19: 因为是正数,所以不用考虑符号位(31位) 首先来到30位,假设剩余的数字有N个(整体),看看这一位是1 阅读全文
posted @ 2021-05-19 21:54 福大大架构师每日一题 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 2021-05-18:Nim博弈。给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余。谁最先拿空arr,谁赢。根据arr,返回谁赢 。 福大大 答案2021-05-18: 两个数的先手必胜策略:比如[6,8],先手把数组变成[6,6]。后手不管拿多 阅读全文
posted @ 2021-05-18 22:14 福大大架构师每日一题 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 2021-05-17:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,可以任意切分成若干个不相交的子数组。其中一定存在一种最优方案,使得切出异或和为0的子数组最多。返回这个最多数量。 福大大 答案2021-05-17: 准备一个map,key存前缀异或和,value存数组序号。 dp[ 阅读全文
posted @ 2021-05-17 23:25 福大大架构师每日一题 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 2021-05-16:时间复杂度必须是logN,如何求阶乘从右向左第一个不为零的数? 福大大 答案2021-05-16: 这道题logN的解法是大步小步法,网上非常难找。另外论代码简洁度,明显是我的代码最简洁。你看了代码后,你会非常失望。因为你苦思冥想都想不出来的问题,原来这么简单。 假设数字是N。 阅读全文
posted @ 2021-05-16 21:06 福大大架构师每日一题 阅读(117) 评论(0) 推荐(1) 编辑
摘要: 2021-05-15:数组为{3, 2, 2, 3, 1},查询为(0, 3, 2),意思是在数组里下标0~3这个范围上,有几个2?答案返回2。假设给你一个数组arr, 对这个数组的查询非常频繁,都给出来。请返回所有查询的结果。 福大大 答案2021-05-15: 遍历存map。map的键是数组中的 阅读全文
posted @ 2021-05-15 22:42 福大大架构师每日一题 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。 福大大 答案2021-05-14: 前缀树。一个数,用二进制表示,0走左边分支,1走右边分支。准备一个max变量,遍历的时候,遇到比max还要大的,max更新。最后返回max。 时间复杂度:O(N) 阅读全文
posted @ 2021-05-14 22:45 福大大架构师每日一题 阅读(9) 评论(0) 推荐(0) 编辑
上一页 1 ··· 110 111 112 113 114 115 116 117 118 ··· 159 下一页