自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 装箱问题(每日一题)

有一个箱子容量为V(正整数,0

2023-04-07 11:20:03 495

原创 回文数(每日一题)

若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个10进制数56,将56加56(即把56从右向左读),得到121是一个回文数。又如:对于10进制数87:在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。

2023-04-07 11:16:49 347

原创 二叉树的遍历

树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。

2023-04-03 22:46:45 364

原创 级数求和(每日一题)

已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1

2023-04-02 00:36:02 226

原创 最大公约数和最小倍数

输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数。试求:满足条件的所有可能的两个正整数的个数。

2023-03-30 23:14:35 44

原创 棋盘方格(每日一题)

设有一个n*m方格的棋盘(1≤m,n≤100)。求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。例如:​ 当n=2,m=3时正方形的个数有8个,即边长为1的正方形有6个,边长为2的正方形有2个。长方形的个数有10个:2*1的长方形有4个;1*2的长方形有3个;3*1的长方形有2个;3*2的长方形有1个。

2023-03-29 19:12:37 310

原创 比赛安排(每日一题)

设有2n(n

2023-03-29 12:38:45 231

原创 剪绳子(每日一题)

有N根绳子,第i根绳子长度为Li,现在需要M根等长的绳子,你可以对N根绳子进行任意裁剪(不能拼接),请你帮忙计算出这M根绳子最长的长度是多少。输入第一行包含2个正整数N、M,表示原始绳子的数量和需求绳子的数量。第二行包含N个整数,其中第 i 个整数Li表示第 i 根绳子的长度。已知:1≤N,M≤100000, 0

2023-03-27 20:24:30 42

原创 回文平方数(每日一题)

回文数是指数字从前往后读和从后往前读都相同的数字。例如数字 1232112321 就是典型的回文数字。现在给定你一个整数 B*,请你判断 11∼300300 之间的所有整数中,有哪些整数的转化为 B* 进制后,其 B 进制表示是回文数字。

2023-03-24 22:37:49 78 1

原创 蛇形矩阵(每日一题)

输入两个整数n和 m*,输出一个 n* 行 m 列的矩阵,将数字 11 到 n×m按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。

2023-03-23 22:06:36 44

原创 数字三角形(每日一题)

给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。

2023-03-22 21:55:34 34

原创 仓库选址(每日一题)

在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。

2023-03-21 22:21:55 106

原创 正确拼写题解(每日一题)

【代码】正确拼写题解(每日一题)

2023-03-20 22:38:30 64

原创 数论基础————————(总结全部)

素数的定义是,除了1和自己本身没有其他约数的数字。注: 1既不是素数也不是合数,最小的素数是2。

2023-02-25 16:19:53 118

原创 动态规划—————— 多重背包and分组背包

有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。

2023-02-18 22:40:20 167

原创 动态规划——————01背包and完全背包

当选择1~~i个物品,总体积不大于j的集合的最大值可以转化成选择1—i-1个物品,总体积不大于j-V[i]的集合+最后一个物品的价值:f[i-1][j-V[i]]+w[i]f[i][j]:表示所有选法集合中,只从前i个物品中选,并且总体积不大于j的选法的集合,它的值是这个集合中每一个选法的最大值。方法数等于:不取这件物品时到达容量j时的方法数(原先的方法数),加上取这件物品到达容量j时的方法数。总结:f[i][j]= Max{f[i-1][j],f[i-1][j-v[i]]+w[i]}!

2023-02-18 20:34:35 85

原创 图论——————DFS or BFS

所有结点的拓展都遵循“先进先出”的原则,所以采用“队列”来存储这些状态。开一个数组d[i]装排列的数字,把d[]数组里面的数字标记一下,这样搜索到重复的数字就跳过。接下来 只要给定特定的条件来遍历这个树就行了。

2023-02-14 20:27:17 99

原创 图论——————bellman-ford和SPFA (单源最短路径)

以a为起点,b为终点,ab边长度为w为例。dis[a]代表源点s到a点的路径长度,dis[b]代表源点s到b点的路径长度。如果满足下面的式子则将dis[b]更新为dis[a] + w。

2023-02-13 15:54:51 45

原创 图论————迪杰斯特拉和弗洛伊德(最短路径问题)

定义一个dis[i]数组:记录源点到其他顶点的最短距离(到达不了的记为无穷大)。定义一个**vit[i] **数组:记录已经便标记过的顶点。(标记过为1 没有标记过为 0。min记录源点到其他顶点的距离中最小的距离,什么叫单源最短路径呢?一个顶点到其余顶点的最短路径,记录的是一个顶点, 所以叫单源。

2023-02-12 20:40:40 345

原创 图论基础(1)

如上图是一个图G,一个图由顶点(vertex)集V和边(edge)集E组成,即G=(V, E),和树类似,其顶点又称为结点,并且边是有意义的,如上图(0,1)称为一条边。上图中黑色的带数字的点就是顶点,可抽象成某个事物或对象。顶点之间的线就是边,表示事物与事物之间的关系。: 有向边就是固定这一条边只能从x通往y,y通往x则不可以。: 无向边就是一条边可以从x通往y,y也可以通往x。: 一条边的起点终点是一个点。: 两个顶点之间存在多条边相连接。: 权值就是一条边的长度或代价。

2023-02-04 23:29:13 407

原创 一维前缀和

一维前缀和顾名思义是对一个一维的数组进行操作。前缀和是一种重要的预处理,能大大降低查询的时间复杂度。用前缀和来处理问题可以很好得避免循环的嵌套,大大缩短了程序的运行时间。输入多个区间的左右下标,每次进行加减操作,输出该区间内每个数字的值(初始值均为0)。包括多行,第一行:两个整数 n , m。接下来的 m 行,每行3个整数 L , R , K ,表示区间的左边界 L ,右边界 R, 以及对该区间进行加减操作的数 K。输出包括 n 行,每行一个整数,表示数组每一个变量的值。

2023-02-04 23:15:39 69

原创 算法————————二分查找

二分法的思想很简单,因为整个数组是有序的,数组默认是递增的。首先选择数组中间的数字和需要查找的目标值比较如果相等最好,就可以直接返回答案了如果不相等如果,则中间数字向右的所有数字都大于目标值,全部排除如果,则中间数字向左的所有数字都小于目标值,全部排除。

2023-02-04 23:10:47 20

原创 算法————————快速排序

假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列。分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。

2023-02-04 22:49:20 32

原创 算法———————归并排序

将步骤1分成的两部分,再分别进行递归分解。直到所有部分的元素个数都为1。将n个元素从中间切开,分成两部分。(左边可能比右边多1个数)举个例子,数组:[10,80,70,30,40]从最底层开始逐步合并两个排好序的数列。

2023-02-01 23:16:41 33

原创 算法——————桶排序

排序前:1 , 3 , 7 , 77 ,100 ,234。2.寻访序列,并且把项目一个一个放到对应的桶子去。4.从不是空的桶子里把项目再放回原来的序列中。你把一位数、两位数和三位数分到3个桶里,合起来:1、3、7、77、100、234。1.设置一个定量的数组当作空桶子。3.对每个非空的桶子进行排序。三位数:100、234。三位数:100、234。各自排完序再合到一起。

2023-02-01 23:07:30 31

原创 数据结构————树

如图,是一棵普通树1.度数:结点拥有的子树数目称为结点的度。2. 节点关系1.定义:二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。 如图为普通二叉树定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(就是说除最后一层外 其他层都是满的 且最后一层节点只能集中在左侧)顺序存储适合完全二叉树 其他的树会

2023-01-07 20:48:29 872

原创 数据结构基础

顺序表的简单定义和认知

2022-12-31 22:27:04 34

原创 时间复杂度和空间复杂度

什么是时间复杂度和空间复杂度

2022-12-21 16:58:58 95 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除