数组题
IrvingTc
成功背后不是沧桑便是肮脏
展开
-
TwoSum(Java)
题目描述 给定一个整数数组,返回两个数字的索引,使它们加起来等于一个特定的目标。 您可以假设每个输入都只有一个解决方案,并且不能两次使用相同的元素。 Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + ...原创 2019-03-14 10:56:03 · 532 阅读 · 0 评论 -
合并两个有序数组(Java)
题目描述         给定两个排序整数数组nums1和nums2,将nums2合并为一个排序数组nums1。         nums1和nums2中初始化的元素数量分别为m和n。        原创 2019-03-14 14:49:03 · 8127 阅读 · 2 评论 -
使用栈实现队列的基本功能(Java)
题目描述 使用堆栈实现队列的以下操作。 push(x)——将元素x推到队列的后面。 pop()——从队列前面移除元素。 peek()——获取front元素。 empty()——返回队列是否为空。 实现 将两个栈的栈底连在一起就可以实现先进先出功能,第一个栈用于push操作,第二个栈用于pop和peek操作,每次pop和peek时先判断栈2是否有数据,有数据的话直接执行操作,没有数据的话将栈1所...原创 2019-03-14 16:23:11 · 857 阅读 · 0 评论 -
使用队列实现栈的基本功能(Java)
题目描述 使用队列实现堆栈的以下操作。 push(x)——将元素x推入堆栈。 pop()——删除堆栈顶部的元素。 top()——获取top元素。 empty()——返回堆栈是否为空。 解决 每入队一个元素,就将该元素之前的所有元素重新入队,使得第一个元素始终是栈top的元素 代码: class MyStack { public Queue<Integer> queue; ...原创 2019-03-14 16:44:04 · 2303 阅读 · 0 评论 -
返回数据流中第k大的元素(Java)
题目描述 &nbsp; &nbsp; &nbsp; &nbsp; 设计一个类来查找流中第k大的元素。注意,它是排序后第k大的元素,而不是第k个不同的元素。 &nbsp; &nbsp; &nbsp; &nbsp; 您的KthLargest类将有一个构造函数,它接受一个整数k和一个整数数组nums,后者包含来自流的初始元素。对于每个对方法kthmaximum的调用。添加,返回表示流中第原创 2019-03-15 08:26:12 · 964 阅读 · 0 评论 -
滑动窗口中最大的值(Java)
题目描述 给定一个数组编号,有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口看到k个数字。每次滑动窗口右移一个位置。返回最大滑动窗口。 Example: Input: nums = [1,3,-1,-3,5,3,6,7], and k = 3 Output: [3,3,5,5,6,7] Explanation: Window position ...原创 2019-03-16 14:53:01 · 222 阅读 · 0 评论 -
三个数之和(Java)
题目描述 给定一个包含n个整数的数组,在数组中是否存在a、b、c元素使得a + b + c = 0?找出数组中所有唯一的三个数组合,它们的和为零。 解决 代码: public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); List<List<Integer...原创 2019-03-16 19:18:13 · 3945 阅读 · 0 评论 -
买卖股票的最佳时机(Java)
题目描述 假设你有一个数组,其中第i个元素是某只股票在第i天的价格。 设计一个算法来寻找最大的利润。您可以完成任意数量的事务(即,买进一股,再卖出一股)。 注:你不可同时进行多项交易(即,你必须先把股票卖了再买。 解决 代码: 使用贪心算法的思想,只要今天的股票价大于昨天的,即卖出 public int maxProfit(int[] prices) { int total = 0...原创 2019-03-17 16:19:27 · 1289 阅读 · 1 评论