数组
知无畏
好好学习,天天coding。
展开
-
LeetCode - 283. Move Zeroes - 思路详解 - C++
假设给定一个数组 ,写一个函数,将所有的0移动到数组后边,同时保持非零元素的相对位置。注:1,你必须原地解决问题2,操作次数最小原创 2017-01-13 20:06:22 · 451 阅读 · 0 评论 -
LeetCode - 462. Minimum Moves to Equal Array Elements II - 思路详解 - C++
假设有一个数组,找出最小的操作使得十足满足所有的元素都相等。操作有对选定数加一,对选定的数减一。可以假设数组长度最大10000原创 2017-01-15 22:04:00 · 356 阅读 · 0 评论 -
LeetCode- 1. Two Sum - 思路详解-C++
给定义个数组,找到数组中的两个值之和为目标值,返回这两个数的下标,假设每一个数组都有一组特定的解。原创 2017-01-11 15:50:52 · 2478 阅读 · 0 评论 -
LeetCode- 289. Game of Life - 思路详解-C++
假设有一个大小为m*n的板子,有m行,n列个细胞。每个细胞有一个初始的状态,死亡或者存活。每个细胞和它的邻居。垂直,水平以及对角线。按照规则互动,计算下一状态。原创 2017-01-11 16:14:07 · 2533 阅读 · 0 评论 -
LeetCode-386. Lexicographical Numbers-思路详解-C++
给定一个整数,返回从1~n的字典序排列。例如:假设13.返回结果: [1,10,11,12,13,2,3,4,5,6,7,8,9].原创 2017-01-11 16:28:56 · 707 阅读 · 0 评论 -
LeetCode - 152. Maximum Product Subarray - 思路详解 - C++
找出在给定的数组中连续子数组成绩最大。比如,给定的数组为【2,3,-2,4】连续子数组,成绩最大为6;原创 2017-01-16 19:26:41 · 1937 阅读 · 0 评论 -
LeetCode - 128. Longest Consecutive Sequence - 思路详解- C++
假设有一个未排序整数数组,找出数组中最长的连续序列。比如:数组【100,4,200,1,3,2】最长的连续序列为【1,2,3,4】。则返回其长度为4原创 2017-01-16 22:23:07 · 527 阅读 · 0 评论 -
LeetCode - 121. Best Time to Buy and Sell Stock - 思路详解 - C++
假设说你有一个数组,第i个元素表示第i天股票价格。如果仅允许你最多交易一次(比如:交易:买一次和卖一次股票)。设计一个算法,求出最大收益原创 2017-01-16 22:40:22 · 476 阅读 · 0 评论 -
LeetCode - 122. Best Time to Buy and Sell Stock II - 思路详解 - C++
假设你有一个数组,第i个元素表示第i天的股票价格设计一个算法,计算出可以获得的最大收益。你可以进行尽可能多次的交易。但是,你不可以在同一时间进行多次交易。及必须在卖之前先买入。原创 2017-01-16 22:56:21 · 471 阅读 · 0 评论 -
LeetCode-384. Shuffle an Array-思路详解
题目Shuffle a set of numbers without duplicates.翻译对一组数字进行洗牌思路每次往后读取数组的时候,当读到第i个的时候以1/i的概率随机替换1~i中的任何一个数,这样保证最后每个数字出现在每个位置上的概率都是相等的。原创 2017-01-12 21:56:12 · 660 阅读 · 0 评论 -
LeetCode - 123. Best Time to Buy and Sell Stock III - 思路详解 - C++
假设一个数组,表示第i天的股票价格。设计算法,求出最大收益,最多可以进行两次交易原创 2017-01-17 18:16:19 · 333 阅读 · 0 评论 -
LeetCode - 88. Merge Sorted Array - 思路详解 - C++
假设有两个已经排序的数组,nums1和nums2。将nums2数组合并到nums1中,合并为一个排序数组。注:你可认为数组nums1具有足够的空间用来保存合并到其中的数组2的元素。原创 2017-01-17 23:06:15 · 672 阅读 · 0 评论 -
LeetCode - 120. Triangle - 思路详解 - C++
假设有个三角形。找出从顶部到底部的最小路径。每一步你可以移动到下层的相邻的位置。举例下图,假设有三角形。最小的路径为11,【2+3+5+1 = 11】原创 2017-01-17 23:18:19 · 697 阅读 · 0 评论 -
LeetCode -485. Max Consecutive Ones - 思路详解 - C++
假设有个一数组,找出数组中最长连续的1的序列。注:1,数组中值仅包含0和12,输入数组长度为正整数,且不会超过10000原创 2017-01-15 21:59:38 · 874 阅读 · 0 评论 -
LeetCode - 153. Find Minimum in Rotated Sorted Array - 思路详解- C++
假设,一个数组,按照升序排列,然后被该数组可能经过k步的旋转。找出其中最小的元素。可以假设,数组中不存在两个相同的数原创 2017-01-14 23:08:38 · 424 阅读 · 0 评论 -
LeetCode-268. Missing Number-思路详解-C++
给定一个数组,包含n个不同的数,从0~n,在数组中找出那个被遗忘的数比如:给数组,【0,1,3】返回2注:算法时间复杂度要求为线性时间复杂度,且只使用常数的空间。原创 2017-01-13 20:13:39 · 538 阅读 · 0 评论 -
LeetCode- 238. Product of Array Except Self - 思路详解 -C++
给定一个数组A,具有n个元素,n大于1,返回一个数组,数组元素output[i]为,除过元素A【i】,其他元素的乘积。时间复杂度为O(n)注:是否可以用O(1)的空间复杂度结果问题,原创 2017-01-13 20:33:11 · 362 阅读 · 0 评论 -
LeetCode- 169. Majority Element - 思路详解 -C++
给定一个数组,大小为n,找出所有出现超过n/2次的元素。可以假设,数组非空,且多数数一直存在。原创 2017-01-13 20:45:43 · 720 阅读 · 0 评论 -
LeetCode - 228. Summary Ranges - 思路详解- C++
假设有一个已排序整数数组,不包含重复的元素,返回其范围摘要原创 2017-01-13 20:50:21 · 782 阅读 · 0 评论 -
LeetCode-219. Contains Duplicate II-思路详解-C++
假设给定一个整数数组,和一个数k。找出是否两个不同位置处数值相等。且两者距离至多为k。原创 2017-01-13 20:55:42 · 482 阅读 · 0 评论 -
LeetCode - 217. Contains Duplicate - 思路详解 - C++
假设有一个数组,判断该数组是否存在重复的数。原创 2017-01-13 20:59:14 · 328 阅读 · 0 评论 -
LeetCode - 216. Combination Sum III - 思路详解 - C++
找出所有可能组合,即使用k个数,相加结果为n。假设数值从1到9,在每个组合中,尽可被使用一次。即组成的组合,数据相互不同。原创 2017-01-13 21:06:41 · 734 阅读 · 0 评论 -
Leetcode-448. Find All Numbers Disappeared in an Array-思路详解 - C++
题目 给定一个整数数组(数组元素的值在1~n直接,n为数组的大小)。一些元素出现了两次,一些元素出现了一次。在数组中找1~n之间不存在的数。并返回。原创 2017-01-10 15:18:14 · 444 阅读 · 0 评论 -
Leetcode-442. Find All Duplicates in an Array-思路详解-C++
给定一个整数数组,1 < a[i] <= n,(n为数组的大小),一些元素出现了一次,一次出现了两次。在数组中找出出现了两次的元素。要求:不适用额外的空间,且时间复杂度为O(n)原创 2017-01-10 15:37:17 · 318 阅读 · 0 评论 -
LeetCode - 414. Third Maximum Number-思路详解- C++
给定一个数组,返回数组中的第三大数。如果不存在,则返回最大的数。时间复杂度为O(n)原创 2017-01-10 15:44:23 · 1001 阅读 · 2 评论 -
LeetCode - 189. Rotate Array - 思路详解 - C++
给定一个n个元素的数组,所有元素向右移动k步。原创 2017-01-14 22:38:16 · 575 阅读 · 0 评论 -
LeetCode - 162. Find Peak Element - 思路详解 - C++
一个峰值元素,即该元素大于左右邻接元素假设给定数组中元素,num[i] != num[i+1]。找出数组中的峰值元素并返回其索引。这个数组可能包含多个峰值,在这种情况下,返回任意一个索引都是可以的。你可以想想num[-1]和num[n]为负无穷。原创 2017-01-14 22:54:07 · 569 阅读 · 0 评论 -
LeetCode - 119. Pascal's Triangle II - 思路详解 - C++
假设有一个索引k,返回帕斯卡三角(杨辉三角)第k行。比如:给定索引k。则返回【1,3,3,1】注:是否可以优化空间复杂度为O(k)原创 2017-01-17 23:30:06 · 657 阅读 · 0 评论