摘要: 13.LRU算法的应用 题目 关于用户信息的需求 假定在一个复杂的系统中,需要抽象出一个用户系统,提供给其他子系统使用,该如何实现。子系统对用户信息的查询频率很高,要注意性能问题。 用户信息是存储在数据库里的,但是对于查询频率高的数据,不能每一次请求时都去查询数据库。 思路 哈希表 使用以用户id为 阅读全文
posted @ 2025-01-18 23:01 长名06 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题目 关于用户标签的需求:用户标签包括用户的社会属性、生活习惯、消费行为等信息。例如,程序员,有驾照,单身等等。通过用户标签,可以对多样的用户群体进行统计。例如,统计用户的男女比例,统计喜欢旅游的用户数量等。 通常的思路,是使用关系型数据库,比如Occupation表示用户职位,gender表示性别 阅读全文
posted @ 2025-01-16 22:47 长名06 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 11.寻找缺失的整数 题目 在一个无序数组里有99个不重复的正整数,范围是1100,唯独缺少一个1100的整数。然后找出这个缺失的整数。 思路 1.对无序数组,进行升序排序,先判断首位是否为2或99,如果是则得到缺失值,否则,不连续的两个元素中间即为,缺失值。时间复杂度,为排序算法的时间复杂度,空间 阅读全文
posted @ 2025-01-14 22:12 长名06 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 10.金矿问题 题目 有5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人人数也不同。例如有的金矿储量是500kg黄金,需要5个工人来挖掘,有的金矿储量是200kg黄金,需要3个工人来挖掘...... 如果参与挖矿的工人的总数是10。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半的金矿。要求计 阅读全文
posted @ 2025-01-12 22:20 长名06 阅读(50) 评论(0) 推荐(1) 编辑
摘要: 9.如何实现大正整数相加 题目 给出两个很大的正整数,要求实现程序求出两个正整数之和。超出Java中的Long类型的范围的正整数,如何求和。 思路 使用到小学的数学了,对于大的数,小学老师会教,列竖式进行计算。 对于,计算机,无法计算太大的数,进行加运算。我们可以将大的数,转成一个个小的整数,创建两 阅读全文
posted @ 2025-01-07 23:16 长名06 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 8.删去k个数字后的最小值 题目 给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数经可能小。应该如何选取被去掉的数字? 其中整数的长度大于或等于k,给出的整数的大小可以超过long类型的数字范围。 举例:整数1593210,删除3个数字,新整数最小为1210;整数5674201,删除 阅读全文
posted @ 2025-01-04 23:51 长名06 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 6.用栈模拟队列 题目 用栈来模拟一个队列,要求实现队列的两个基本操作:入队、出队。 思路 用两个栈,一个栈用来存储入队元素,另一个栈用来存储,出队元素。 比如,有两个栈A,B,入队元素,先进入到栈A,每次元素要出队时,就把栈A的元素依次出栈,进入到栈B,再从栈B出栈,来模拟元素出队。 代码 pub 阅读全文
posted @ 2024-12-26 23:06 长名06 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题目 有一个无序整型数组,如何求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。 思路 解法1:使用任意一种时间复杂度为O(nlogn)的排序算法(如快速排序),给原数组排序,然后遍历排序号的数组,并对每队相邻元素求差,最终得到最大差值。该解法的时间复杂度是O(nlogn) 阅读全文
posted @ 2024-12-18 22:35 长名06 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 2.最小(大)栈问题 题目 实现一个栈,该栈带有出栈(pop),入栈(push),取最小元素(getMin)3个方法。且要保证这3个方法的时间复杂度都是O(1)。 思路 1.设原有的栈为main栈,此时创建一个额外的min栈,用于辅助main栈。 2.当第1个元素,进main栈时,让该元素,也进入m 阅读全文
posted @ 2024-12-17 13:15 长名06 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1.链表中环相关问题 1.1 链表中是否有环 有一个单向链表,链表中有可能出现“环”,就像下图这样。 那么,如何用程序来判断该链表是否为有环链表呢? 思路 创建两个指针p1和p2(在Java里就是两个对象引用),让它们同时指向这个链表的头节点。然后开始一个大循环,在循环体中,让指针p1每次向后移动1 阅读全文
posted @ 2024-12-15 16:46 长名06 阅读(44) 评论(2) 推荐(0) 编辑