数据结构进阶实训七 链表,数组
Data structure advanced training course notes and algorithm exercises
Source Code: https://github.com/MysticalGuest/DataStructure/tree/master/AdvancedJuniorTraining
题目1
1 | 判断两个链表是否相交? |
1.1 算法设计思想
如果链表有交点,那么他们一定有共同后缀,转化为共同后缀问题
1.2 源代码
1 | LinkList commonSuffix(LinkList L1, LinkList L2){ |
1.3 运行情况截图
题目2
1 | 连续子数组的最大和。 |
2.1 算法设计思想
将第一个元素默认最大值,往后遍历,并相加;
如果此时和sum小于当前元素,就舍弃之前的元素;
如果当前sum大于记录的max值,将max值改为sum;
直到遍历结束数组所有元素
2.2 源代码
1 | int MaxSum(int a[], int size, int *s, int *e){ |
2.3 运行情况截图
题目3
1 | 数组中的逆序对。 |
3.1 算法设计思想
利用归并的思想;
在排序交换元素的时候就输出这两数,就是逆序对,并用计数器记录
3.2 源代码
1 |
|
3.3 运行情况截图