![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 74
Radic_Feng
这个作者很懒,什么都没留下…
展开
-
Java: 打印魔方阵
输入一个自然数N(2≤N≤9),要求输出如下的魔方阵,即边长为N*N,元素取值为1至N*N,1在左上角,呈顺时针方向依次放置各元素。 N=3时: 1 2 3 8 9 4 7 6 5 【输入形式】 从标准输入读取一个整数N。 【输出形式】 向标准输出打印结果。输出符合要求的方阵,每个数字占5个字符宽度,原创 2009-12-13 00:43:00 · 5111 阅读 · 0 评论 -
Java实现的几种排序算法
package cn.dfeng;/** * 排序器,该类包含的实现的排序算法有: * * 选择排序 * * @author dfeng * */public class Sorter { /** * 插入排序 * 1. 基本思想: * 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置, * 使数原创 2009-12-13 14:18:00 · 918 阅读 · 0 评论 -
Java打印钻石图形
package cn.dfeng;/** * 该类能够用*打印大小的钻石图形 * @author dfeng * */public class Drawer { /** * 打印钻石图形 * @param n 钻石大小 */ public void printDiamond( int n ){ System.out.println();原创 2009-12-13 15:52:00 · 2833 阅读 · 0 评论 -
做算法题的几个思路
算法题目往往比较复杂,要么让人感到无从下手,要么很难给出一个最优解,但这恰恰是考验一个程序员思维方式的有效手段。看到这类的难题不要慌,《算法设计与分析基础》一书比较全面地总结了做算法题目的一些思路:(1)蛮力穷举法,可以说可以解决所有的问题,不过对于组合数很大的问题时间性能不是很好甚至不能忍受。例子:全排列的生成、n选m组合的生成(这两个的蛮力法都可以利用多重嵌套循环形成,层次很壮观),8皇后问题(对应成8数全排列),12城tsp问题(对应成12数排列),a的n次方计算就老老实实连乘n次a,顺序查找转载 2011-03-19 22:36:00 · 2028 阅读 · 0 评论 -
字符串匹配之KMP算法思路、原理与Java实现
问题描述:判断字符串a是否包含字符串b。我们称a为文本串,b为模式串。比如a = bcabcabcabbcabcabcabcabd ||||||||||/b = bcabcabcabc算法思路:如上例中/处两个字符匹配失败,如果模式串右移一个字符从文本串原创 2011-10-10 23:05:23 · 8481 阅读 · 1 评论 -
百度面试题--5只蚂蚁走木棍问题的非递归解法(Java调试通过)
致歉:之前贴的代码有bug。题目描述: 有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时原创 2011-10-04 19:24:32 · 4348 阅读 · 4 评论 -
求连续子数组的最大和O(n)解法之思路与Java实现
题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。思路:参考博文《做算法题的几个思路》,我们可以使用分治法或者减治法来处理这个问题。分治法原创 2011-10-05 11:16:58 · 4803 阅读 · 1 评论