摘要: 移除链表元素删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5 /** * Definition for singly-linked list. * struct ListNode { * int v 阅读全文
posted @ 2020-11-21 16:16 yanjan 阅读(72) 评论(0) 推荐(0)
摘要: 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode * 阅读全文
posted @ 2020-11-21 16:13 yanjan 阅读(110) 评论(0) 推荐(0)
摘要: 相交链表 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Refer 阅读全文
posted @ 2020-11-21 16:11 yanjan 阅读(99) 评论(0) 推荐(0)
摘要: 环形链表 II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数 阅读全文
posted @ 2020-11-21 16:10 yanjan 阅读(140) 评论(0) 推荐(0)
摘要: 快速排序使用了分治思想。 分解:数组A[p..r]被划分为两个(可能为空)子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每一个元素都小于等于A[q],而A[q]也小于等于A[q+1..r]中的每个元素。其中,计算下标q也是划分过程的一部分。 解决:通过递归调用快速排序,对子 阅读全文
posted @ 2020-09-27 20:26 yanjan 阅读(110) 评论(0) 推荐(0)
摘要: 堆 (二叉)堆是一个数组,可被看成一个近似的完全二叉树,树上的每一个结点对应数组中的一个元素,除了最底层外,该树是完全充满的,而且是从左向右填充。 树的根结点为A[1],给定一个结点的下标i,则父结点、左孩子、右孩子结点下标为: Parent(i) return i/2 Left(i) return 阅读全文
posted @ 2020-09-27 08:28 yanjan 阅读(89) 评论(0) 推荐(0)
摘要: 分解:分解待排序的n个元素序列成各具 n/2 个元素的两个子序列。 解决:使用归并排序递归地排序两个子序列。 合并:合并两个排序的子序列以产生已排序的答案。 当待排序的序列长度为1时,递归“开始回升”,此时长度为1的每个子序列都已排好序,然后将已排好序的子序列合并。 const int INF=0x 阅读全文
posted @ 2020-09-26 22:11 yanjan 阅读(105) 评论(0) 推荐(0)
摘要: 相邻元素比较大小,交换位置。每一轮排序结束,非有序区中最大(最小)元素确定。 for(int i=1; i<=n-1; i++) { for(int j=1; j<=n-i-1; j++) { if(a[j] > a[j+1]) { int tmp=a[j]; a[j]=a[j+1]; a[j+1] 阅读全文
posted @ 2020-09-26 09:30 yanjan 阅读(57) 评论(0) 推荐(0)
摘要: 每一轮排序选择最小(最大)的元素放置有序区的末尾,直至所有元素排序完毕。 #include<iostream> using namespace std; int main() { int n,a[20]; cin>>n; for(int i=1; i<=n; i++) cin>>a[i]; for( 阅读全文
posted @ 2020-09-26 08:50 yanjan 阅读(73) 评论(0) 推荐(0)
摘要: 从第二个元素开始对有序区元素进行比较,如果有序区元素比当前元素大(小),则有序区元素右移,直至出现比该元素小(大)的元素,停止右移,并用该元素填补空位。 #include<iostream> using namespace std; int main() { int a[20],n; cin>>n; 阅读全文
posted @ 2020-09-26 08:31 yanjan 阅读(87) 评论(0) 推荐(0)