分类: 算法

4 篇文章

2 时间和空间复杂度分析
1.1 时间和空间复杂度分析 最常见的时间复杂度就是下面 7 种 O(1):常熟复杂度 O(log n):对数复杂度 O(n):线性时间复杂度 O(n^2):平方 O(n^3):立方 O(2^n):指数 O(n!):阶乘 我们怎么来看这个时间复杂度呢? 最常用的方式就是直接看这个函数,或者是说这段代码他根据 n 的不同情况他会运行多少次 如下图代码…
1 数据结构与算法总览
1 数据结构 数据结构主要分为三类 一维、二维、特殊 一维: 基础:数组 array(string),链表 linked list 高级:栈 stack,队列 queue ,双端队列 deque,集合 set,映射 map(hash or map),etc 栈:前进后出 队列:先进先出 二维: 二维数据结构都是从一维泛化而来的 基础:数 tree …
18.四数之和
18. 四数之和 难度中等 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。   示例 1: 输入:nums = [1,0,-…
16. 最接近的三数之和(动态规划)(双指针)
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。   示例: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近的和是 2 (-1 + 2 + …