算法
star-l
这个作者很懒,什么都没留下…
展开
-
leetcode 刷题日记 - 数组篇(1) -- 双指针问题
leetcode 283题:题目:移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。题目链接:https://leetcode-cn.com/problems/mov...原创 2019-11-07 10:02:41 · 732 阅读 · 0 评论 -
leetcode 刷题日记 - 数组篇(2) -- 基本算法变形
递归排序思想leetcode 88 题:合并两个有序数组题目:* 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。** 说明:*** 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。* 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 ...原创 2019-11-07 09:04:44 · 770 阅读 · 0 评论 -
算法笔记(二)线性排序:一百万数据量如何进行快速的排序?
线性排序:时间复杂度为 O(n)是线性的 不涉及元素之间的比较操作(但是对排序之间的数据比较苛刻)常见的三种:1.桶排序:将要排序的数据分到几个有序的桶里,然后由对桶内的数据再单独进行排序,排序完,再将每个桶里的数据按照顺序依次取出,最后组成的数据就是有序的了。可对数据范围比较大的数据依次划分范围桶(比较适合用于外部排序 内存有限不将数一次性加载到内存中 先将数据存储到外部磁盘中)2.计...原创 2019-10-30 23:29:46 · 3230 阅读 · 0 评论 -
算法笔记 ( 一 )
什么是时间复杂度:一个算法流程中,常数操作数量的指标什么常数时间操作: 大O描述的是算法的运行时间和输入数据的关系 一个操作 如果和数据量没有关系,每次都是固定时间内操作,叫做常数操作。如做加减操作,数组寻址 O(1)一次常数操作的平均时间 例如:for循环取出一个数及数组遍历数组寻址都为常数操作 O(log...原创 2019-10-26 15:49:26 · 609 阅读 · 0 评论