自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Leowner

退役OIer HIT本科在读

  • 博客(110)
  • 资源 (1)
  • 收藏
  • 关注

原创 Leetcode 146 LRU Cache模板

数据结构题,思路简单,主要在编码上容易思路理不清。import java.util.HashMap;import java.util.List;class ListItem { int key; int value; ListItem pre; ListItem next;}class LRUCache { HashMap<Integer, ListItem> keyToItem = new HashMap<Integer, Lis

2021-08-22 00:16:59 133

原创 leetcode48 旋转图像

题目难度很低,但实现需要细心,需要特别注意x y i j 的关系class Solution { public void rotate(int[][] matrix) { int n = matrix.length; int half = (n-1) / 2; if (n % 2 == 0) { for (int i = 0; i <= half; i++) { for (int j =

2021-03-13 21:43:06 128

原创 二叉树三种遍历的迭代写法总结

二叉树前序遍历的思路栈S;p= root;while(p || S不空){ while(p){ 访问p节点; p的右子树入S; p = p的左子树; } p = S栈顶弹出;}前序遍历Leetcode地址:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/参考代码:class Solution { public List<Int

2021-03-13 20:33:06 204

原创 leetcode 378 手写堆和堆的应用 附测试代码

非最佳方案,仅用于测试手撕堆的代码class Heap{ // big first heap; public int[] data = new int[100000]; public int total = 0; public void insert(int x) { total++; data[total] = x; int cur = total; while (cur > 1) {

2021-03-13 16:37:57 165

原创 从一种rand生成另一种rand leetcode470

已知一种rand,如rand10,可以等概率的随机生成[1, 10]中的任意一个整数。先给出一种或两种rand,要求以其为基础,生成一种新的rand。情况1:从小的rand生成大的rand:已知 rand_N() 可以等概率的生成[1, N]范围的随机数那么:(rand_X() - 1) × Y + rand_Y() ==> 可以等概率的生成[1, X * Y]范围的随机数即实现了 rand_XY()情况2:从大的rand生成小的rand:例如,从rand49生成rand10,首先需

2021-03-13 11:38:55 128

原创 剑指 Offer 05. 替换空格

本题使用Java做解毫无意义。个人觉得最理想的情况是,预先算出字符数组的长度,从后往前将数组的元素向后复制并替换,这样可以以最小的空间代价完成任务,时间复杂度也维持不变。class Solution {// 无意义代码 public String replaceSpace(String s) { return s.replace(" ", "%20"); }}...

2021-03-01 23:31:28 51

原创 剑指offer 04 leetcode 240 二维数组中的查找

首先一个坑,n和m的最小值是0,要特别判定。题目保证了往右和往下一定变大,右上和左下不保证,那么可以得出一种结论,如果当前一个数大于target,它的右下块一定无效,同理,小于,则左上块无效。解题时,可以取左上角点或右下角点,每次比较时去除无效的一行或一列,那么最多n+m次对比即可class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { if ( matrix == nu

2021-03-01 23:23:44 63

原创 leetcode 704 暨 二分查找左闭右闭模板

每次的查找区间是[left, right]while循环中采用小于等于的原因为,当查找区间为[left,left]时,区间内仍有一个数字待搜索。下面更新时采用mid - 1和mid + 1的原因是,每次的搜索为闭区间搜索,搜索时mid已经被搜索过,下一次搜索不再包含mid模板语言为java,可在leetcode 704提交class Solution { public int search(int[] nums, int target) { int left = 0, r

2021-03-01 21:30:39 99

转载 CSP 考试Java快速读入模板

参考https://blog.csdn.net/qq_31390999/article/details/108315742class Reader { static StringTokenizer token =new StringTokenizer(""); static BufferedReader reader =new BufferedReader (new InputStreamReader(System.in)) ; static String nextLine()

2020-09-07 10:45:15 290

原创 CSP考试中的Eclipse常用配置

Window -> Preferences -> General -> Editors -> Text Editors -> Colors and fonts 修改字体格式和字体大小Content Assit 中,勾选Disable insertion triggers except Enter 来保证只有使用回车键才会使用自动补全。在下面的Auto activation triggers for Java中加入所有小写字母,保证在输入小写字母时激活自动补全...

2020-09-06 16:25:59 207

原创 pyqt tableview实现获取选定行中某个单元格的信息

print(self.model.itemData(self.model.index(self.tableView.currentIndex().row(), 0)))此处self为窗口的类,model为和tableview绑定的模型。使用currentIndex获取当前选中的单元格的QModelIndex,通过.row获得行号,再使用index将行号+列号重新转回QModelIndex格式,即可通过itemData获取对应索引的信息...

2020-09-06 10:09:26 3921 3

原创 pyqt实战日记5 完成数据库内容显示,与数据库的连接

此处以SQLITE为例,进行简要介绍 database = QSqlDatabase.addDatabase("QSQLITE") database.setDatabaseName("../res/starlight.db") self.model = QSqlTableModel() self.model.setTable("student") self.model.setEditStrategy(QSqlTableModel.OnMan

2020-08-08 21:46:40 1022

原创 pyqt实战日记4 利用dialog实现文件选择窗口

该部分本来难度很低,仅涉及创建一个控件的问题,但在qt designer 中似乎并未提供类似的操作,只能通过代码实现。具体逻辑如下: file_dialog = QFileDialog() file_dialog.setFileMode(QFileDialog.AnyFile) file_dialog.setFilter(QDir.Files) if file_dialog.exec_(): file_names = file_

2020-08-08 21:42:48 453

原创 pyqt实战日记3 浅谈多窗口操作

常见的情况下,主窗口选择MainWindow,子窗口选择Dialog类型。在qt designer中,可以绘制出两个ui文件,在新建文件时分别选择MainWindow和Dialog,得到两个Ui的py文件。利用实战日记1所述方法,构造两个自定义类,继承基类和Ui类。在MainWindow中实例化Dialog即可class MyMainWindow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): s.

2020-08-08 10:06:29 361

原创 PyQt实战日记2 信号和槽 简单按钮 调用自定义函数

PyQt中定义了信号和槽两种类型,信号是一个控件在某些情况下传出的指令,槽则是在某些空间中的信号处理模块。在实际使用中,往往需要定义发出信号的模块,信号类型,接受信号模块,接受信号的槽。实际上,最最常用的是两种:系统信号+系统槽,往往用于处理最常见的指令,类似于在单击某按钮后关闭窗口;系统信号+自定义槽,用于调用自定义内容,例如在点击某按钮后显示提示信息。首先讨论在qt designer中引入信号和槽(该操作也可在py代码中完成,实际上designer只是帮助生成py代码,并没有其独有的专有的功能,所有

2020-08-07 23:04:32 3058

原创 pyqt实战日记1 结合qt designer 实现简单单窗口

如上图是Qt designer界面的图示,左侧为控件栏,可以直接从中拖拽控件到中间的工作区域,以将其加入窗口中。右上为项目框架,右下为控件的各种属性。有关qt designer的具体用法此处不再赘述,建议参考《PyQt5 快速开发与实战》或其他博客。设计完成后,保存成.ui文件,使用pyuic5 xxx.ui -o xxx.py可以将ui文件转化为py文件。观察.py文件,发现其为类似如下格式# -*- coding: utf-8 -*-# Form implementation gene.

2020-08-07 22:39:56 370 1

原创 pyqt实战日记总:实现文件选取,读入,数据库显示,数据可视化

总结接下来要完成的核心内容:结合qt designer,实现简单的静态的单窗口,研究ui文件和py文件的交互实现按钮功能,体会信号和槽的传导机制,实现界面与自定义函数的交互拓展到多窗口,实现窗口之前的联系和切换利用Dialog窗口完成文件选取窗口完成数据库内容显示,与数据库的连接待续...

2020-08-07 22:17:53 293

原创 python实现线性规划 数学建模 代替matlab

要解决的问题如图所示import numpy as npfrom scipy import optimizez = np.array([2, 3, 1])a = np.array([[1, 4, 2], [3, 2, 0]])b = np.array([8, 6])x1_bound = (0, None)x2_bound = (0, None)x3_bound = (0, None)res = optimize.linprog(c=z, A_ub=-a, b_ub=-b, bou

2020-08-02 22:57:50 517

原创 百度网盘下载文件损坏 定位和解决方案

问题发生情况:下载一个分卷压缩的文件,解压缩时提示压缩文件已经损坏,但是无法定位发生损坏的文件,如果重新下载全部文件耗时长而且可能再发生损坏。解决思路:使用百度网盘的上传功能。百度网盘会优化上传操作,即,如果上传的文件已经存在于百度网盘的服务器中,就会实现秒传。解决操作:(可选)设置上传限速为一个很低的值,如1kb/s上传刚刚下载好的文件,观察上传操作,如果在扫描完文件之后,瞬间上传成功...

2020-05-08 11:31:41 12444 2

原创 MIT6.031 软件构造 Reading9阅读笔记Avoiding Debugging

来自MIT6.031 软件构造课的Reading材料的第9篇。如何减少bug,利用不变性,final等如何精准定位bug,利用fail fast原则assert的使用介绍,局限性,使用场合等模块化,访问控制,缩小变量作用域等老话题增量式编程,每次只写一点,并测试一点,以缩小bug的出现范围具体内容及笔记见下图,笔记主要以手写方式提供。MIT官网直通车...

2020-03-29 15:59:22 150

原创 MIT6.031 软件构造 Reading8阅读笔记Mutability and Immutability

来自MIT6.031 软件构造课的Reading材料的第7篇。总结不出来了。大概如下:Mutable对象更简便,便于在不同方法之间传递信息,性能更强,但存在较多安全风险,易出bug.别名是Mutable易出问题的重要原因,防卫式拷贝是一个很好的解决方法迭代器的相关内容给出了一些使用的Immutable的类型本章内容似乎较少,理论性质多,记忆内容少具体内容及笔记见下图,笔记主要以手...

2020-03-29 15:31:07 217

原创 MIT6.031 软件构造 Reading7阅读笔记Designing Specifications

来自MIT6.031 软件构造课的Reading材料的第7篇。Spec重点:是否具有确定性,即,给出的是确定的postcondition,还是众多可能性中的一种描述性多强,是说明了所有的步骤,还是只给出结果和输出与输入的关系强壮性多高,postcondition和precondition的强度。优秀的spec,应该有更好的确定性,能够最精确地指明方法的结果,有较...

2020-03-27 11:33:22 195

原创 MIT6.031 软件构造 Reading6阅读笔记Specifications

来自MIT6.031 软件构造课的Reading材料的第6篇。什么是Spec,Spec的主要内容Exception的相关知识点具体内容及笔记见下图,笔记主要以手写方式提供。MIT官网直通车...

2020-03-26 22:24:34 210

原创 MIT6.031 软件构造 Reading5阅读笔记Version Control

来自MIT6.031 软件构造课的Reading材料的第5篇。从软件开发实际需要出发,讲授git出现原因git工作原理git实际操作及其效果传送门

2020-03-23 15:57:07 178

原创 MIT6.031 软件构造 Reading4阅读笔记Code Review

来自MIT6.031 软件构造课的Reading材料的第4篇。重点讲授了Code Review的意义,相关知识。用其余的篇幅讲解了常用的代码规范内容,包括:Don’t Repeat Yourself (DRY)用代码复用代替复制粘贴Comments where needed在需要的时候 要注释 + 才注释Fail fast如果出现错误,尽快挂断,避免传递错误...

2020-03-22 21:56:17 242

原创 Python open 默认编码修改

如果在Windows平台使用python,很多时候open函数的默认编码方式为gbk,如果自行编码,可以通过encoding参数来修改为utf-8,但当执行其他人合作完成的代码时,要修改每一个open的参数成本过高。解决方法:在运行命令行时,在python.exe 和 程序名.py 之间加入 -X utf8即可Pycharm可以选择edit Configurations,在Interpret...

2020-03-22 11:23:21 3963 2

原创 Java基本类型(primitive type)为什么是immutable 的讨论

笔者在学习Java设计思想的时候,走进了一个误区,在此进行讨论我们在讨论immutable和mutable的时候,通常使用String和StringBuilder进行比较,认为每次修改字符串整体的String为immutable,而可以修改内部字符的Builder为mutable,从code snapshot中,容易认为,immutable的类型在修改时,会分配新的内存,创建新的对象,再修改...

2020-03-17 20:45:38 502

原创 软件构造 Lab1 Fundamental Java Programming and Testing实验记录

在使用JUnit进行测试时,应该在src文件夹之外重新创建文件夹,设置为test,并在其中新建package进行测试class的编写视频看到1:04:17

2020-03-12 00:09:12 388

原创 Java 第三方库下载 华为镜像 换源

https://mirrors.huaweicloud.com/search/maven?q=&license=&date=all&pg=1可在该网站搜索 语言类组件 Maven 即可搜索jar包,之后直接放置在project的lib目录下,add as library即可...

2020-03-05 17:48:20 1662

原创 关于 非分页缓冲池 内存占用过高但任务管理器无程序 的特殊原因

本机发生条件:使用百度网盘下载时,非分页缓冲池占用 以肉眼可见的速度增长,游戏等其他操作无影响。排查:尝试升级到教育版系统,关闭Windows Update,无效。尝试卸载杀手网卡,无效尝试更新所有驱动,无效。最后原因:之前在火绒安全中的流量监控中对百度网盘进行过限速,解除限速后正常。推测:可能是限速策略和网卡驱动出现了冲突,导致驱动内存泄漏,使非分页缓冲池内存爆炸。Tips:...

2020-02-29 18:18:06 10057

原创 Java was started but returned exit code=13 Eclipse安装,运行时出错解决方法

本机之前Eclipse运行正常,一段时间后再次运行出现该错误。原因:本机原因为Java JDK有改动,导致Eclipse找不到JDK的路径,导致无法启动。其他常见原因:第一次安装时,如果系统的Java版本是32位,而Eclipse安装的版本为64位,也很可能出现该情况解决方法:找到Eclipse文件夹,使用任意文本编辑器打开eclipse.ini找到图中的-vmargs,在其...

2020-02-28 22:14:31 182

原创 MIT6.031 软件构造 Reading3阅读笔记 Test

来自MIT6.031 软件构造课的Reading材料的第三篇。重点讲授了程序正确性确认方法Test-First 编程思路正确的测试思路和错误的测试思路用分割的思路确定测试单元通过隔间边界加强测试单元JUnit的自动测试文档形式记录测试策略黑盒和白盒的定义和思路测试代码覆盖率的概念,自动化记录覆盖率的工具单元测试和集成测试对比自动测试和回归测试分析引出 迭代-TestFi...

2020-02-28 11:26:37 319

原创 MIT6.031 软件构造 Reading2阅读笔记 JavaBasic

来自MIT6.031 软件构造课的Reading材料的第二篇。重点讲授了Java类相关的基础知识Snapshot diagram的画法mutable和immutable的定义及具体用法== 和 .equals的区别Collection的详细介绍如何阅读API文档。具体内容及笔记见下图,笔记主要以手写方式提供。MIT官网直通车FromPythonToJava直通车—————...

2020-02-27 20:07:20 278

原创 MIT6.031 软件构造 Reading1阅读笔记 Static Checking

来自MIT6.031 软件构造课的Reading材料的第一篇,介绍了软件构造课的基本目标,提供了给Python程序员的Java基础课程,进行了Python和Java的对比,也简单介绍了本课程选择Java作为授课语言的原因。具体内容及笔记见下图,笔记主要以手写方式提供。...

2020-02-26 18:24:12 259

原创 pdf拆分为图片列表 pdf转jpg wand库

起因是一个有些奇葩的需求因为经常使用Ipad + Apple Pencil来记笔记,很多心得体会等等都保存成了PDF的格式,但PDF格式本身不便于分享,所以想到了,可以将pdf切分成一张张的图片,直接上传图片到msdn或者将图片制作成md或html以分享。此处依旧使用Python大法,使用了wand库,注意,wand库本身需要安装Imagemagick和ghostscript,二者为独立的预编...

2020-02-24 21:31:55 386

原创 个人能力和方法总结

起因:学的东西太乱太杂,现在把学过的知识点整理一下,是一个督促,也方便自己以后寻找。python爬虫:读完《Python网络数据采集》,阅读部分bs4文档,用request库获取相关的内容,使用beautifulsoup对网页内容进行解析未完成:解析JavaScript 使用Selenium对网页进行细节操作 使用scrapy等框架进行操作Python 2D数据绘图:Matplot...

2020-02-24 21:16:06 317

原创 python网络爬虫批量获取百度百科词条 使用request和beautifulsoup

理论上可以直接批量处理百度百科词条,但是存在如下问题:百度百科需要比较严格的输入搜索名称,模糊搜索能力不强百度百科在不输入词条后面的id时,请求频率太高会弹出error百度百科可能会弹出一词多义选择,需要额外处理。因此,选择直接使用百度搜索,利用搜索向百度百科进行跳转。按照常理来讲,可以直接在搜索结果中检索所有标题,再用正则表达式判断网址中是否包含baike。实际上,由于baidu...

2020-02-22 23:17:25 1125

原创 paddlepaddle 波士顿房价预测demo

paddlepaddle中的dataset已经预置了波士顿房价的数据值,本demo仅测试了paddlepaddle的基本框架。参考官方aistudio后,train代码如下:import paddleimport paddle.fluid as fluidimport numpy as npimport osimport matplotlib.pyplot as pltBUF_SI...

2020-02-15 11:04:16 556

原创 python request批量爬虫模板2

import requestsimport timeheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}f2 = open("test.csv",...

2020-02-09 20:18:21 225

原创 python matplotlib学习笔记

import matplotlib.pyplot as pltplt.plot([0, 2, 4, 6, 8], [3, 1, 4, 5, 2]) # 前半部分为x值,后半部分为y值plt.ylabel("grade")plt.axis([-10, 10, 0, 7]) # 设置x轴和y轴的尺度# plt.show() # 显示pl...

2020-02-06 10:31:30 250

ImageMagick-7.0.9-26-Q16-HDRI-x64-dll.exe

Imagemagick的安装包,国内下载速度极慢,故在此分享。笔者在使用python处理pdf和jpg时用到,可能有其他作用

2020-02-24

空空如也

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

TA关注的人

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