
算法题
原来的1024
走过路过不要错过
展开
-
解决最短路径的Dijkstra算法详解,附加Java代码
1. 最短路径问题最短路径问题是生活中经常碰到的一类问题,如机器人路径规划,数学竞赛以及真实的工程施工问题;甚至是我们程序员笔试必刷算法题。其实问题很简单,就是有很多个节点,我们要计算出一个初始点到各个节点的最短距离(或者得到最短路径的表示),如下图,怎么找出A点到其它各个点的最短路径及距离? 人眼扫描得到的结果:A到B、C、D……G距离为 [4, 14, 7, 7, 10, 12],人眼对付7个点还是绰绰有余的,什么?你扫描的结果和我不一样?那咱们还是分析一下原理,然后写个代码来处理一下。.原创 2020-11-22 21:45:00 · 1160 阅读 · 0 评论 -
八皇后问题的Java递归算法
1. 八皇后问题在8*8的棋盘上,放置8个皇后,使各个皇后之间不处于同一行、同一列、同一斜线上,如下图红线部分是和中间红色圆圈冲突位置。2. 八皇后的递归分析1. 使用递归分析,首先,第一个皇后有8种摆放位置,摆放结束后;2. 递归摆放第二个皇后,第二个皇后也有8种摆放位置,对于每一种位置,要和前面已摆放的皇后位置判断是否冲突,不冲突则递归摆放下一个皇后;冲突,则不记录该摆放位置。3. 重复摆放各个皇后,直至最后一个皇后摆放结束并且位置不冲突,则打印该摆放方案。3. ..原创 2020-11-07 20:43:28 · 709 阅读 · 0 评论 -
现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢?
问题描述:现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢?解决思路1:N元钱,其实就是N/2瓶酒。所以我们在程序中直接使用N瓶酒进行计算,直接使用递归,直到最后余下的酒瓶和瓶盖不够换酒。但是要注意:每次换酒后可能会剩下酒瓶和瓶盖,比如3个酒瓶和5个瓶盖,拿出2个酒瓶和4个瓶盖换完2瓶酒,剩下1个酒瓶和1个瓶盖,需要“存”起来,可以和下一轮新增的酒瓶和瓶盖一起换酒。代码如下import java.util.Scanner.原创 2020-10-30 11:58:54 · 901 阅读 · 0 评论