很早就听同学和师兄经常说刷题很重要,然而编程能力一直都很渣的我最近才开始从leetcode的初级算法开始。今天遇到的这道题虽然很简单,因为是头一次用自己的方法速度还不错,特此记录一下,还大神们请不要嘲笑菜鸡。 88/809 合并两个有序数组 88/809 合并两个有序数组 给定两个有序整数数组 nu ...
分类:
编程语言 时间:
2019-01-28 00:36:45
阅读次数:
173
题目说明 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 解法1 时间复杂度:O(n) 空间复杂度:O(1) 思路:利用数组为有序数组这一条件。使用双指针, ...
分类:
其他好文 时间:
2019-01-26 11:19:09
阅读次数:
181
思路:对数组中的数字进行查找并与目标数字进行比较,一样则可以找到,不一样则没有。 方法一:在有序的数组中查找一个数字,可以用一个循环的方式将每一个数字依次查找然后挑出所求数字。 方法二:因为是有序的数组,数组里的数字会按规律排列,可以利用二分法的方法,将数组分为左右两块,从中间开始和所求数字比较大小 ...
分类:
编程语言 时间:
2019-01-24 01:19:16
阅读次数:
211
一、关于哈希表: 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能 数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找 ...
分类:
其他好文 时间:
2019-01-21 17:53:44
阅读次数:
174
二分查找 斐波那契查找 黄金分割,即将整体一分为二,较大部分与较小部分之比等于整体与较大部分之比,其比值约为1:0.618或1.618:1。 斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…….,随着斐波那契数列的递增,前后两个数的比值会越来越接近0.618, ...
分类:
编程语言 时间:
2019-01-20 20:02:30
阅读次数:
224
[toc] 题目链接 "Median of Two Sorted Arrays LeetCode" 注意点 要考虑数组长度不一致的情况 解法 解法一:将两个数组合并成一个有序数组,根据数组长度分奇偶情况求中位数。时间复杂度为O(m+n) class Solution { public: double ...
分类:
其他好文 时间:
2019-01-20 15:09:39
阅读次数:
181
问题:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121] 提 ...
分类:
编程语言 时间:
2019-01-20 13:47:09
阅读次数:
257
前言 为了不让自己做公司笔试题时做不出来,所以刷题,挑了个好的刷题平台 "LeetCode" 所以记录和分享自己的刷题思路和题解写了这个专栏。 最大子序和 题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 分析 最大子序列是要找 ...
分类:
其他好文 时间:
2019-01-18 10:51:41
阅读次数:
182
题目一:合并有序数组:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。编写一个方法,将B合并入A并排序。 思路:注意这儿已经说明A的空间足够,那就说明不能再开辟辅助空间。然后合并的话可以采用归并的思想,就能解决这个问题。 代码: 结果: 题目二:逆序对个数:一个数列,如果左边的数大, ...
分类:
其他好文 时间:
2019-01-16 22:55:48
阅读次数:
238
/*寻找两个有序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则... ...
分类:
编程语言 时间:
2019-01-15 21:03:31
阅读次数:
120