- 博客(13)
- 收藏
- 关注
原创 用邻接表和广度优先搜索解决图类迷宫问题
题目:从开始位置(start)找出到出口(end)的通路,并从start到end输出;输出路径的长度。采用下图迷宫可以将节点进行编号,从1开始编号,编号次序从上到下,从左到右;保存每条边,根据两个节点之间是否有边,来决定是否能够走通;将边保存在文件中,用俩个端点来表示一条边;每个节点的分支数不一样,要求根据分支数决定遍历的方向数,不能用恒定的遍历方向数。补充:找到从start到end的一条最短的路径;当迷宫有多个出口应该如何找到最近的出口;注意编号是特定的,要修改的话就必须修改邻接表如
2022-02-20 09:58:12 1009 1
原创 约瑟夫环问题的一般性解答
注:本代码仅供参考,如果发生学术问题博主概不负责。题目:N个人围成一圈,从第S个开始报数,每隔第M个将被杀掉,最后剩下X个,其余人都将被杀掉。例如N=6,S=1,M=5,被杀掉的人的序号为5,4,6,2,3,最后剩下1号。要求:这道题博主是在学习循环链表时遇到的,所以除了循环链表,其他方法就不展示了。设计思路:1.创建链表2.节点删除3.链表遍历输出4.释放内存解释:采用循环链表的变式解决问题,首先通过建立一个头部为哑节点(头部不存数据)的链表,然后将链表的尾结点的指针域指向头节点.
2021-11-03 17:05:35 208
原创 JAVA小白上路-运行第一个程序
这是博主用cmd运行的第一个java程序,其中遇到很多问题,为了防止下次忘记,在此写下解决方案问题一:怎样安装jdk?打开下方链接https://www.oracle.com/java/technologies/downloads/#jdk17-windows在下面方格中选择合适版本安装jdk安装包:x64 Installer压缩包:x64 Compressed Archive安装就根据自己需要选择合适安装路径就行最后关闭安装程序问题二:如何配置java环境变量参见这位小哥的博客
2021-10-04 20:25:06 130
原创 力扣打怪记006
力扣打怪记006这是一期关于动态规划(dp)的练习文章~~系列题目一:买卖股票入门级:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格
2021-09-04 17:35:50 92
原创 力扣打怪记005
力扣打怪记005今天多更几题~~题目一:判断重复给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。示例 :输入: [1,2,3,1] 输出: true ;输入: [1,2,3,4] 输出: false;输入: [1,1,1,3,3,4,3,2,4,2]输出: true;方法一:哈希表//用set实现class Solution ...
2021-08-26 13:27:49 74
原创 c语言巩固之指针数组个人理解
这是个人学习总结,如果有不合理的地方请大家不吝赐教主要参考资料:http://c.biancheng.net/view/2020.htmlbackgrond:关于指针数组的重新认识,是在我想用二维数组存储多段字符串时,发现二维数组大小不好分配,后来在网上参考大佬解法时发现指针数组在这方面的优越性,当然二重指针按道理也行,下回再学习一下。A small thought:int* a[100],char* ch[100]我一直在想它们与普通数组有什么联系,下表横向对比int a[100],
2021-08-23 20:01:01 117
原创 力扣打怪记004
力扣打怪记004题目相关字符串回文解法之中心扩展题目链接https://leetcode-cn.com/leetbook/read/array-and-string/conm7/题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”心得:1.看大佬的解法主要有:暴力,中心扩展,
2021-08-05 17:29:22 75
原创 力扣打怪记003
力扣打怪记003题目相关数组双指针之快慢指针题目链接https://leetcode-cn.com/leetbook/read/array-and-string/cwuyj/题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。心得:1.快慢指针第一次使用,其实感觉就是两个遍历,
2021-08-01 10:26:55 74
原创 力扣打怪记002
力扣打怪记002题目相关数组二分查找题目链接https://leetcode-cn.com/leetbook/read/array-and-string/cxqdh/题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。注意:-104 <= nums[i] <= 104nums 为无重复元素的升序排列数组-104 <= target <
2021-07-20 19:23:34 88
原创 力扣打怪记001
力扣打怪记001题目相关:数组中心坐标题目链接:https://leetcode-cn.com/leetbook/read/array-and-string/yf47s/心得第一个小怪,借鉴了楼下老哥思路写出来了,222中心下标左右两侧相等可知 左和 = 右和所以 总和 = 左和 + 中心坐标值 + 右和换算可知 总和 = 左和 * 2 + 中心坐标值int pivotIndex(int *nums, int numsSize){ int i, totalNums
2021-07-20 16:54:16 86
原创 链表基础:问题 D: 实验11_13_链表交换
1.题目描述已知一个正整数序列,序列元素个数未知,但至少有两个元素,你的任务是建立一个单链表用于存储这个正整数序列。然后实现交换此链表中任意指定的两段,第一段为[s1,t1],第二段[s2,t2]。s1、t1、s2、t2代表链表的第几个节点,且满足s1<=t1,s2<=t2,t1<s2,s2一定小于等于链表节点的总个数。正整数的输入用-1作为结束标志,注意-1不算这个正整数序列中的元素(不要统计-1)。最后将链表的全部节点释放。2.输入输入一个正整数序列,以输入“-1”结束,序列中元
2021-04-07 16:04:22 517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人