原文来自于:http://www.techug.com/10-algorithm-help-programmer-grow-up算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。...
分类:
编程语言 时间:
2015-04-30 19:42:17
阅读次数:
151
题目描述
n个数排成一个圈。第一次删除m,以后每k个数删除一次,求最后一个被删除的数。
题目分析
首先为了取模,n个人编号为0,1,2......n-1,当只有1个人时,肯定是编号为0的(只有它),所以dp[1]=0,
当有两个人时,最后剩下的(dp[1]+k)%2,就是反向思考的过程,于是dp[i]=(dp[i-1...
分类:
其他好文 时间:
2015-04-24 09:13:13
阅读次数:
246
反转二叉树,即交换所有结点的左右子树,但不能使用递归方法。
解析:既然不能使用递归那么可以使用栈,代码如下:
#include
#include
#include
#include
#include
using namespace std;
typedef struct BinaryTreeNode
{
int m_nValue;
Bin...
分类:
其他好文 时间:
2015-04-22 11:49:04
阅读次数:
216
问题
给定一个大小为n的数组,该数组包含数字的范围在 [0...k-1], k是一个正整数,k
例如, 假设k= 10给定的数组是arr[] = {1, 2, 2, 2, 0, 2, 0, 2, 3, 8, 0, 9, 2, 3},最大的重复数量将是2。
期望的时间复杂度是O(n),空间复杂度为O(1),允许修改原数组。
分析
方法一:使用双重循环,逐个判断...
分类:
其他好文 时间:
2015-04-20 11:15:03
阅读次数:
148
Equations
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6065 Accepted Submission(s): 2455
Problem Description
Consider equations h...
分类:
其他好文 时间:
2015-04-15 09:41:10
阅读次数:
194
题目描述
在大学里,很多单词都是一词多义,偶尔在文章里还要用引申义。这困扰Redraiment很长的时间。
他开始搜集那些单词的所有意义。他发现了一些规律,例如
“a”能用“e”来代替, “c”能用“f”来代替……
现在他给出了字母的替换规则,如下所示,A被E替换,B被C替换,依次类推。
A B C D E F G H I J K L M N O P Q R S T U V W X Y ...
分类:
其他好文 时间:
2015-04-14 13:01:05
阅读次数:
839
ASCII码排序
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 103963 Accepted Submission(s): 43442
Problem Description
输入三个字符后,按各字符的ASCII...
分类:
编程语言 时间:
2015-04-09 08:50:38
阅读次数:
178
题目地址:SDUT 2159
这题的数据很水。。几乎所有人都是水过去的。。网上也没找到正解,全是水过去的。于是我来第一发正解23333。
首先,可以想到的是先离线下来,然后对行离散化,然后对于每行的所有列用set去存,那么怎么去找最小的行有大于给出列的列数呢?这时候线段树就可以登场了,用线段树来维护每一行的出现的最大列,这样就可以用线段树去搜了。然后删除添加操作同...
分类:
其他好文 时间:
2015-04-05 12:02:22
阅读次数:
156
Basically Speaking
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2532 Accepted Submission(s): 959
Problem Description
The Really N...
分类:
其他好文 时间:
2015-04-04 16:49:44
阅读次数:
128
二叉树的深度 代码(C)本文地址:http://blog.csdn.net/caroline_wendy题目: 输入一棵二叉树的根节点, 求该树的深度.依次选择最深的左右子树, 然后递归加1.代码:/* * main.cpp * * Created on: 2014.6.12 * Aut...
分类:
编程语言 时间:
2015-04-02 14:53:32
阅读次数:
191