算法|ACM
poetliu
这个作者很懒,什么都没留下…
展开
-
ACM从零开始---电子科大POJ "统计单词"
统计单词Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)Submit Status原创 2014-07-02 19:45:20 · 757 阅读 · 0 评论 -
LeeCode---Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a link原创 2014-11-11 20:48:38 · 523 阅读 · 0 评论 -
Remove Duplicates from Sorted Array
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in place with原创 2014-11-25 12:38:13 · 538 阅读 · 0 评论 -
Remove Duplicates from Sorted Array II
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?For example,Given sorted array A = [1,1,1,2,2,3],Your function should return length = 5, and A is now [1,1,2,原创 2014-11-25 12:36:41 · 645 阅读 · 0 评论 -
排序算法复习
排序算法复习作者:vpoetmails:18200268879@163.com注:转载请注明出处#include #include using namespace std;void Bubble_Sort(int UnSort[],int length);void Select_Sort(int UnSort[],int length);void Ins原创 2015-07-07 11:14:12 · 575 阅读 · 0 评论 -
关于二分查找算法(也叫折半查找)
二分查找算法是一种快速的查找算法。当我们再一个数组中查找是否存在某个数时,通常是直接遍历这个数组直到找到这个数,时间复杂度为O(n)试想如果数据量很大,上亿呢,怎么办,这里我们可以用一种简单快速的的查找算法--二分查找算法也叫做折半查找算法。 二分查找算法的算法思维:1.首先查找数组必须是有序的(假设为升序)。2.取查找数组中间的数作为基准,如果需要查找的数据大于基原创 2016-04-07 19:41:06 · 2532 阅读 · 0 评论 -
哈希表原理及hashmap简单实现
哈希表也叫做散列表。在各种语言中都有hashmap的实现。其最突出的优点是查找和插入以及删除具有常数的时间复杂度 我们可以把哈希表理解为数组+链表数组具有常数复杂度的查找,为什么呢,因为数组是在内存中连续存放,当我们索引某个位置的元素时候根据索引值自动计算距离数组首元素起始位置的内存间隔。然而对于中间插入和中间删除元素,数组会将待插入位置后面的原素先整体向后移动一个位置再将原创 2016-04-07 19:46:49 · 1953 阅读 · 0 评论 -
华为机试再回忆--第一题
之前写的第一题有误,上个厕所过来赶紧给删了,怕误导大家。题目如下:题目:输出整数序列中重复的数字描述:编写一个程序,用户输入任意长度(小于等于10)的整数序列,整数值都大于0,程序输出序列中所有重复的数组并且数组的顺序和输入保持一致输入:数字序列,一行数字,长度小于1000;两个数字之间用逗号隔开,所有数字均为整数且大于0.输出:重复的数字,两个数字之间以空格分隔,原创 2016-04-08 12:41:28 · 482 阅读 · 0 评论 -
华为机试再回忆--第二题
题目如下:题目:选定数组最大最小元素位置并输出描述:输入一组10个整数的数组(数组元素之间用逗号分隔),最大的与最后一个元素交换,最小的与第一个元素交换,输出交换前与交换后的数组例如:输入:56,23,45,0,122,26,53,100,2,32 输出:56,23,45,0,122,26,53,100,2,32;0,23,45,56,32,26,53,原创 2016-04-08 12:42:35 · 531 阅读 · 0 评论 -
华为机试再回忆--第三题
题目:字符串比较排序描述:1.字符串由大小写字母,数字及空格组成,一个或者多个空格将多个字符串隔开 2.解析出各字符串 3.输出结果时,将各个子串按长度从大到小排序,如果长度一样,按照小写字母>大写字母>数字 进行排序 4.输出结果时,一个空格隔多个子串 样例输入:w23r at 1rt Af w13r原创 2016-04-08 12:44:02 · 614 阅读 · 0 评论 -
关于递归次数的计算
有这样一个题目:递归函数: 1 int x(int n) 2 { 3 if(n3) 4 { 5 return 1; 6 } 7 else 8 { 9 return x(n-2)+x(n-4)+1;10 }11 }计算x(x(8))递归调用次数。大多数可能觉原创 2016-04-08 12:48:08 · 13332 阅读 · 2 评论 -
简单字符串匹配方法
字符串匹配在实际的开发过程中用的很多,比如大多数人喜欢ctrl+f的快捷的,无论是在代码里面还是在文本里面下面我们一起介绍一种简单的字符串匹配方法,这也是我们大多数人容易想到的算法。 算法过程如下:比如我们再字符串A中查找是否有子串B1.首先获取A和B的长度,len1与len2,同时用两个指针或者索引p1和p2分别指向A和B的第一个字符2当A[p1]原创 2016-04-07 20:32:36 · 834 阅读 · 0 评论 -
LeeCode--Two Sum
LeeCode上的题目原创 2014-10-23 14:19:45 · 826 阅读 · 0 评论 -
算法的时间复杂度
介绍算法时间复杂度的好文,对于算法分析很有用原创 2014-07-25 14:01:46 · 1337 阅读 · 0 评论 -
(转)递归树求递归算法的时间复杂度
递归树求递归算法的时间复杂度,十分清楚.从别人空间转来的原创 2014-07-25 14:05:16 · 5805 阅读 · 0 评论 -
LeeCode-Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321class Solution { public: int reverse(int x) { int Answer=0;原创 2014-11-25 12:40:29 · 710 阅读 · 1 评论 -
ACM从零开始---电子科大POJ "3*3矩阵的乘法"
3阶矩阵的乘法Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-01 20:43:19 · 930 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "A+B Problem"
A+B ProblemTime Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-01 16:16:25 · 609 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "任意阶矩阵相乘"
任意阶矩阵的乘法 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-03 09:36:15 · 816 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "整数的千位分隔"
整数的千位分隔Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-03 14:50:48 · 1033 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "进阶之路"
进阶之路Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-03 17:25:12 · 1026 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "冒泡排序"
#includeint main(){ int number[10]={4,2,1,7,5,9,8,21,10,3}; int i,j,temp; printf("before order:\n"); for(i=0;i<10;i++) printf("%d ",number[i]); for(i=0;i<9;i++)原创 2014-07-04 11:55:45 · 967 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "a^b"
a ^ bTime Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-03 12:00:39 · 762 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "孤单整数"
孤单整数Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)原创 2014-07-03 15:39:36 · 725 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "选择排序算法"
//选择排序算法#includeint main(){ int num[10]={2,1,4,3,6,5,8,7,9,0}; int i,j,temp,min; printf("Before Order:\n"); for(i=0;i<10;i++) printf("%d ",num[i]); for(i=0;i<9;i++)原创 2014-07-04 14:40:37 · 702 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "直接插入排序"
//直接插入排序#includeint main(){ int num[10]={3,2,1,4,7,6,5,8,9,0}; int i,j,temp; printf("Before Order:\n"); for(i=0;i<10;i++) printf("%d ",num[i]); for(i=1;i<10;i++) {原创 2014-07-04 15:05:47 · 654 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "敲错键盘"
C-sources:原创 2014-07-04 11:37:55 · 829 阅读 · 0 评论 -
ACM从零开始---电子科大POJ "快速排序算法"
#includevoid quicksort(int *array,int left,int right){ if(left<right) { int temp=array[left]; int low=left; int high=right; while(low<high) {原创 2014-07-06 11:59:09 · 1601 阅读 · 0 评论