- 博客(93)
- 收藏
- 关注
原创 关于pycharm解释器的配置
博主在复现一个pytorch项目时,在一开始便遇到了pycharm解释器的问题。在终端成功创建虚拟环境,并且下载好各个包之后,在pycharm中并未找到该解释器创建好名为torch虚拟环境并未找到解释器尝试网上各种方法均无效,仍然显示<No interpreter>,找不到解释器。
2024-12-29 13:59:15
248
原创 DFS深度优先搜索:Square
搜索状态三元组(sum,number,position),其中 sum 是当前拼凑的木棍长度,number是已拼凑成边长的数量,position是当前木棍的编号。因为如果总长 length 能够整除 4,且已经拼凑出3条边,那么剩下的木棍必定可以构成最后的一条边。首先,将木棍长度进行累加,得到总长 length;之后,将木棍拼凑成长度为 side 的边,拼凑完一条边后,再拼凑下一条,直到拼凑出4条长度为 side 的边,(3) 拼凑中发现某长度的木棍无法构成当前边时,再遇等长木棍时可跳过(需排序)。
2024-07-20 16:56:29
431
原创 DFS深度优先搜索:A Knight‘s Journey
搜索状态三元组(x,y,step),(x,y)是当前点的坐标,step 是从起点走到该点经过的步数。需要搜索到的最终目标状态为(x,y,step),其中 step=p*g,即经过的步数等于棋盘的格数。题目要求在所有可行的路径中输出字母表排序最小的那个解,如果存在一条路径可以遍历所有方格的路径,那么该路径必定会过点 A1。在本题中需要记录棋盘中的某点骑士是否曾经访问过,以便确保骑士的路径上没有重复地经过同一点,也只有这样,判断 step=p*g 才有意义。骑士按照“日字规则行走。骑士的世界就是他生活的棋盘。
2024-07-20 16:33:08
1085
原创 jupyter notebook的使用
Shift + Enter -- 执行当前cell并跳到下一个cell。在想要保存笔记的目录下打开终端(直接输入则会导致界面内容非常多),输入。M -- cell切换到Markdown模式,进行笔记书写。Y -- cell切换到Code模式,进行代码编辑。Ctrl + Enter -- 执行当前cell。A -- 在当前cell上方添加cell。B -- 在当前cell下方添加cell。双击D -- 删除当前cell。命令模式下cell操作快捷键。进入jupyter页面。
2024-07-14 17:32:46
1041
原创 BFS宽度优先搜索:Find The Multiple
本题乍看之下好像和宽度优先搜索无关,只需逐个测试n的倍数是否全由0和1组成即可,但这样做相当于枚举,需要枚举n在整个搜索空间(小于 100 位的整数)中的所有倍数,这个计算量非常大,因为逐个判断会花费大量时间,因此这种方法的效率非常低可以反过来想这个问题:只由0和1组成的数相比于整个搜索空间而言是非常少的,可以去搜索由0和1组成的数,然后通过判断这些数能否整除n来求解这个问题。由于从初始状态1开始不断扩展,扩展的数字必定比之前的数字大,扩展出来的状态不可能在此前出现过,因此不需要用数组来记录访问过的数字。
2024-07-14 15:31:00
383
原创 BFS广度优先搜索:Catch That Cow
由于任意一个状态(n,#)经过1秒后可以转入下一个状态,所以说任意一个状态(n,0)可以扩展为三种状态(n-1,t+1),(n+1,t+1)(2n,t+1)中的合法状态。再按邻居结点访问的先后顺序依次地扩展到它们能够到达的下一个状态,以此类推,当扩展到目标状态(K,0)时,目标状态中的t必然为最短耗时。在本题中,由于是求从起点N到终点K的最短耗时,因此可以设定状态为二元组(n,0),其中n为农夫约翰当前所在位置的坐标点,为从起点N走到当前坐标点n所耗费的时间。农夫约翰有两种交通方式:步行和传送。
2024-07-05 16:50:06
948
原创 画图错误UserWarning: Glyph 28857 (\N{CJK UNIFIED IDEOGRAPH-70B9}) missing from current font. plt.show()
上文中的方法并没有能够解决,但是找到了问题所在,为了解决这个问题,我们在网上下载字体,并加载到Matplotlib文件夹下(即下文中的方法二)查阅资料后,发现是中文字符显示问题,Matplotlib没有可以用的中文字符。将SimHei字体下载后,用以下代码检测放入Matplotlib是否成功。在使用Matplotlib编程画图时,出现以下问题。在要运行的程序中加入以下代码。发现SimHei字体。
2024-07-04 00:11:45
819
原创 递归:汉诺塔问题III
这一移动完成后,第一根杆上仅剩下最大的圆盘,第二根杆上为空,第三根杆上按顺序摆放着N-1个圆盘。若从第一根杆上移动 N 个圆盘到第三根杆上需要 F[N]次移动,那么综上所述 F[N]的组成方式如下:先移动N-1个圆盘到第三根杆上需要 F[N-11次移动,然后将最大的圆盘移动到中间杆上需要1次移动,再将N-1个圆盘移动回第一根杆上同样需要 F[N-1]次移动,移动最大的盘子到第三根杆上需要1次移动,最后将N-1个圆盘移动到第三根杆上需要F[N-1]次移动,于是便有了F[N]=3F[N-1]+2。
2024-06-18 16:48:09
372
原创 SpringBoot+Mybatis plus项目报错:Error creating bean with name ‘fileController‘: Unsatisfied dependency..
因为博主是和另外一位同学协作开发,所以环境框架是直接pull过来的。为了让版本不冲突,于是把原来没有修改的pom文件直接copy了上去。报错提示找不到依赖项 com.baomidou:mybatis-plus-boot-starter:pom:3.5.1。第一次运行SpringBoot+Mybatis plus项目时,出现了以下错误。乍一看问题很长,但一句话一句话仔细翻译,就会发现这是一个嵌套问题。查询后发现是版本冲突问题。Maven刷新报如下错。
2024-06-12 15:07:15
1136
1
原创 区间贪心:今年暑假不AC
当然,作为新时代的好青年,你一定还会看一些其他的节目,如《新闻联播》(永远不要忘记关心国家大事)《非常 6+7》《超级女声》及王小丫主持的《开心辞典》等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(2)如果当前时间不能够观看该节目(当前时间已超过该节目的开始时间),那么就选择放弃观看该节目,进而去判断下一个节目是否符合要求。(1)如果当前时间能够观看该节目(即当前时间小于等于该节目的开始时间),那么就选择观看该节目,并将当前时间更新为该节目的结束时间。“看世界杯呀,笨蛋!
2024-06-11 15:39:35
370
原创 贪心策略:FatMouse‘ Trade
相反,如果老鼠支付 a%*F[]的猫粮,那么可以获得 a%*Л[]的咖啡豆。看到这一题,精于计算的读者可能会马上反应过来,这和日常买物品是一样的,每次购买商品的时候,优先挑选剩余物品中性价比(即重量价格之比)最高的物品,直到该物。本题中,每个房间的咖啡豆(JavaBean)对应于不同的商品,每个房间的 J[i]代表该商品的重量,F[i]代表该商品的价格,老鼠手中的猫粮对应于金钱。① 若当前性价比最高的物品已被买完,则继续在剩余的物品中寻找性价比最高的物品,并不断重复这个过程。品被买完或金钱耗尽。
2024-06-06 16:15:39
664
原创 快速幂:人见人爱A^B
毫无疑问,这是不可行的。按照题面给出的输入规模,A^B 至多可以达到 10000 的 10000 次方,这么庞大的数字是不容易存储的,但 A^B 的后三位数其只与A的后三位数和B有关。由于题目要求的只是结果的后三位数,因此在计算该结果的过程中产生的中间值也只需保存其后三位数即可。输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10008)如果 A=0,B=0,则表示输入数据的结束,不做处理。对于每个测试实例,请输出 A^B 的最后三位表示的整数,每个输出占一行。
2024-06-04 15:20:20
263
原创 最大公约数与最小公倍数
那么a,b两数的最小公倍数n = g * l * k。即两数的最小公倍数为两数乘积除以两数的最大公约数。现在用欧几里得原理求最大公约数的代码为。设a,b两数的最大公约数为g。
2024-05-20 15:44:50
179
1
原创 队列:动物收养所
于是,对于选择性地收养动物的第二种方式,实现起来就会非常简单:根据要收养的是猫还是狗,从相应的队列中取出队列头部的动物。然而,对于第一种收养方式,需要判断两个队列头部的猫和狗哪个更先进入收容所,这时需要有一个标志进行判断。然而,如果只维护一个队列,那么对于直接收养所有动物中最早进入收容所的第一种收养方式,实现起来就会非常简单:只需每次取出队列头部的动物。但是,这样做的话,对于选择性地收养动物的第二种方式就会比较复杂,此时需要访问整个队列,以便找出第一个被访问的猫或第一个被访问的狗。若为-1,则指定收养猫。
2024-05-11 16:56:21
440
原创 括号匹配问题
因此,可以从左至右的顺序遍历整个字符串,遍历过程中遇到左括号,就将其放入栈中以等待后续右括号的匹配;当字符串全部遍历完后,若栈非空,则表明栈中的左括号不存在与之匹配的右括号,左括号匹配失败。写一个程序,找到无法匹配的左括号和右括号,输出原来的字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"表示与之对应的左括号和右括号不能匹配。C版本的代码比Java更加简化,将判断括号情况的栈和存储未匹配的左括号下标的栈合为一个(右括号未匹配直接在字符串中进行修改)
2024-05-11 16:23:20
320
原创 约瑟夫问题No.2 C/C++和Java代码
n个小孩围坐成一圈,并按顺时针编号为1,2,…,,从编号为p 的小孩顺时针依次报数,由1报到m,报到m时,这名小孩从圈中出去;然后下一名小孩再从1报数,报到m 时再出去。以此类推,直到所有小孩都从圈中出去。请按出去的先后顺序输出小孩的编号。这道题是著名约瑟夫问题的变体。当约瑟夫问题的数据规模不大时,可以考虑直接利用循环队列进行模拟进行求解。第一个是n,第二个是p,第三个是 m(0
2024-05-09 16:36:36
259
1
原创 【Java】sort方法的应用:Comparable接口与Comparator接口
实现了Comparable接口或Comparator接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。
2024-04-30 10:44:20
274
1
原创 Spring项目问题:登录中用户名或密码为空问题
在实现一个简单的登录功能时,总是出现登录时显示“用户名或密码错误问题”用postman检查后端代码,发现后端代码中存在问题在后端代码中加打印日志,查看问题出现原因发现在接收参数username和password的时候就出现了问题。
2024-03-18 10:26:24
597
原创 Spring项目问题—前后端交互:Method Not Allowed
最终发现是前后端交互部分和后端代码Controller中参数名不同所导致。修改Controller类中的id为blogId,问题解决。Ajax中使用的是get,方法仍然出现post方法报错。浏览器中没有报错,只是接收不到后端返回的结果。
2024-03-15 10:51:48
516
原创 Spring项目-前端问题:Can‘t find variable:$
在写Spring项目代码时,后端调试没问题,部署程序到Safari上出现。检查前端代码后发现是JS代码里,函数与jQuery前后位置有问题。部署到Chrome上出现。改换位置后页面可正常加载。
2024-03-15 10:06:44
649
原创 【Java】@Autowired获取同一类的多个属性;@Primary,@Qualifier,@Resource注解的使用
上篇文章我们讲了@Autowired的作用🍀其中,如果同一个类对应多个对象时⭐@Autowired会先根据名称来获取,如果获取到了,正确响应⭐如果没有获取到,就根据类型匹配,此时,如果匹配到多个,报错为了解决同一类对应多个对象的问题,我们引入@Primary,@Qualifier,@Resource注解🌟。
2024-02-01 16:51:56
481
1
原创 【Java】IoC五大注解和@Bean注解
Controller 控制器存储@Service 服务存储@Component 组件存储@Configuration 配置存储@Repository 仓库存储几者的关系如下。
2024-02-01 11:43:01
456
原创 【Java】Lombok的使用
Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量🚀在我们封装一个类时,最常用的便是对成员变量使用getter或setter方法🤔但是,项目在后期维护的过程中,难免会加入新的成员变量或删除原来的成员变量,这个时候再修改getter和setter方法,维护成本将变大🤯于是我们使用Lombok来对代码进行简化🌱使用Lombok后,我们可以免去书写getter和setter方法👏。
2024-01-30 16:36:13
574
原创 【Java】SpringMVC参数接收(三):cookie、session、header
接收session方法一。接收session方法二。首先设置session。
2024-01-25 15:09:38
764
原创 【Java】SpringMVC路径写法
多个对多个属性赋值,需要写上属性名只有一个属性时,且属性名为value,可以省略。@RequestMapping这个前缀对post和get方法都有效。注解里,双引号的值会赋给"value"这个属性。再次使用post报错,指定方法成功。我们在参数中规定一下,来限制方法。类路径和方法路径都可以写成多级。其中,类路径写在方法路径前面。
2024-01-24 10:40:51
639
原创 【Java】Element ‘project‘ cannot have character [childrenl, because the type‘s content type ...问题
Servlet编程中打包时出现问题, </project>标红。的注释不符合xml文本的注释格式。原因是该本文格式为xml,而。
2024-01-19 14:29:39
572
原创 【Java】HttpServletResponse类方法简介
HttpServlet中有HttpServletRequest类、HttpServletResponse类✅其中HttpServletRequest类主要是get方法✅HttpServletResponse类中便主要是set方法。
2024-01-18 15:08:57
916
原创 【Java】HttpServlet类中前后端交互三种方式(query string、form表单、JSON字符串)
在前后端的交互中,前端通过以下三种方式来与后端进行交互🌟✅form表单✅JSON字符串下面我们将书写这三种方式的后端代码并进行讲解。
2024-01-18 09:58:38
1020
原创 【Java】HttpServlet类简单方法和请求显示
Servlet类中常见的三个类有:☑️HttpServlet类,☑️HttpServletRequest类,☑️HttpResponse类🐬其中,HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对象,并把Http请求直接封装到HttpServlet对象中,大大简化了HttpServlet解析请求数据的工作量💪🐬使用HttpServlet类时,需要继承这个类、重写里面的方法并把重写的代码插入到Tomcat的既定流程当中。
2024-01-17 15:21:55
1340
原创 【Java】解决Servlet编程中出现的中文乱码问题
前面两篇文章我们讲述了编写Servlet程序的基本步骤和修改一个Servlet程序上面两篇文章的示例代码都是使用的全英文,当我们编写中文,发现似乎出了一点点问题🤔。
2024-01-12 16:50:31
549
原创 【Java】SmartTomcat的配置及使用
上篇文章我们讲述了如何编写一个简单的Servlet程序👇注意 🔔❗️在Servlet网络编程中,一旦修改代码,就意味着我们要重新打包、启动Servlet,才能运行新的代码然而,在平时的开发中,高频率的修改是不可避免的,重新打包会耗费大量时间。因此上述重新打包运行的方法并不可取🙅♂因此,我们引入SmartTomcat来解决代码修改一次性打包问题☑️。
2024-01-12 16:14:03
7875
1
原创 【Java】编写一个简单的Servlet程序
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。Servlet经过进一步简化,则是我们所熟知的Spring框架,在进行Spring学习之前,我们先对学习Servlet相关知识,并进行一个简单的Servlet编程📝。
2023-12-22 14:54:11
1608
原创 【Java】Mac下的Tomcat安装配置
🔔Tomcat是一个免费的开源web应用服务器,是开发和调试JSP 程序的首选🖐可利用它响应HTML页面的访问请求。我们在进行网络编程时,其中重要的中间件就是Tomcat,下面我们将进行在Mac上配置Tomcat的讲解。😲。
2023-12-22 10:46:41
2017
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人