算法学习
针对编程算法进行知识总结,从基础性原理到深入应用
YaoDeBiAn
这个作者很懒,什么都没留下…
展开
-
leetcode04-寻找两个有序数组的中位数
问题描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 ...原创 2019-09-07 23:54:04 · 195 阅读 · 0 评论 -
leetcode02-两数相加
问题描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...原创 2019-03-09 15:19:30 · 261 阅读 · 0 评论 -
leetcode01-两数之和
问题描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]接着,给...原创 2019-03-07 22:55:35 · 202 阅读 · 0 评论 -
数据结构之——数组
概况数组是最基础的数据结构之一,它是是一种线性结构(线性表就是数据排成像一条线一样的结构,每个线性表上的数据最多只有前和后两个方向),通过固定连续的内存块存储相同类型的数据(javascript除外,可以存储多种类型数据),常见的线性结构还有链表(包括单向链表、双向链表、循环链表)。有线性结构,自然也有非线性结构,比如:二叉树、堆和图等。。。特性数组最大的特点是根据下标随机访问数据,数组寻...原创 2019-09-15 17:49:22 · 320 阅读 · 0 评论 -
数据结构之——链表一(链表结构)【更新中】
概况与数组类似,链表是一种线性结构,如图所示:链表结构与数组结构有什么区别呢?数组:连续固定的内存空间,对内存要求较高;链表:零散的一系列内存通过指针的形式串接在一起;现在假设有这样一个场景:目前系统拥有的剩余内存空间充足,现在如果需要申请100MB的数组或者链表,系统中虽然剩余空间大于100MB,但没有大于或等于100MB的连续内存块,那么数组将声明成功,链表因为不受内存连续影响...原创 2019-09-21 23:52:32 · 393 阅读 · 0 评论