自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Leetcode-20220929

2022-09-29 20:05:23 75 1

原创 Leetcode-easy-栈-220917

2022-09-18 21:21:09 79

原创 Leetcode-easy-栈-220915

x

2022-09-15 16:08:49 79

原创 Leetcode-easy-链表-220912

w

2022-09-12 15:11:37 110

原创 Leetcode-easy-链表-220911

2022-09-11 14:52:13 114

原创 Leetcode-easy-链表-220909

2022-09-09 22:45:49 146

原创 20210502笔记.554

1.总高度恒定,求穿过砖的最小值,等价于总高度减去穿过缝隙的最大值,由反得正2.https://blog.csdn.net/q5706503/article/details/85122343Java中Map的 entrySet() 详解以及用法(四种遍历map的方式)map.entrySet()将map中表示键值对的entry项转为setentry项用Map.Entry<-,->表示class Solution { public int leastBricks(List&lt

2021-05-02 21:50:25 63

原创 3.3Evaluate

# -*- coding: utf-8 -*-import recorrectfilename = "../data/199801_seg&pos.txt"segfilename = "../data/seg_BMM.txt"def evaluate(correct_path=correctfilename, seg_path=segfilename): correct_sum = 0 seg_sum = 0 correct = 0 allwrong

2020-12-27 09:24:35 111

原创 3.2FMM&GMM

# -*- coding: utf-8 -*-import timedictionaryfilename = "../data/dic.txt"inputfilename = "../data/199801_sent.txt"BMMfilename = "../data/seg_BMM2.txt"FMMfilename = "../data/seg_FMM.txt"def readDic(dicpath=dictionaryfilename): tripleDic = []

2020-12-27 09:22:23 122

原创 3.4Optimize

# -*- coding: utf-8 -*-import timedictionaryfilename = "../data/dic.txt"inputfilename = "../data/199801_sent.txt"BMMfilename = "../data/seg_BMM.txt"FMMfilename = "../data/seg_FMM.txt"def readDic(dicpath=dictionaryfilename): tripleDic = []

2020-12-27 09:03:48 195 2

原创 3.1Generate

# -*- coding: utf-8 -*-from collections import defaultdictInputfilename = "../data/199801_seg&pos.txt"Outputfilename = "../data/dic.txt"def BuildDic(Ip=Inputfilename,Op=Outputfilename): fi = open(Ip,'r',encoding='gbk') fo = open(Op,'w',e

2020-11-23 12:15:01 88

原创 20200818笔记.109

每日一题109.有序链表转二叉搜索树方法1.分治,将中间节点找出来,即为根节点,分为左右两边收获:找链表中间节点的巧妙方法,快慢指针,快指针每次循环走两格,慢指针走一格。这样当快指针走到最后的时候,慢指针指的就是中间节点。要注意一个问题,就是快指针结束的判断条件是fast!=right&&fast.next!=right。因为有可能快指针正好停在right上或者right前一个,然后跳两步就会跳到null上。方法2.这个也很巧妙,但是我其实不是很懂这个玩意为啥会快,虽然理论上是

2020-08-18 12:18:21 81

原创 20200813笔记.43.392.1606

双指针int n = num1.charAt(i)-'0'; //这两个的写法感觉挺有用的 for (char c = 'a'; c <= 'z'; c++)

2020-08-13 11:28:15 94

原创 20200812笔记.133.303

每日一题133.克隆图bfs和dfs在图问题上的运用DFSDFS注意要在递归之前写好退出递归的条件。class Solution { public Node cloneGraph(Node node) { Map<Node, Node> lookup = new HashMap<>(); return dfs(node, lookup); } private Node dfs(Node node, Map<No

2020-08-12 15:59:06 76

原创 20200811笔记.130.746.1025

bfs,dfs,并查集

2020-08-11 11:37:32 72

原创 *20200810笔记.696.121.122(三种方法都很值得学习)

三种方法解决买股票2,滚动数组压缩动态规划数组。单调栈

2020-08-10 12:40:09 85

原创 20200809笔记.93

每日一题:93.Ip地址划分,我只会ijk代表小数点位置来遍历应该利用回溯法,碰到不行的就回溯减枝。回溯有很多种思路,有按看能不能在分出四个合法字段的时候恰好把字符用光的,还有官方的回溯思路,我觉得比较好理解的是下面这个。https://leetcode-cn.com/problems/restore-ip-addresses/solution/shuang-bai-ti-jie-zui-tong-su-yi-dong-de-c-hui-su-/是根据小数点位置进行回溯,class Soluti

2020-08-09 10:25:13 124

原创 20200808笔记.99

O1的算法,莫里斯遍历

2020-08-08 17:07:06 63

原创 20200807笔记.100.111.70(方法二三待学习)

滚动数组bst的模板矩阵快速幂,能把70从On的时间复杂度优化到Olgn

2020-08-07 16:46:26 103

原创 20200806笔记.198.336(待).213

198.打家劫舍①是昨天做的打家劫舍三的最简单版,一样的dp思想213打家劫舍②,跟第一个一样,但是这回的房子是成环的。我寻思要把头和尾都特殊判断,特殊处理一下呢,结果答案很巧妙啊由于头和尾不共存,所以就可以拆分成两个198问题。收获:Array.copyOfRange,from是包括在新数组的,但是to是不包括的,截断到to前一位336.回文对,每日一题,真难啊。我不会,我就是写暴力都不一定写对,还会超时。关于PriorityQueue,可以用于获得最小值或者最大值Queue<

2020-08-06 14:08:08 79

原创 20200805笔记.337

每日一题:二叉树的后序遍历,动态规划开始的时候没仔细读题,以为就是比较一下二叉树奇数层和偶数层的和哪个更大,想用层序遍历来搞,怕写完了再有问题白费功夫就看了一下题解,我果然是个垃圾。这是一个动态规划问题,虽然也用到了遍历,但是使用到了后序遍历,用来维护dp数组们。对每个节点有两种情况:1.最优解包含这个节点o,则它的子树的最大和为fo2.最优解不包含o,则它的子树最大和为wo对于第一种,fo = wl+wr,因为o的左右子树不可以被包含对于第二种,o的子树可以被包含也可以不被包含(这就是我理解

2020-08-05 14:01:23 142

原创 20200804笔记.207(待).933.239

滑动窗口双向队列还有一个很精彩的动态规划(虽然我觉得不像)

2020-08-04 12:18:32 109

原创 20200803笔记.415

双指针int-'0'到char类型的整数

2020-08-03 10:47:46 66

原创 20200802.114(待).53

简单的dp线段树(待)前序遍历(待)

2020-08-02 10:26:04 71

原创 20200801.632(待).1692.64

几个简单地dpdp的分析流程:优化子结构,无后效性------>递归方程用原数组来装dp数组的元素来节省空间

2020-08-01 17:42:36 129

原创 20200731笔记.1685.1047.2

多尝试StringBuilder,append的运用

2020-07-31 10:29:54 66

原创 20200730笔记.343.1441.735(待解决)

今天的每日一题343.整数拆分第一眼看到,我就想到了昨天做过的一个用双指针的题,对于343,我的想法是,左右各一个int指针pi,pj,然后左指针右移一位,右指针就左移一位,对于每个指针状态,再递归的求解。递归终止的条件是j = i+1,因为原来的时候乘积是xy,变化指针一下之后是(x+1)(y-1),令两式相等得到应该满足y=x+1.但是运行完了发现不对,这个情况下n=x+y=2*x+1恒为奇数,没有办法处理偶数的情况。我虽然不知道偶数具体怎么进行性判断,但是感觉奇数这种处理应该没什么问题。看了下题解

2020-07-30 11:05:06 74

原创 20200729笔记.844.682.11

equal对于String来说已经重写过了static的一个有关报错双指针的灵活运用

2020-07-29 11:16:49 82

原创 20200728笔记.(104.1.496)

想起来自己很久没用过github了,几天早上在github建了个库想把这几天写的东西试着传上去,碰到了一个问题图片是从网上找的,当时忘截图了我想了一下大概是我在创建远程库的时候勾选了生成readme那个txt文件,本地库没有,所以得先pull一下再push,但是我试了一下还是不对,网上的教程也差不多是先pull再push,我也没搞懂这个问题,只好又建了个完全空白的远程库。收获:1.复习了一下git和github的使用2.以后要注意建立远程库时不要勾选生成readme,不如自己写一个104.二叉

2020-07-28 10:42:50 64

原创 20200727笔记.栈.队列(225.232.224)

中缀转后缀的一种简便方法Java中Queue,Deque(Stack)的具体用法简单计算器的通用实现

2020-07-27 11:16:53 79

原创 20200726笔记.栈,辅助栈,(20.155)

菜鸡的笔记,没有阅读价值(1)leecode20题,元素:栈收获:1.要求匹配相对应的(),{},[]。用map来解决有关配对的问题。2.条件表达式关系表达式 ? 表达式1:表达式2根据关系表达式的布尔值决定取值,true时取表达式1,false取2.java中条件运算表达式的关系表达式的类型必须为布尔类型,即只能是true和false3.ArrayList a没法直接调用a[i],要用a.get(index).(2)leecode155题,元素:栈自己的方法存在的问题(待解决)我

2020-07-26 13:15:47 270

原创 Junit测试报错:java.lang.NoClassDefFoundError

在导入JUnit进行测试时,测试文件总是出现如题的报错,更改JUnit版本后仍然报错,重新将代码写了一遍,但还是出现问题,在查找资料后,找到了问题所在:(上图为正确的状态)之所以报错,是因为将JUnit5错误的放在了Modulepath目录下,将Modulepath目录下的JUnit移除后重新在Classpath目录下点击add library将JUnit添加进去即可...

2020-06-18 16:12:38 1038

原创 lab4debug

EventManager程序理解待调试程序的代码思想这个程序利用Map标记,算法是标记+搜索的得出最大值是开始时间,标记+1,是结束时间,标记-1,初始标记为0,TreeMap是按照key值从小到大排序的,因此找到标记的最大值即可得出结果发现并定位错误的过程你如何修正错误pro-condition 限制增加使用day,避免为初始化导致的空指针异常NullPointerException修复之后的测试结果LowestPrice程序理解待调试程序的代码思想采用分治的思想来得到Lo

2020-06-18 16:06:22 110

原创 设计模式——策略模式

策略模式:Strategy,是指,定义一组算法,并把其封装到一个对象中。然后在运行时,可以灵活的使用其中的一个算法。以下记录我对策略模式的理解(部分解释借鉴自廖雪峰老师)策略模式是为了允许调用方选择一个算法,从而通过不同策略实现不同的计算结果。体现了模块化的思想,不必为了一点小改动而造成程序整体的修改,方便使用者选择不同方案。通过扩展策略,不必修改主逻辑,即可获得新策略的结果。一个完整的策略模式要定义策略以及使用策略的上下文。我们以网购图书为例,假设网站针对普通顾客、会员有不同的折扣,同时活动期间还有一

2020-05-24 17:39:13 92

原创 lab3中遇到的一些新问题(问题3最重要)

一.Syntax error on token “;”, , expected 错误一开始想了很久,后来查了一下终于发现问题的原因所在,太长时间没写过东西了忘了很多,java中变量的声明可以不在方法中,但语句只能出现在方法中,可以在声明变量的时候就赋初值,但如果要单独赋值就必须写在方法中。这是一个很初级的知识点,但我好菜。二.Calendar的一些应用问题创建一个"yyyy-mm-dd"格式的格式化对象SimpleDateFormat format=new SimpleDateFormat(“y

2020-05-20 21:28:36 208

原创 方法规约设计

1.引言我们自我定义的函数不能只有自己知道他的用途,或者说不能只靠用户通过我们的命名去猜一个方法的参数返回值以及作用。又如,一个大型程序设计过程中需要多人协作,那么如果在你的.java中的所有函数都是以只有命名的形式存在的话,对于与你协作的同事来说如何理你的方法声明和用途就是一件十分困难的事,也就别提什么调用之类的事情。因此,我们在程序设计初期就需要规范自己,简明扼要的说就是需要给我们编写的...

2020-05-05 12:20:37 279

原创 hit软件构造lab2

1 实验目标概述 12 实验环境配置 13 实验过程 13.1 Poetic Walks 13.1.1 Get the code and prepare Git repository 13.1.2 Problem 1: Test Graph 13.1.3 Problem 2: Implement Graph 13.1.3.1 Implement ConcreteEdgesGrap...

2020-04-19 12:14:54 333 1

原创 软件构造中git的常用简单命令.1

lab1的时候就使用过git进行版本记录以及将代码从远程仓库下载下来和将代码上传到远程仓库,但当时没有仔细整理,今天记录一下一些常用的命令以及问题处理方法。我当时看的廖雪峰老师讲的git教程,原地址如下https://www.liaoxuefeng.com/wiki/896043488029600①git是一个版本控制工具(Git是目前世界上最先进的分布式版本控制系统(没有之一)。)可以使操...

2020-04-04 23:43:24 102 1

原创 Leecode日志.1.169

单纯是对编过的垃圾代码写写备注,没有任何营养,不建议参考。序号:1难度:简单用时:两天2020-03-26~2020-03-27我的肤浅想法:当时很愚蠢的直接把这道题当成求众数的一道题,想法非常简单,建立新数组array,分别存放nums中每个数字的个数。将后续数字依次和之间判断过得数字进行比较,根据比较结果,要么将之前数字的对应array位加一,要么建立新的一个对应array位。最后...

2020-03-31 21:57:06 108 1

原创 hello的一生hit_csapp1180300108xxg

计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机科学与技术学院学   号 1180300108班   级 1803001学 生 关天昊    指 导 教 师 郑贵滨计算机科学与技术学院2019年12月摘 要摘要是论文内容的高度概括,应具有独立性和自含性,即不...

2019-12-29 17:31:20 409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除