- 博客(33)
- 收藏
- 关注
原创 二叉树中和为某一值的路径
输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。保证树中结点值均不小于 0。
2024-07-02 00:11:11
169
原创 剪绳子(C++ 高数推导)
其实之前也有做过这个题,一直没去想为啥取3、2,那么多数字为啥选择你俩。今天看到推导,醍醐灌顶,就彻底懂了,高数真的是很神奇,第一次感觉到代码和数学有关系,有一个良好的数学思维真的很重要,自己压根想不到把它当做数学题解,这明明就是大一高数最简单的求极值问题啊。。。
2024-05-29 00:24:23
239
2
原创 矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条路径包含的字符按访问顺序连在一起恰好为给定字符串。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。注意:矩阵中元素的总个数 [0,900][0,900]。路径字符串的总长度 [1,900][1,900]。 二、思路以矩阵的每个元素为起点,开始搜索,如果能找到完整的str,说明true,否则false。搜索思路:用一个下标记录当前的str下标,
2024-05-27 22:32:14
403
原创 用两个栈实现队列
其实封装成方法是好的,使代码逻辑更清晰。其实三者的思路都一样,就是把原栈pop,push到新栈,新栈就是原栈的队列形式。都一样啦。
2024-05-26 22:08:27
301
原创 分组背包问题
做这道题,体会到了01背包的思想可以解决很多问题,对于物品的属性可以对v、w数组加维度,在每个分组中,使用01背包思想,保证每组只选择一个性价比最高的物品,或者不选物品。代码是按照大佬代码写的,思路是自己总结的,大佬的图还是不太能理解,所以用自己的思想把解决这道题的思路讲了出来。
2024-05-22 22:37:14
306
原创 混合背包问题(java and c++)
这两个代码逻辑相同,明显感受到c++语言输入输出的方便性,但是对于c++语言没有java语言熟练。刚开始看大佬思路一头雾水,用我的DEVC++打了两遍思路逐渐清晰,就转化为java代码,大佬的代码属实妙不可言,评论区全是666。
2024-05-20 23:07:43
198
原创 AcWing找出数组中重复的数字
给定一个长度为 n的整数数组nums,数组中所有的数字都在 0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1;
2024-02-05 11:24:32
179
1
原创 归并排序求小和问题
小和问题在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。例子:[1,3.4,2,5]1左边比1小的数,没有;3左边比3小的数,1:4左边比4小的数,1、3;2左边比2小的数,1;5左边比5小的数,1、3、4、2:所以小和为1+1+3+1+1+3+4+2=16。
2024-01-21 23:40:01
418
1
原创 蓝桥杯算法训练字符串表达式
编写一个字符串表达式求解函数int expression(char* s);输入一个字符串表达式,返回它的结果。表达式长度不会超过100。表达式最少有一项,且以等号=结束。表达式中只包含加法和减法,且运算均在整数范围之内。编写main函数测试该函数的正确性。3257。
2024-01-20 14:44:36
339
原创 蓝桥杯算法训练P0805 大数乘法
为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过10位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过20位),最后把这个字符串打印出来。例如,假设用户输入为:62773417和12345678,则输出结果为:774980393241726.以上代码好理解 但是这里并未排除两个相乘的大数过小的情况 也就是最终结果的数组前面为零的情况 导致最终输出结果出错。将结果的小部分相加(进位)得到的结果即为乘法的结果。
2024-01-19 11:05:21
461
1
原创 数据结构排序算法之归并排序(JAVA)
归并排序是建立在归并操作上的一种有效的排序算法,通过将有序的子序列合并,得到完全有序的序列。其中归并操作也称为归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。
2024-01-18 22:52:44
387
1
原创 蓝桥杯练习系统算法训练——最大分解(java实现)
想做一道蓝桥题,又想学习一下贪心算法,就看到了这道题,感觉这是蓝桥练习系统中算法训练最简单的一道题了吧,算是贪心算法最简单的例题了(其他的题都读不懂),话不多说,记录一下自己的思路吧。
2023-11-09 20:21:52
101
1
原创 蓝桥杯历届真题 时间显示【第十二届】【省赛】【研究生组】java
闰年366天——被4整除不能被100整除或者能被400整除的年份。首先 去除整年 再去除整月 整日 最后输出此事件为新的一天的何时。平年365天——除了闰年以后的年份。
2023-10-13 23:19:12
184
原创 背包问题java(暴力递归->动态规划)
思路:根据自然思维的尝试写出能返回背包最大价值的方法,并进行递归。给定两个数组weights[]和values[]分别表示每个物体的重量和价值。背包所装物品的最大价值为多少。在不超出背包容量的前提下。
2023-10-11 23:28:21
85
原创 数据结构Java(顺序表、单链表的基本操作)
最后创建SinglyListTest.java测试写好的SinglyList。创建顺序表类,并写入各种方法进行对顺序表增删改查等操作。单链表也支持增删改查操作,具体实现如下。顺序表基本操作包括增、删、改、查。然后创建一个SinglyList.java。每个结点由数据和下一个结点地址组成。首先创建一个Node类。
2023-09-24 22:37:03
107
1
原创 蓝桥杯算法训练 粘木棍java实现
问题在于将N个木棍粘贴成M个木棍,所以不妨新建一个M个木棍的数组,用于存放最终粘贴成的木棍的值。有N根木棍,需要将其粘贴成M个长木棍,使得最长的和最短的的差距最小。本题做的时候参照了别的文章的做法,感觉很巧妙,也很容易实现,在此我将进行详细的分析。一行一个整数,表示最小的差距。第一行两个整数N,M。一行N个整数,表示木棍的长度。
2023-09-20 16:10:11
167
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人