给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使 nums [i] = nums [j],并且 i 和 j 的绝对差值最大为 k。
Leetcode_190 Rotate Array
将包含 n 个元素的数组向右旋转 k 步。
例如,如果 n = 7 , k = 3,给定数组 [1,2,3,4,5,6,7] ,向右旋转后的结果为 [5,6,7,1,2,3,4]。
注意:
尽可能找到更多的解决方案,这里最少有三种不同的方法解决这个问题。
提示:
要求空间复杂度为 O(1)
Leetcode_167 Two Sum II - Input array is sorted
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。
函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。请注意,返回的下标值(index1 和 index2)不是从零开始的。
你可以假设每个输入都只有一个解决方案,而且你不会重复使用相同的元素。
输入:数组 = {2, 7, 11, 15}, 目标数 = 9
输出:index1 = 1, index2 = 2
Leetcode_122 Best Time to Buy and Sell Stock II
假设有一个数组,它的第 i 个元素是一个给定的股票在第 i 天的价格。
设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。
Leetcode_121 Best Time to Buy and Sell Stock
假设你有一个数组,其中第 i 个元素是一支给定股票第 i 天的价格。
如果您只能完成最多一笔交易(即买入和卖出一股股票),则设计一个算法来找到最大的利润。
示例 1:
输入: [7, 1, 5, 3, 6, 4]
输出: 5
最大利润 = 6-1 = 5(不是 7-1 = 6, 因为卖出价格需要大于买入价格)
示例 2:
输入: [7, 6, 4, 3, 1]
输出: 0
在这种情况下, 没有交易完成, 即最大利润为 0。
Leetcode_88 Merge Sorted Array
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1中,使得 num1 成为一个有序数组。
注意:
你可以假设 nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。在 nums1 和 nums2 中初始化的元素的数量分别是 m 和 n。
Leetcode_53 Maximum Subarray
给定一个整数数组,找到一个具有最大和的连续子数组 (子数组最少包含一个数),返回其最大和。
例如,给定数组 [-2,1,-3,4,-1,2,1,-5,4],
连续子数组 [4,-1,2,1] 的和最大,为 6。