算法
文章平均质量分 56
程序猿小鹏
主开发、以后更新算法(业余)
展开
-
数据结构之稀疏数组
数据结构之稀疏数组原理Java实现转化为稀疏数组并存入磁盘从磁盘中读取,并且转化为原数组原理稀疏数组的基本介绍:就是将一个有很多相同值的数组用更少的空间储存起来的一种数据结构。简单的来说:就是用一种消耗更小储存空间的方式来存储有很多相同值的数组。举一个例子:加入有一个数组11行11列基本上全是0,有两个不一样的,第一个是第二行第二列为1,第二个为第三行第三列为2。我们就可以转化为下列稀疏数组。稀疏数组的行数有效值的位置的行数有效值的位置的列数值第0行11代表原数组一共有原创 2021-08-16 18:06:45 · 86 阅读 · 0 评论 -
数字三角形
数字三角形问题描述输入格式:输出格式:思路实现测试问题描述从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。输入格式:输入的第一行包含一个整数 N,表示三角形的行数。下面的 N 行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。输出格式:输出一个整数,表示答案。思路首先我们要原创 2021-04-09 16:20:25 · 280 阅读 · 0 评论 -
分割整数
整数的分割原创 2021-04-05 15:14:00 · 355 阅读 · 1 评论 -
棋盘覆盖问题
棋盘覆盖问题问题描述思路实现打印整个棋盘基本的算法测试全部代码结果问题描述在一个由2^k * 2^k个方格组成的棋盘中,若恰有一个方格与其他方格不同,称该方格为特殊方格,且称该棋盘为特殊棋盘。显然,特殊方格在棋盘中出现的位置有 4^k种不同的棋盘。我们要用3个方格组成的L型的方块将整个棋盘覆盖掉。思路首先,我们先考虑22的棋盘,无论特殊方格在哪,另外三个就是一个L型的方块,刚好将整个格棋盘覆盖掉。接下来我们考虑44的棋盘,我们首先将其分为四个22的棋盘,特殊方格必定在其中一个棋盘中,则这个棋盘原创 2021-04-05 15:09:15 · 504 阅读 · 2 评论 -
三个数的最小公倍数
三个数的最小公倍数思路实现思路我看到这题的时候,首先想到的是先求两个数的最小公倍数,然后用这个最小公倍数再和另一个数去求最小公倍数。于是我们的题目就变成了两个数去求最小公倍数。要求两个数的最小公倍数,我首先想到的就是求出最大公因数,然后用两个数的乘积除以最大公因数。于是我们的问题变成了求两个数的最大公因数。来嘛,辗转相除法,搞定。实现package suanfa;import java.util.Scanner;public class Main { public static原创 2021-03-13 21:38:42 · 276 阅读 · 0 评论