难度 easy 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 解题思路:这里的解题思路还是相对比较简单的,就是用快慢指针找到中间节 ...
分类:
其他好文 时间:
2021-05-04 15:38:36
阅读次数:
0
题目 显然,彼佳所做的 \(a\) 件家务中最简单的家务的复杂度,和瓦西亚所做的 \(b\) 件家务中最难的家务的复杂度之差,就是 \(x\) 。 C++ #include<bits/stdc++.h> using namespace std; int n; int f[2005]; int a,b ...
分类:
其他好文 时间:
2021-05-03 12:54:09
阅读次数:
0
\(\text{Problem}:\)Cowmpany Cowmpensation \(\text{Solution}:\) 不难发现,虽然权值种类很多,但在一种分配方案中,不同的权值个数只有 \(O(n)\) 个。故设 \(f_{i}\) 表示分配了 \(i\) 种权值的方案数,答案为: \[ \ ...
分类:
其他好文 时间:
2021-05-03 12:25:45
阅读次数:
0
这道题的初始思路可以看的出来 是一道分治的思想,这种题往往枚举端点计算贡献 而这一题因为有个最大值的限制,所以我们考虑维护每个点作为最大值的答案 那么一般来说,都是在区间内,枚举首位,然后二分答案,但是这样复杂度会退化,例如一个很长的递增子序列 因此我们考虑启发式合并,前缀和后缀哪边小枚举哪边,这样 ...
分类:
其他好文 时间:
2021-05-03 12:20:44
阅读次数:
0
用回溯法设计求解装载问题的算法,并分析时间复杂度。 装载问题:有一批共n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量为wi,且w1+w2+…+wn<=c1+c2。装载问题要求确定是否有一个合理的装载方案可将这n个集装箱装上这2艘轮船。如果有,找出一种装载方案。 此问题是一个可行 ...
分类:
其他好文 时间:
2021-04-30 12:23:24
阅读次数:
0
算法的五大特征输入:0或者多个输入输出:1或者多个输出有穷性:有限的步骤,可接受的时间确定性:每一步都有确定的意义,不会出现二义性可行性:每一步都是可行的 单靠时间判断算法效率不准确,需要结合硬件和环境时间复杂度:T(n) = n^3*2大o表示法:n^3 数据不同,算法执行不同最优时间复杂度最坏时 ...
分类:
编程语言 时间:
2021-04-29 12:05:40
阅读次数:
0
1. 希尔排序 思路: 是优化了的插入排序,可以改进当最值处于头或尾需要多次移动元素的问题,因为它会设置步长k(>=1),初始步长是len/2, 先保证步长为k的每个子数组有序,再进一步缩小步长直到为1的时候,数组基本有序。 ''' 希尔排序 时间复杂度 平均:O(nlogn) 最好:O(nlogn ...
分类:
编程语言 时间:
2021-04-29 11:58:13
阅读次数:
0
优秀的算法 时间效率高 存储量低 算法效率的度量 为算法编写专门的测试代码 事前估算: 算法采用的方案 编译产生的代码质量 问题的输入规模 机器执行指令的速度 ...
分类:
其他好文 时间:
2021-04-26 14:08:56
阅读次数:
0
Insertion Sort(插入排序) 思路:for 循环遍历数组中的每一个数 用while将每次遍历到的数于左侧的数进行对比,将小的排到左边 void InsertionSort(int*A, int n){ int key,i=0,p; for(p=0;p<n;p++){ key=A[p]; ...
分类:
其他好文 时间:
2021-04-26 13:48:01
阅读次数:
0
问题 在一堆数组当中,选出第k小的数组 分析 在一般的情况下面,要选择第k小的数组,要先给它进行排序,排序至少需要O(n * logn)的时间复杂度,但是我们可以用分治的思想,相当于快排,给它进行分组,一组一组的进行排序,虽然也是排序,但是时间复杂度可以到达O(n)。 #include<bits/s ...
分类:
其他好文 时间:
2021-04-26 13:22:43
阅读次数:
0