摘要:
#include <bits/stdc++.h>using namespace std;const int MaxNode = 26;struct Node { int end; int pass; vector<Node *> nexts; Node() : end(0), pass(0) { n 阅读全文
摘要:
排序算法可分为基于比较的排序和线性时间排序(至少要遍历所有元素)。 常见的基于比较排序的算法有:冒泡排序、选择排序、插入排序、归并排序、堆排序、快速排序等。(给数字排序,需要通过两两的数字比较大小,决定他们的顺序的算法) 不基于比较的排序:受限与数据的状况。如计数排序,基数排序,桶排序。 基数排序: 阅读全文
摘要:
堆排序有两个操作:1.建堆 2.弹出堆头 大根堆的实现过程: 1 #include <bits/stdc++.h> 2 using namespace std; 3 class HeapSort{ 4 private:int heapsize = 0; 5 public: 6 void Heapso 阅读全文
摘要:
题目:https://leetcode-cn.com/problems/couples-holding-hands/ LeetCode 765 02 34 15 67 这样的初始座位我们可以看做:首先一队是情侣是属于一个老大的,同坐一个椅子的,我们也认为他是属于一个老大;(即同属一个连通域) 最后输 阅读全文
摘要:
第一题:1-n个人排队,现在站队为数组num1;每个人都可以往左走任意个位置,问最小需要走几个人,可以走成目标数组的样子来拍照? 例子:6 4 6 3 2 1 5 4 2 3 5 6 1 输出3次; 1 #include <bits/stdc++.h> 2 using namespace std; 阅读全文
摘要:
1.直接一个链表,反转。返回反转后的头结点。 例子:1->2->3 ; return 3->2->1; #include <bits/stdc++.h> using namespace std; struct ListNode { int val; ListNode *next; ListNode( 阅读全文