#算法图解

算法笔记_059:蓝桥杯练习 Anagrams问题(Java)

/目录1问题描述2解决方案问题描述  Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR&rd...

算法笔记_060:蓝桥杯练习 出现次数最多的整数(Java)

/目录1问题描述2解决方案问题描述  编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。  输入格式:第一行是一个整数...

算法笔记_061:蓝桥杯练习 字串统计(Java)

/目录1问题描述2解决方案问题描述  给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式  第一行一个数字L。  第二行是字符串S。  L大于0,且不超过S的长度。输出格式  一行,题目要求的字...

算法笔记_062:蓝桥杯练习 最小乘积(基本型)(Java)

/目录1问题描述2解决方案问题描述  给两组数,各n个。  请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。  例如两组数分别为:13  -5和-241  那么对应乘积取和的最小值应为:  (-5)*4+3*(-2)+1*1=-25输入格式  第一个行一个数T表示数据...

算法笔记_063:蓝桥杯练习 送分啦(Java)

/目录1问题描述2解决方案问题描述  这题想得分吗?想,请输出“yes”;不想,请输出“no”。输出格式  输出包括一行,为“yes”或“no”。  初步一看,这题竟然没有输入输出示例,不过也不难吧。好吧...

算法笔记_064:蓝桥杯练习 操作格子(Java)

/目录1问题描述2解决方案问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数...

算法笔记_065:分治法求逆序对(Java)

/目录1问题描述2解决方案2.1蛮力法2.2分治法(归并排序)给定一个随机数数组,求取这个数组中的逆序对总个数。要求时间效率尽可能高。 那么,何为逆序对?引用自百度百科:设A为一个有n个数字的有序集 (n>1),其中所有数字各不相同。如果存在正整数i,j使得1≤i<j≤n而且...

算法笔记_066:Kruskal算法详解(Java)

/目录1问题描述2解决方案2.1构造最小生成树示例2.2伪码及时间效率分析2.3具体编码(最佳时间效率)  何为Kruskal算法?该算法功能:求取加权连通图的最小生成树。假设加权连通图有n个顶点,那么其最小生成树有且仅有n-1条边。该算法核心思想:从给定加权连通图中,选择当前未被选择的,不能形成回...

算法笔记_067:蓝桥杯练习 算法训练 安慰奶牛(Java)

/目录1问题描述2解决方案  问题描述FarmerJohn变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间的连通性。你首先要决定那些道路是需要保留的N-1条道路...

算法笔记_068:Dijkstra算法简单介绍(Java)

/目录1问题描述2解决方案2.1使用Dijkstra算法得到最短距离示例2.2具体编码何为Dijkstra算法?Dijkstra算法功能:给出加权连通图中一个顶点,称之为起点,找出起点到其它所有顶点之间的最短距离。Dijkstra算法思想:采用贪心法思想,进行n-1次查找(PS:n为加权连通图的顶点总个数,除去起点,则...

算法笔记_069:Floyd算法简单介绍(Java)

/目录1问题描述2解决方案2.1使用Floyd算法得到最短距离示例2.2具体编码 何为Floyd算法?Floyd算法功能:给定一个加权连通图,求取从每一个顶点到其它所有顶点之间的最短距离。(PS:其实现功能也称完全最短路径问题)Floyd算法思想:将顶点i到j的直接距离依次与顶点i到顶点j之间加入k个中间节点...

算法笔记_070:BellmanFord算法简单介绍(Java)

/目录1问题描述2解决方案2.1具体编码何为BellmanFord算法?BellmanFord算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求取含负权图的单源最短路径。BellmanFord算法思想:第一,初始化所有点。每一个点保存一个值,表示从原点到达这个...

算法笔记_071:SPFA算法简单介绍(Java)

/目录1问题描述2解决方案2.1具体编码  何为spfa(ShortestPathFasterAlgorithm)算法?spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求含负权图的单源最短路径,且效率较高。(PS:引用自百度百科:s...

算法笔记_072:N皇后问题(Java)

/目录1问题描述2解决方案把n个皇后放在一个n*n的棋盘上,使得任何两个皇后都不能相互攻击,即它们不能同行,不能同列,也不能位于同一条对角线上。本文采用全排列的方法,从n个皇后的全排列中寻找符合规则的皇后排列。 为什么这里是说全排列呢?因为在N皇后问题中,棋盘每一行只准放一个皇后,且每一行的皇后必定要选一列。...

算法笔记_073:哈密顿回路问题(Java)

/目录1问题描述2解决方案什么是哈密顿回路?引用自百度百科:哈密顿图(哈密尔顿图)(英语:Hamiltonianpath,或Traceablepath)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Ham...
首页上一页...1516171819...下一页尾页