- 博客(7)
- 收藏
- 关注
原创 DP-数字三角形总结
从摘花生问题中的一条路径拓展到本问题中的两条路径,问题中选取格子中的数之后,将其置为0,使得此问题略有不同。如果使用DFS做本题,第一次从左上走到右下需要搜索过程中保存路径,到达合适边界后,再将路径上的点一一置零,第二次就转化为普通的摘花生问题,将两次答案求和就是结果。当然上述代码可以继续优化其空间复杂度,我认为此题第一是考虑问题的转换(从模拟思想转化到DP思想,考虑到状态的集合空间),第二是其中的状态转移方程比较复杂,如果说最低通行费是提醒我们考虑数组边界处理问题,,从北向南依次描述每行花生苗的情况。
2023-07-24 16:51:54 77
原创 github上传本地项目
云端创建仓库打开刚建的仓库,下拉有指令教程,这里按照其他教程习惯,将main改成了master在要上传的项目中开启git bash中执行完上述指令(除了第五条指令,最后一条指令改为 git push -u origin master),刷新github界面, 得到如下结果更改文件,在readme文件中添加111查看状态(git status),红色表示为进入缓冲区,绿色则相反提交到版本库,并对提交注释 git commit -m “注释内容”git pull origin master
2023-07-12 10:33:40 45
原创 剑指offer-复杂链表的复制
剑指offer-复杂链表的复制题目描述:复制一个链表是较为简单的,对原链表一次遍历就可以完成,此题难点就在于如何复制链表上的这些random指针,它们在目标链表上是随机指向的。思路1:暴力解法,对一个节点的random节点在非空情况下,在链表中查找在此节点的坐标(假想链表是一个一维坐标)通过计数器可以计数得到,然后对复制节点重复此过程对对应节点的random进行赋值。/*待添加*/思路2:创建哈希表,上面问题时间复杂度为O(n^2),关键在于对每个待复制节点都需要从原链表中从头到尾的重新扫
2021-09-14 18:10:01 57
原创 剑指offer-从尾到头打印链表&反转链表
解决思路:反向输出链表内容其方式是先遍历到的节点后输出,典型的先进后出,使用辅助栈来完成,先把遍历到的节点放入栈中,最后一一出栈访问元素即可。于是得到如下代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution .
2021-09-14 17:17:12 103
原创 扩展欧几里得系列
扩展欧几里得算法: 1. ax +by = gcd(a,b)的求解扩展欧几里得算法用来解决这样一个问题:给定两个非零整数a和b,,求一组整数解(x,y),使得ax+by = gcd(a,b)成立,其中gcd(a,b)表示a和b的最大公约数,通过相关定理可知解一定存在,为讨论方便记gcd = gad(a,b),其中a和b为初始给定的数值,因此可以认为下面讨论中gcd是一个固定的数。算法描述:回忆欧几里得算法,它总是将gcd(a,b)转化成求解gcd(b,a%b),而当b变为0时返回a,此时的a就等
2021-04-02 18:11:18 347
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人