hold
分类:算法
HDU3068 Manacher求最长回文
manacher算法:可以在O(n)的时间内求出一个字符串的最长回文的大小。 算法的思想是利用前边已求出的回文子串,对于以当前位置为中心求回文串不必从1开始向两边遍历。 具体算法可以参考这篇文章:http://blog.…
最大间隙问题
最大间隙问题 给定 n 个实数,求这n个实数在数轴上相邻2个数之间的最大差值,设计解最大间隙问题的线性时间算法 分析:输入n个实数时是无序的,但不能排序,一旦排序就不满足”线性时间算法”…
填充矩阵
题目:对于一个m*n的矩阵,如果某一个元素为0,则把该元素所在行及所在列均置为0。要求只允许使用O(1)的空间。 因为只允许使用O(1)的空间,因此需要使用矩阵内部的一部分元素来做标记。 void setZeroes(v…
C++ 英雄联盟挑战赛 24点游戏
“24点游戏是一种使用扑克牌来进行的益智类游戏,游戏内容是:从一副扑克牌中抽去大小王剩下52张,任意抽取4张牌,把牌面上的数(A代表1)运用加、减、乘、除和括号进行运算得出24。每张牌都必须使用一次,但不能重复使用。 有…
算法题--数组中出现次数不同的数字
1. 初级版 描述:一个整型数组里除了1个数字之外,其他的数字都出现了两次,请写程序找出这个只出现一次的数字。 思路:利用异或的特性,x^y^x=x^x^y=y。对数组所有元素进行一次异或操作,最后…
汉诺塔算法--java版
汉诺塔问题介绍 ( 百度 ) 汉诺塔是根据一个传说形成的一个问题。汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵…
北航上机试题2016(题目+代码)
https://apriljia.com/2018/07/15/%E5%8C%97%E8%88%AA%E4%B8%8A%E6%9C%BA%E8%AF%95%E9%A2%982016%EF%BC%88%E9%A2%98%E…
线性基的学习
http://blog.csdn.net/qaq__qaq/article/details/53812883
单链表删除所有重复元素
直接上代码: 节点类: package arraystolist; /** * 节点类 * @author hanxiaofan * */ public class Node { private final int va…
排序
插入排序 所谓的插入排序,就是设数组的子数组是有序的,然后对未排序的子数组排序。想一个场景,比如你打麻将或者扑克的时候,对牌的排序就是插入排序。 设有数组nums = [3, 1, 2, 4],在这个未排序的数组里面,我…
逆波兰表达式算法
转: 算法: 一、 将中缀表达式转换成后缀表达式算法: 1、从左至右扫描一中缀表达式。 2、若读取的是操作数,则判断该操作数的类型,并将该操作数存入操作数堆栈 3、若读取的是运算符 (1) 该运算…