阿里-马云的学习笔记

导航

2020年4月27日 #

面试题:两数之和

摘要: 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 num 阅读全文

posted @ 2020-04-27 17:28 阿里-马云的学习笔记 阅读(311) 评论(0) 推荐(0) 编辑

面试题:如何用栈实现队列

摘要: 题目 用栈来模拟一个队列,要求实现队列的两个基本操作:入队、出队 解题方法 栈、队列不同点 栈的特点是先入后出,出入元素都是在同一端(栈顶)。 入栈: 出栈: 队列的特点是先入先出,出入元素是在不同的两端(队头和队 尾)。 入队: 出队: 既然我们拥有两个栈,那么可以让其中一个栈作为队列的入口,负责 阅读全文

posted @ 2020-04-27 15:53 阿里-马云的学习笔记 阅读(296) 评论(0) 推荐(0) 编辑

面试题:如何判断一个数是否是2的整数次幂

摘要: 题目 如何判断一个数是不是2的整数次幂? 解题方法 思路: 首先把2的整数次幂转换成二进制数,十进制的2转换成二进制是10B,4转换成二进制是100B,8转化成二进制是1000B…… 如果一个整数是2的整数次幂,那么当它转化成二进制时,只有最高位是1,其他位都是0!接下来如果把这些2的整数次幂各自减 阅读全文

posted @ 2020-04-27 14:04 阿里-马云的学习笔记 阅读(3388) 评论(0) 推荐(2) 编辑

面试题:如何求最大公约数

摘要: 题目 写一段代码,求出两个整数的最大公约数,要尽量优化算法的性能。 实现方法一 这种方式性能不是非常好 package arithmetic.com.ty.binary; public class SimpleGreatestCommon { public static int getGreates 阅读全文

posted @ 2020-04-27 11:43 阿里-马云的学习笔记 阅读(1766) 评论(1) 推荐(0) 编辑

面试题:如何实现最小栈

摘要: 题目 实现一个栈,该栈带有出栈(pop)、入栈(push)、取最小元素(getMin)3个方法。要保证这3个方法的时间复杂度都是O(1)。 解题思路 1. 设原有的栈叫作栈A,此时创建一个额外的“备胎”栈B,用于辅助栈A。 2. 当第1个元素进入栈A时,让新元素也进入栈B。这个唯一的元素是栈A的当前 阅读全文

posted @ 2020-04-27 10:54 阿里-马云的学习笔记 阅读(408) 评论(0) 推荐(0) 编辑