POJ2299,题目链接http://poj.org/problem?id=2299题意:给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列。思路:其实就是求逆序数,那么直接向到的就是冒泡了,交换一次,记录一次即可。但是n的范围达到50W,冒泡O(n^2)的复杂度...
分类:
其他好文 时间:
2014-06-18 23:21:12
阅读次数:
214
2014.06.17 01:04简介: 冒泡排序是O(n^2)级别的交换排序算法,原理简单,属于必知必会的基础算法之一。思路: 排序要进行N轮,每一轮从尾部逐个向前扫描,遇到逆序对就进行交换。确保每一轮把最小的元素交换到前面去。这个过程好比水中的气泡向上飘,所以叫冒泡排序。代码非常简单,所以语言.....
分类:
编程语言 时间:
2014-06-17 23:20:33
阅读次数:
268
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
在一行中输出逆序后的字符串。
输入样例:
Hello World!
输出样例:
!dlroW olleH
import java.math.BigInteger;
import java.util.Sca...
分类:
其他好文 时间:
2014-06-15 18:29:50
阅读次数:
204
处理这个问题还是挺复杂的,需要考虑很多边界的测试用例。我总体的思路是先用循环标记m前一个节点和n后边一个节点,把n后边的节点首先作为当前逆转节点的pre,然后循环n-m次完成所选节点部分的逆序,然后将标记的m节点前一个节点指向逆序后部分的头节点即可。要考虑各种特殊情况,另外考虑即可。code如下:...
分类:
其他好文 时间:
2014-06-15 13:44:17
阅读次数:
323
归并排序,原地归并排序,冒泡排序,选择排序,逆序对数(n^2, nlgn)
分类:
其他好文 时间:
2014-06-14 18:49:48
阅读次数:
288
题目二:逆序链表输出。题目描述:
将输入的一个单向链表,逆序后输出链表中的值。链表定义如下:typedef struct tagListNode { int value; struct
tagListNode *next; }ListNode; 要求实现函数: void converse...
分类:
其他好文 时间:
2014-06-13 18:35:48
阅读次数:
203
2 8 5 3 11.从后往前,找到第一个逆序的数
pivot2.从后往前,找到第一个比pivot大的数 change3.交换 pivot 和 change的值4.把pivot这个位置后面的数
reverse,就是 8 5 2 1变成 1 2 5 8最终为3 1 2 5 8#include #inc...
分类:
其他好文 时间:
2014-06-13 17:38:19
阅读次数:
378
1、暴力【代码】: 1 /*HDU1394暴力写法*/ 2 #include 3 #include 4
#include 5 6 using namespace std; 7 8 int A[50005]; 9 int
Low[50005],Up[50005];10 int main(){...
分类:
其他好文 时间:
2014-06-12 12:02:37
阅读次数:
191
链表模拟加法/字符串模拟二进制加法/数组模拟加一操作/打印1到最大的n位数/字符串模拟乘法============================================Add
Two Numbers两个链表代表两个数字,每个结点的值都是一位数字,单链表逆序存放这两个数字,构造出一个新的链表...
分类:
其他好文 时间:
2014-06-10 22:02:23
阅读次数:
409