
其他
技巧题
努力d小白
这个作者很懒,什么都没留下…
展开
-
二进制中1的个数
标签:进制转换 面试真题输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。数据范围:−231<=n<=231−1−231<=n<=231−1即范围为:−2147483648<=n<=2147483647−2147483648<=n<=2147483647。原创 2025-05-12 14:07:15 · 265 阅读 · 0 评论 -
N的阶乘的约数
【代码】N的阶乘的约数。原创 2025-05-10 18:08:18 · 89 阅读 · 0 评论 -
leetcode504.七进制数
思路:求n进制就是循环取余数,然后倒序即可得到n进制数。注意负数和0的特殊处理即可。标签:进制转换 机试真题。,并以字符串形式输出。原创 2025-05-10 18:03:35 · 334 阅读 · 0 评论 -
leetcode1823.找出游戏的获胜者
递推公式的思路为——当有i-1个人时得到的幸存者和第i个人会组成一个新的约瑟夫环,这个问题就简化为一直是有两个人,即i-1个人时幸存者和新增的第i个人,从这两人里面找到幸存者即可。小伙伴离开圈子的顺序:5、4、6、2、3。2) 顺时针数 2 名小伙伴,也就是小伙伴 1 和 2。4) 顺时针数 2 名小伙伴,也就是小伙伴 3 和 4。6) 顺时针数 2 名小伙伴,也就是小伙伴 5 和 1。8) 顺时针数 2 名小伙伴,也就是小伙伴 3 和 5。3) 小伙伴 2 离开圈子。1) 从小伙伴 1 开始。原创 2025-05-10 15:06:01 · 403 阅读 · 0 评论 -
leetcode31.下一个排列
将后面大数与前面小数进行交换,交换尽可能发生在低位,因此从后往前遍历;确定“小数”,即升序对的前一个数;确定“大数”,即从后往前找第一个比小数大的数字;交换后将大数后面变为升序 因为升序是最小的 满足题目下一个排列增幅尽可能小。这道题就别想着用回溯全排列的思路了,空间复杂度不满足。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。原创 2025-01-27 14:46:00 · 153 阅读 · 0 评论 -
leetcode75.颜色分类
对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。给定一个包含红色、白色和蓝色、共。统计0、1、2数量,然后给数组赋值。原创 2025-01-22 18:39:30 · 235 阅读 · 0 评论 -
leetcode136.寻找重复数
,可知至少存在一个重复的整数。你可以设计一个线性级时间复杂度。你设计的解决方案必须。原创 2025-01-22 17:02:37 · 386 阅读 · 0 评论 -
leetcode169.多数元素
假设candidate为主要势力(存储多数元素),count 为candidate战斗力(多数元素和其他元素对抗后剩余个数);如果和candidate不是一伙的,则战斗力count--。由于非maj的人数比maj的人数少并且还会自相残杀,非maj们无法吧maj们全拉下来。因此最后的candidate就是多数元素。尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。碎碎念:这竟然是简单题?原创 2025-01-22 16:15:38 · 390 阅读 · 0 评论 -
leetcode136.只出现一次的数字
除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。,也采用了计数排序思想。原创 2025-01-21 14:29:59 · 413 阅读 · 0 评论 -
leetcode215.数组中的第K个最大元素
采用计数排序思想,创建一个涵盖所有数字可能范围的数组temp,下标i即数字,temp[i]即i出现次数,从后遍历temp,遇到temp[i]=0跳过,遇到temp[i]!=0则k--,直到k===0则找到第k大元素;注意这里nums[i]数字对应到temp是nums[i]+10000,因为如果直接对应,不处理,出现负数无法直接对应到temp下标。请注意,你需要找的是数组排序后的第。你必须设计并实现时间复杂度为。个最大的元素,而不是第。原创 2025-01-21 13:43:00 · 827 阅读 · 0 评论 -
leetcode48.旋转图像
思路:两次翻转,先以主对角线(左上-右下)为对称轴翻转,然后以每行中间轴作为对称轴翻转。这种找规律问题,做过的秒杀,没做过的确实很难崩啊。请你将图像顺时针旋转 90 度。旋转图像,这意味着你需要直接修改输入的二维矩阵。使用另一个矩阵来旋转图像。原创 2024-11-13 20:06:22 · 278 阅读 · 0 评论