算法
文章平均质量分 75
纠结的爆米花
这个作者很懒,什么都没留下…
展开
-
暗黑字符串
一个字符串中只包含字符A、B、C,如果该字符串中至少存在一个长度为3且包含A、B、C三个字母的子串,那么该字符串是纯净的,否则该字符串是暗黑的。现给出一个不大于32的整数,求所有长度为该整数的字符串(只包含字符串A、B、C)中,暗黑字符串有多少个。解答:如果字符串长度为1,那么暗黑字符串有3个,即A,B,C;如果字符串长度为2,那么暗黑字符串有9个,即AA, BB, CC, AB, A原创 2016-10-14 22:33:51 · 346 阅读 · 0 评论 -
放苹果问题
【问题描述】将m个苹果放到n个空盘子中,允许盘子为空,允许一个盘子放任意个苹果,问总共有多少种放法。注意,不考虑盘子的次序,比如,将7个苹果放到3个盘子中,5 1 1和1 5 1是同一种放法。【解答】假设将m个苹果放到n个盘子中的放法有f(m,n)种,从最简单的情况考虑起。当m=0或者n=0,f(m,n) = 1;当n=1时,所有苹果只能放在一个盘子中,f(m,n) = 1;现我们原创 2016-10-15 14:47:34 · 571 阅读 · 0 评论 -
排序算法
1,插入排序:(1)直接插入排序,将目标序列分成有序区和无序区,比较无序区第一个元素和有序区最后一个元素,如果前者比后者小,则将有序区后移一位,将无序区第一位插入有序区。算法实现:public class Main{ public static void main(String[] args){ int[] a = {2,4,13,53,6,3,6};原创 2016-10-16 14:07:40 · 204 阅读 · 0 评论 -
查找
根据数据结构的不同,查找可以分为线性表查找,树表查找和哈希表查找等。1,线性表查找:(1)顺序查找:当线性表是无序表时,只能用顺序查找。较为简单,不做赘述。(2)二分查找:要求线性表是有序表,现假定该有序表是以升序排列的。其基本思想是:维护三个变量low,middle,high,初始时,low = 0; high = n-1;middle = (low+high)/2;如果data[m原创 2016-10-16 16:23:08 · 264 阅读 · 0 评论 -
最大和连续子数组
问题描述:一个数值型数组,其子数组有多个,求其子数组中最大的和值。所谓和值,是指数组所有元素相加的和。解法(1):扫描法,假设最大和子数组的第一位下标为i,i从0到n-1,对于每个i值,从data[i]开始,进行累加,将每次累加的最大值储存起来。算法实现:原创 2016-10-19 15:50:14 · 363 阅读 · 0 评论 -
图书录入与检索
import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); String[] books = new S原创 2016-08-19 11:07:03 · 669 阅读 · 0 评论 -
小熊搬家问题
住在森林里的小熊要搬到新家。现可从控制台输入森林的地图,B表示小熊目前的家,H表示小熊的新家,-表示可以通过的路,#表示无法通过。要求根据输入的地图判断小熊能否到达新家。如果能,则输出“Y”,否则输出“N”。例如输入:1 //地图的行数5 //地图的列数-B-H#输出:Y实际上这是一个典型的迷宫问题。本博客中之前的博文已有介绍。区别在于这里迷宫的入口和出口待定,原创 2016-08-18 17:38:39 · 967 阅读 · 0 评论 -
蛇形矩阵
蛇形矩阵示例:整数3对应的蛇形矩阵为: 1 2 3 8 9 4 7 6 5 整数4对应的蛇形矩阵为: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 生成蛇形矩阵A的关键是,创建与其对应的导航矩阵B。所谓导航...原创 2016-04-13 14:56:38 · 2048 阅读 · 1 评论