腾讯面试题,如何寻找一个数组里面唯一不重复的素?要求时间复杂度o(n)和空间复杂度o(1)? 应该是我记不太清了,题目应该是先限定了其它素都出现了2次的,按这个标准回答的同学都加分 原问题=============== 今天鹅厂给我电话面试,一开始问o1空间复杂度是时候怎么找,我说插排之后扫一遍就好了。然后他沉默了一会,又给我加上时间复杂度的条件,我没答出来。回头上网查,没有找到我想要的。不要说用什么bit map这种,我认为不算空间复杂度o1。求教!! 谢邀! 这道题不就是力扣的第 136. 只出现一次的数字 嘛!
这道题对于力扣君来说印象非常深刻,一个想法是放一个 Hash Table,每个出现的数字就放在桶里面,每次出现就统计,代码如下: 但是这样子做的话想法就太常规了,神奇的做法如下(使用 XOR): 题,对应有题解,有的题解运行速度快,构思巧妙,有的题解循环次数太多,运行速度慢。算法题的美妙之不恰恰在此吗?题主可以前往力扣题解版块,你会发现更多精妙的解法喔!只出现一次的数字 – 力扣(LeetCode) 另外,力扣的“探索卡片”里也有腾讯面试题汇总,有兴趣的程序员小伙伴不妨前去练练手。探索腾讯 – 力扣 (LeetCode) 下面还有几道经典的大公司算法面试题。来看看这几题应该怎么做? 1. 给你一个长度为 n 的数组,其中只有一个数字出现了大于等于 n/2 次,问如何使用优秀的时空复杂度快速找到这个数字。169. 多数素 2. 给你一个 的二维数组,每行素保证递增,每列素保证递增,试问如何使用优秀的时间复杂度找到某个数字(或者判断不存在)。240. 搜索二维矩阵 II 3. 给你两颗二叉搜索树,如何使用线性的时间复杂度,将它们合并成一颗二叉搜索树。88. 合并两个有序数组 4. 假设有 层的高楼,给你两个完全一样的鸡蛋。请你设计一种方法,能够试出来从第几层楼开始往下扔鸡蛋,鸡蛋会碎。 当然,这个问题还有推广版本,有兴趣的同学可以思考一下。 假设有 层楼,给你 个完全一样的鸡蛋,请问最坏情况下,至少需要试验多少次才能知道从第几层楼开始往下扔鸡蛋,鸡蛋会碎。887. 鸡蛋掉落 前方干货预警 接下来给大家划考点啦!这里有一张互联网公司面试中经常考察的问题类型总结的思维导图,我们可以结合图片中的信息分析一下。
面试算法题目在难度上(尤其是代码难度上)会略低一些,倾向于考察一些基础数据结构与算法,对于高级算法和奇技淫巧一般不作考察。 代码题主要考察编程语言的应用是否熟练,基础是否扎实,一般来会让面试者写出代码完成一些简单的需求或者使用递归实现某些功能,而数学题倾向于考察概率相关的问题。以上这两类问题,出现的频率不会很高,即使出现了也应该是面试中的简单部分,相信一定难不倒在座的各位。 算法与数据结构是面试考察的重中之重,也是大家日后刷题时需要着重训练的部分。简单的总结一下,大约有这些内容: 算法 – Algorithms排序算法:快速排序、归并排序、计数排序搜索算法:回溯、递归、剪枝技巧图论:最短路、最小生成树、网络流建模动态规划:背包问题、最长子序列、计数问题基础技巧:分治、倍增、二分、贪心 数据结构 – Data Structures数组与链表:单 / 双向链表、跳舞链栈与队列树与图:最近公共祖先、并查集哈希表堆:大 / 小根堆、可并堆字符串:字典树、后缀树 对于上面总结的这部分内容,力扣(LeetCode) 已经为大家准备好了相关专题,等待大家来练习啦。算法部分,我们开设了 初级算法 – 帮助入门、中级算法 – 巩固训练 、 高级算法 – 提升进阶 三个不同的栏目,包含:数组、字符串、搜索、排序、动态规划、数学、图论等许多内容。大家可以针对自己当前的基础与能力,选择相对应的栏目进行练习。为了能够达到较好的效果,建议小伙伴将所有题目都练习 2~3 遍,吃透每一道题目哦。数据结构部分,我们开设了一个 数据结构探索板块,其中包含:队列与栈、数组与字符串、链表、哈希表、二叉树等丰富的内容。每一个章节都包含文字讲解与生动的图片演示,同时配套相关题目。相信只要认真练习,一定能受益匪浅。力扣将 里比较新的题目按照类别进行了整理,以供大家按模块练习。 模拟134. 加油站146. LRU缓存机制202. 快乐数289. 生命游戏371. 两整数之和412. Fizz Buzz 数组 152. 乘积最大子序列169. 求众数189. 旋转数组217. 存在重复素283. 移动零384. 打乱数组350. 两个数组的交集 II334. 递增的三子序列240. 搜索二维矩阵 II238. 除自身以外数组的乘积 链表 138. 复制带随机指针的链表141. 环形链表148. 排序链表160. 相交链表206. 反转链表234. 回文链表237. 删除链表中的节点328. 奇偶链表 堆 155. 最小栈215. 数组中的第K个最大素295. 数据流的中位数378. 有序矩阵中第K小的素347. 前K个高频素 栈 150. 逆波兰表达式求值227. 基本计算器 II341. 扁平化嵌套列表迭代器 哈希 / Map 171. Excel表列序号454. 四数相加 II380. 常数时间插入、删除和随机素 队列 239. 滑动窗口最大值 树 230. 二叉搜索树中第K小的素236. 二叉树的最近公共祖先297. 二叉树的序列化与反序列化 线段树 218. 天际线问题 排序 179. 最大数324. 摆动排序 II 二分检索 162. 寻找峰值287. 寻找重复数315. 计算右侧小于当前素的个数 滑动窗口 395. 至少有K个重复字符的最长子串 动态规划 124. 二叉树中的最大路径和128. 最长连续序列198. 打家劫舍279. 完全平方数300. 最长上升子序列322. 零钱兑换329. 矩阵中的最长递增路径 图论 127. 单词接龙200. 岛屿的个数207. 课程表210. 课程表 II 数学 & 位运算 136. 只出现一次的数字149. 直线上最多的点数166. 分数到小数172. 阶乘后的零190. 颠倒二进制位191. 位1的个数204. 计数质数268. 缺失数字326. 3的幂 字符串 125. 验证回文串131. 分割回文串139. 单词拆分140. 单词拆分 II208. 实现 Trie (前缀树)212. 单词搜索 II242. 有效的字母异位词387. 字符串中的第一个唯一字符344. 反转字符串 这里有一张“高频算法面试题汇总”卡片可供你学习,在 力扣探索 就可以找到,希望对即将面试或者学习算法的你有所帮助。 力扣 欢迎各位知友力扣官方:「LeetCode力扣」,更多关于程序员面试、技术干货的内容等你来啃!
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/54773.html