
经典算法
凌晨i
这个作者很懒,什么都没留下…
展开
-
经典算法(一)之回文
回文,把相同的词汇或句子 ,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文。 例如: ABCDDCBA就是一个回文,ABA也是。 往往求一段字符串中的最长回文,是最常见的题型。原创 2017-05-03 22:52:35 · 355 阅读 · 0 评论 -
经典算法(二)之回文数
回文数,也就是判断一个数是不是回文,我们之前说的回文都是字符串,是数字又该怎么处理,我们这里只是判断整数是不是回文,如果是负数,那么前面有符号存在,结果还是判断后面的数字,所以负数暂时不考虑原创 2017-05-04 21:30:07 · 494 阅读 · 0 评论 -
各种排序
直接插入排序排序方式:每次将一个待排序的元素与已排序的元素进行逐一比较,直到找到合适的位置按大小插入。package com.zl.test;/** * Created by acer on 2017/6/20. */public class Sort { /** * 直接插入排序 * @param arr 要排序的数组 */ public vo原创 2017-06-20 21:19:24 · 180 阅读 · 0 评论 -
数据结构中的十大排序算法
一、冒泡排序思想:重复走访过要排序的序列,一次比较两个元素,如果他们的顺序错误就将他们进行交换,一次冒上来的是最小的,其次是第二小。时间复杂度:O(n^2)空间复杂度:O(1)稳定性:稳定 /** * 冒泡排序 * @param disOrderArray * @return */ public static int[] Bu...原创 2018-03-06 21:19:26 · 440 阅读 · 0 评论 -
算法时间复杂度和空间复杂度
时间复杂度:(1)时间频度 一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。(2)时间复杂度 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(...原创 2018-02-27 11:22:02 · 355 阅读 · 0 评论 -
java实现栈-输出最大值,最小值,时间复杂度O(1)
问题:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的getMin函数。在该栈中,调用getMin、push及pop的时间复杂度都是O(1).最小值思路:用一个辅助栈stack2记住每次入栈stack1的当前最小值:在stack1入栈时,往stack2中加入当前最小值;stack1元素出栈时,stack2也出栈一个元素。最小值从stack2中获取及栈顶元素。O(1)最大值思路:...转载 2018-03-15 17:31:41 · 2698 阅读 · 1 评论 -
算法题:在N个乱序的数组中找第K大的数
在N个乱序的数组中找第K大的数思路: 类似于快速排序,执行一次快速排序之后,每次只选择一部分继续执行快速排序,直到找到第K大个元素为止,这个元素在数组位置后面的元素即为所求。时间复杂度:O(n)利用快排的思想,从数组arr中随机找出一个元素X,把数组分成两部分arr_a和arr_b。arr_a中的元素比x大,arr_b中的元素比x小。这个时候分为两种情况:1.arr_a中...原创 2018-03-12 18:38:01 · 3398 阅读 · 1 评论 -
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符
思路: 考虑一个普通的加法计算:5+17=22在十进制加法中可以分为如下3步进行: 1. 忽略进位,只做对应各位数字相加,得到12(个位上5+7=12,忽略进位,结果2); 2. 记录进位,上一步计算中只有个位数字相加有进位1,进位值为10; 3. 按照第1步中的方法将进位值与第1步结果相加,得到最终结果22。下面考虑二进制数的情况(5=101,17=100...转载 2018-03-26 15:49:06 · 451 阅读 · 0 评论 -
计算数字k在0到n中的出现的次数,k可能是0~9的一个值
思路一:我们可以用最简单的办法先尝试一下,遍历1到n中间的每个整数,对每个整数从低位到高位依次检查,如果有k出现则计数器自加。 思路一最大的问题就是效率,当n非常大时,就需要很长的运行时间。想要提高效率,就要避开暴力法,从数字中找出规律。 思路二:来自《编程之美》 假设有一个5位数N=ABCDE,我们现在来考虑百位上出现2的次数,即:从0到ABCDE的数中,有多少个数的百位上是2。分析完它,...原创 2018-03-26 18:20:27 · 1851 阅读 · 1 评论