称号:除了外面两个数字为整数数组。其他人物都出现两次。请敲代码,找了两个数字只出现一次。它需要的时间复杂度O(n),空间复杂度是O(1)。或深足够的认识。 要思路还是之前的数组中仅仅出现一次的数字的那种模式,一次遍历加上异或运算。那么这个异或的值肯定是这两个仅仅出现一次的数字的相异或...
分类:
编程语言 时间:
2015-07-22 14:34:36
阅读次数:
116
今天来说说为什么需要使用算法?
算法是什么?算法是:指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。(...
分类:
编程语言 时间:
2015-07-21 12:49:03
阅读次数:
137
排序算法包括插入排序、选择排序、冒泡排序、快速排序、归并排序以及基数排序等六种,下面我们将从他们各自的原理、实现、时间与空间复杂度以及稳定性等方面进行分析。1. 插入排序 基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新的记录数增1的有序表。当表中只有一个数时当然是有序的,因此我们从第....
分类:
编程语言 时间:
2015-07-21 01:31:00
阅读次数:
154
题意:给一个链表,实现插入排序。思路:O(1)空间,O(n*n)复杂度。将排好的用另一个链表头串起来,那个链表头最后删掉,再返回链表。 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int ...
分类:
编程语言 时间:
2015-07-21 01:17:04
阅读次数:
138
解法一:
一次遍历,装入vector,然后再一次遍历判断回文。
时间复杂度O(n),空间复杂度O(n)
解法二:
找到链表中点,拆分后,逆转后半个链表,然后两个链表同时顺序遍历一次。
若链表长度为奇数,最末尾的元素可以忽略。
时间复杂度O(n),空间复杂度O(1)
/**
* Definition for singly-linked list.
*...
分类:
其他好文 时间:
2015-07-20 19:46:34
阅读次数:
117
判断是否为回文链栈 时间复杂度为O(n) 空间复杂度为O(1) ;运用递归 保证空间复杂度为O(1);时间复杂度为O(n);注意定义了一个全局变量 flag = true 用此标记来标记是否在判断中出现了不满足条件的数传入参数是不能传入有空指针的头结点
//判断是否为回文链栈
void judgePalindrome(LinkStack *head1,LinkStack *&head2...
分类:
其他好文 时间:
2015-07-19 13:26:03
阅读次数:
98
Given a singly linked list, determine if it is a palindrome.Follow up:Could you do it in O(n) time and O(1) space?判断一个单向链表是否是回文链表,要求O(n)的时间复杂度和O(1)的空间复杂度。算法有以下几种:1、遍历整个链表,将链表每个节点的值记录在数组中,再判断数组是不是一个回文数...
分类:
其他好文 时间:
2015-07-17 09:57:35
阅读次数:
133
计数排序 前提:待排序表中的所有待排序关键字必须互不相同; 思想:计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,则该记录在新的有序表中的存放位置即为c。 性能:空间复杂度:o(n);时间复杂度:o(n...
分类:
编程语言 时间:
2015-07-16 13:23:30
阅读次数:
161
leetcode add two numbers
链表模拟大数相加
时间复杂度: O(n)
空间复杂度: O(n)...
分类:
其他好文 时间:
2015-07-15 17:09:17
阅读次数:
179
072 Edit Distance纯dp 解法, 唯一可以优化的就是空间复杂度了,以下代码没有优化。。。class Solution: # @param {string} word1 # @param {string} word2 # @return {integer} de...
分类:
其他好文 时间:
2015-07-15 14:58:13
阅读次数:
81