
算法题
文章平均质量分 52
hello big_bear
这个作者很懒,什么都没留下…
展开
-
机试算法题-两个栈实现队列
题目: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 思路: 我们用数组的push(),pop()方法模拟入栈和出栈。 1、定义两个栈,调用appendTail直接从栈1入栈就行。 2、出栈的时候先判断栈2是否有元素,如果有就先pop出去。 3、如果栈2没有元素,把栈1的全部元素都pop到栈2,再从栈2pop一个出去。 4、如果栈1原创 2022-03-24 02:36:00 · 618 阅读 · 0 评论 -
机试算法题-敲击计数器
题目: 设计一个敲击计数器,使它可以统计在过去 5 分钟内被敲击次数。(即过去 300 秒) 您的系统应该接受一个时间戳参数 timestamp (单位为 秒 ),并且您可以假定对系统的调用是按时间顺序进行的(即 timestamp 是单调递增的)。几次撞击可能同时发生。 实现 HitCounter 类: HitCounter() 初始化命中计数器系统。 void hit(int timestamp) 记录在 timestamp ( 单位为秒 )发生的一次命中。在同一个 timestamp 中可能会出现几个原创 2022-03-23 18:06:51 · 509 阅读 · 0 评论 -
机试算法题-求三个矩形相交面积
题目: 在坐标中,给定三个矩形,求三个矩形相交面积,如果没有返回-1。(代码最后写了个最后输出三个矩形相交形成的矩形) 思路: 在三个矩形判断其中随意两个矩形是否交,其中两个矩形没有相交,那么肯定没有三个矩形共同的交集。如果其中两个矩形相交了,那么可以让两个矩形形成的新矩形跟第三个矩形进行判断有没有相交。如果两个矩形相交形成的新矩形跟第三个矩形有交集。那形成的矩形就是三个矩形的交集。 代码: <script> let recA={x:1,y:6,w:4,h:4} let rec原创 2022-03-04 10:33:19 · 4634 阅读 · 0 评论 -
机试算法题-打印机队列
题目: 某个打印机根据打印队列执行打印任务。打印任务分为九个优先级,分别采用数字1~9表示,数字越大优先级越高。打印机每次从队列头部取出第一个任务A,然后检查队列余下任务中有没有比A优先级更高的任务,如果有比A优先级高的任务,则将任务A放到队列尾部,否则执行任务A的打印。请编写一个程序,根据输入的打印队列,输出实际打印顺序。 输出描述: 1、输入:’8,9,10‘ 输出:’2,1,0‘ 2、输入:’5,7,6,4‘ 输出:‘1,2,0,3’ 3、输入:‘8,7,8,6’ 输出:‘0,2,1,3’ 代码:原创 2022-03-04 09:58:29 · 1652 阅读 · 6 评论 -
机试算法题-拼接url字符串
题目:拼接url,给定一个字符串,中间存在“,”隔开前后两个url,要求拼接这两个url,且中间有且只有一个“/”,拼接的要求:假如两个字符串为null 则结果为"/" ,否则结果为"/abc/abc"的形式。 输出描述: 1 、输入: ‘/a,/b’ 输出:’/a/b 2 、输入: ‘a,/b/’ 输出:’/a/b 3 、输入: ‘a,b’ 输出:’/a/b 4 、输入: ‘/a,b’ 输出:’/a/b 5 、输入: ‘/a/,/b/’ 输出:’/a/b 6、输入:’,‘ 输出:’/’ 代码: <s原创 2022-03-04 09:34:17 · 937 阅读 · 0 评论