
算法笔记
Involuter
小白,努力学习中,加油。
展开
-
小白:c++ 插入、归并排序(辅修作业)
//插入排序 void insertSort(vector<int>& num) { int lenth = num.size(), curValue = 0, j; //i是当前的下标,j是可能需要往后移的数据 for (int i = 1; i < lenth; i++) { curValue = num[i]; //从i左边一格开始遍历 j = i - 1; //将大于的部分右移一格 while (j > -1 && num[.转载 2021-09-19 21:38:02 · 118 阅读 · 0 评论 -
拆分 力扣1109
1109. 航班预订统计 - 力扣(LeetCode) (leetcode-cn.com) 本质上是前缀和加拆分的思想。将n个相同的变化转化为2个(即头和尾)的变化,更加有利于改善时间复杂度。 本题做法即先将数组逆前缀和化,再利用逆前缀和数组的特点,即index位置的值表示的是和数组中index位置和index-1位置的数值之差,对逆前缀和数组进行处理,最后进行前缀和计算得到结果。(此为倒推,方便看懂题解) 正推: 对于一个正常的数组来说,在某一段位置加上某个数对于前缀和来说影响的只有头和尾巴+原创 2021-08-31 13:38:59 · 99 阅读 · 0 评论 -
从零开始的算法小白,归并排序,c++实现
数据结构与算法之美 #include <iostream> #include <vector> using namespace std; //归并 void merge(vector<int>& nums, int p,int mid, int q) { vector<int> xuse(q-p+1); int i = p, j = mid + 1,k=0; //开始合并并且存放到临时数组 while (i <= mid &原创 2021-07-20 18:13:20 · 103 阅读 · 0 评论