摘要: ABC: Always Be Coding(原地址:https://medium.com/@davidbyttow/abc-always-be-coding-d5f8051afce2)Be honest. Are you a good engineering candidate? How are y... 阅读全文
posted @ 2014-12-30 01:16 思凡念真 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 描述 汉诺塔问题比较经典,这里修改一下游戏规则:现在限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有n层的时候,打印最优移动过程和最优移动总步数。 输入描述: 输入一个数n,表示塔层数 输出描述: 按样例格式输出最优移动过程和最优移动总步数 示例 输入 阅读全文
posted @ 2022-01-14 16:16 思凡念真 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 描述 一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序? 输入描述: 第一行输入一个N,表示栈中元素的个数 第二行输入N个整数a_iai​表示栈顶到栈底的各个元素 输出描述: 输出一行表示排序后的栈 阅读全文
posted @ 2022-01-13 17:50 思凡念真 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 描述 实现一种猫狗队列的结构,要求如下: 1. 用户可以调用 add 方法将 cat 或者 dog 放入队列中 2. 用户可以调用 pollAll 方法将队列中的 cat 和 dog 按照进队列的先后顺序依次弹出 3. 用户可以调用 pollDog 方法将队列中的 dog 按照进队列的先后顺序依次弹 阅读全文
posted @ 2022-01-13 15:51 思凡念真 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 概述 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。 整体机制图如下: Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。 系统设计的各个抽象,往往有很多不 阅读全文
posted @ 2022-01-12 11:46 思凡念真 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 描述 给定一个无序数组arr,其中元素只能是1或0。求arr所有的子数组中0和1个数相等的最长子数组的长度 [要求] 时间复杂度为O(n)O(n),空间复杂度为O(n)O(n) 输入描述: 第一行一个整数N,表示数组长度接下来一行有N个数表示数组中的数 输出描述: 输出一个整数表示答案 示例1 输入 阅读全文
posted @ 2022-01-11 15:13 思凡念真 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 描述 给定一个无序数组arr,其中元素可正、可负、可0。求arr所有子数组中正数与负数个数相等的最长子数组的长度。 [要求] 时间复杂度为O(n)O(n),空间复杂度为O(n)O(n) 输入描述: 第一行一个整数N,表示数组长度接下来一行有N个数表示数组中的数 输出描述: 输出一个整数表示答案 示例 阅读全文
posted @ 2022-01-11 14:19 思凡念真 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 描述 给定一个无序数组arr, 其中元素可正、可负、可0。给定一个整数k,求arr所有子数组中累加和为k的最长子数组长度 输入描述: 第一行两个整数N, k。N表示数组长度,k的定义已在题目描述中给出第二行N个整数表示数组内的数 输出描述: 输出一个整数表示答案 示例1 输入: 5 0 1 -2 1 阅读全文
posted @ 2022-01-11 14:07 思凡念真 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 描述 给定一个数组arr,该数组无序,但每个值均为正数,再给定一个正数k。求arr的所有子数组中所有元素相加和为k的最长连续子数组的长度 例如,arr = [1, 2, 1, 1, 1], k = 3 累加和为3的最长连续子数组为[1, 1, 1],所以结果返回3 [要求] 时间复杂度为O(n)O( 阅读全文
posted @ 2022-01-11 10:55 思凡念真 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 描述 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。 输入描述: 输入数据第一行一个整数N为栈中元素的个数。接下来一行N个整数X_iXi​表示一个栈 阅读全文
posted @ 2022-01-10 14:00 思凡念真 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 描述 用两个栈实现队列,支持队列的基本操作。 输入描述: 第一行输入一个整数N,表示对队列进行的操作总数。下面N行每行输入一个字符串S,表示操作的种类。如果S为"add",则后面还有一个整数X表示向队列尾部加入整数X。如果S为"poll",则表示弹出队列头部操作。如果S为"peek",则表示询问当前 阅读全文
posted @ 2022-01-09 21:22 思凡念真 阅读(4) 评论(0) 推荐(0) 编辑