题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路:哈希表存储出现的次数。两次遍历字符串,时间复杂度为O(n),空间复杂度为O(1) 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并 ...
分类:
其他好文 时间:
2017-12-29 12:06:59
阅读次数:
108
1.单刀直入 基数排序是基于多关键字的一种排序,借助“分配”与“收集”两个过程来得到一个有序序列,其时间复杂度为O(d(n+rd)),空间复杂度为O(n+rd),属于稳定的排序... 举个例子,加入有一下待排序列#->278->109->63->930->589->184->505->269->8- ...
分类:
编程语言 时间:
2017-12-23 16:02:50
阅读次数:
309
导读 每个程序解决问题时都可能有不同的实现方法,也就是我们常说的算法,而不同的算法对计算机资源的占用都不一样,因此我们常用算法复杂度来衡量一个算法的优劣程度。 算法复杂度是对程序计算机资源占的度量,这些资源主要包括时间资源和内存资源,因此算法复杂度又分为时间复杂度(时间资源的度量)和空间复杂度(内存 ...
分类:
其他好文 时间:
2017-12-21 23:00:44
阅读次数:
167
原理:将一个未排序数组分为无序区和有序区,不断将无序区的第一个元素按照大小插入到有序区,最后直到无序区的元素都插入到有序区,排序完成。 分析:稳定(无跳跃),空间复杂度O(1),时间复杂度【最佳O(n),平均、最差O(n*n)】 优点:适用于(1)数组基本有序(2)数据量小 原理:将数据按照不同的增 ...
分类:
编程语言 时间:
2017-12-14 19:31:00
阅读次数:
181
原理:比较临近的两个数字,按照从小到大的顺序进行交换,这样一趟过去后,最大(最小)的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第i位时结束。 分析:稳定,空间复杂度O(1),时间复杂度【最佳、最差、平均都是O(n*n)】。 分析:稳定,空间复杂度O(1),时间复杂度[最佳为O( ...
分类:
编程语言 时间:
2017-12-14 19:16:31
阅读次数:
113
原题链接:https://leetcode.com/problems/palindrome-number/description/ 1. 题目要求:判断一个int类型整数是否是回文,空间复杂度O(1) 2. 注意:负数不是回文!!因为前面有负号!注意整数溢出问题。 3. 思路:依然采用取余取整的方法 ...
分类:
其他好文 时间:
2017-12-14 10:29:44
阅读次数:
153
算法的时间复杂度和空间复杂度-总结 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增 ...
分类:
其他好文 时间:
2017-12-11 20:05:06
阅读次数:
254
148. Sort List 题目:Sort a linked list in O(n log n) time using constant space complexity. 题意:排序链表 思路I:merge sort 复杂度分析:时间复杂度O(nlgn),空间复杂度O(1) 1 /** 2 * ...
分类:
其他好文 时间:
2017-12-11 16:13:37
阅读次数:
148
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路:1)空间复杂度O(1),时间复杂度O(N). 1、复制每个节点,如: ...
分类:
其他好文 时间:
2017-12-11 00:38:27
阅读次数:
167
筛选法 求出n以内的素数,最快的应该是筛选法。 筛选法的思路是: 要求10000以内的素数,把1-10000都列出来,1不是素数,划掉;2是素数,所有2的倍数都不是素数,划掉;取出下一个幸存的数,划掉它的所有倍数;直到所有素数找完为止。 这种做法的空间复杂度是O(n),时间复杂度O(n/logn)。 ...
分类:
其他好文 时间:
2017-12-10 12:45:56
阅读次数:
181