- 博客(14)
- 收藏
- 关注
原创 树与二叉树
最初,所有的节点都是false,当访问到一个节点时,如果这个节点是false,则这个球把它变成true,然后从左子树走,继续它的旅程。因为所有的节点最初为false,所以第一个球将会访问节点1,节点2和节点4,转变节点的布尔值后在在节点8停止。现在你的任务是,给定FBT的深度D,和I,表示第I个小球下落,你可以假定I不超过给定的FBT的叶子数,写一个程序求小球停止时的叶子序号。如果该结点为0,那么该结点变成1,小球访问该结点的左儿子,否则该结点为0,小球访问该结点的右儿子。还有几种专门用来存储树的方式。
2023-07-18 08:09:41
301
1
原创 题解 分油问题
有3个油瓶X、Y、Z容量分别为A斤、B斤、C斤,开始时3个瓶的油量分别为A1、B1、C1,编程输出最少倒多少步,才可以使3个瓶的油量分别为A2、B2、C2。每次倒油以目标瓶满或者原始瓶空为结束。
2023-07-15 07:47:32
467
1
原创 01背包问题
一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是 W1,W2,…,Wn ,它们的价值分别为 C1 , C2 ,…, Cn ,求旅行者能获得最大总价值。
2023-07-10 21:25:11
105
1
原创 二分查找
伐木机工作过程如下:小华设置一个高度参数h(米),伐木机升起一个巨大的锯片到高度h,并锯掉所有的树比h高的部分(当然,树木不高于h米的部分保持不变)。例如,如果一行树的高度分别为20、15、10、17米,小华把锯片升到15米的高度,切割后树木剩下的高度将是15、15、10、15米,而小华将从第一棵树得到5米,从第4棵树得到2米,共得到7米木材。当然,实力不济的奶牛是没有办法完成目标的。我们先简化一下题目:有n个牛栏,选m个里面放进牛,相当于一条线段上有n个点,选取m个点,使得m个点之间的最小距离最大。
2023-06-23 10:14:34
123
1
原创 唯一分解定理
现如今给你一个正整数n,你必须发现一组数(这个组的大小必须大于1),使这一组数的LCM为n,同时使这一组数的和最小,并输出最小的和。比如如果给定n为12,1、12和3、4的LCM都为n,但是12+1>3+4所以最后的结果输出7。给一个正整数n,(n>=2&&n<=1000000000),从小到大输出n的所有因子,包括1和它本身,比如如果输入n为16,则它的所有的因子为1 2 4 8 16。给你一个正整数n(n>=2&&n<=1000000)根据唯一分解定理输出素数x1、x2、x3…xk使它们的乘积为n。
2023-06-03 15:27:52
605
原创 题解 括号匹配
假设表达式中允许包含圆括号和方括号两种括号,其嵌套的顺序随意,如()或[([][])]等为正确的匹配,[(])或(或(()))均为错误的匹配本题的任务是检验一个给定的表达式中的括号是否匹配正确输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出“OK”,不匹配就输出“Wrong”
2023-05-13 07:34:17
179
1
原创 高精度加法
输入两个整数a和b,输出这两个整数的和。a和b都不超过1000位。由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])%10。
2023-05-12 21:56:46
121
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅