自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode121 买卖股票的时机

LeetCode121C++解法

2022-11-27 20:26:52 251 1

原创 LeetCode112.路径总和(C++描述,递归解法)

对于二叉树的题型,我的第一想法是递归,采用递归的方法去计算路径的总和。函数作用:求一条路径的和。结束条件:当到达叶子节点时,可以返回。等价关系:将目标targetsum每次递归减去节点值,到最后的叶子节点时,若目标值恰好与叶子节点值相等,即可返回true。

2022-09-10 16:00:18 745

原创 Rust学习笔记1.基础语法

Rust学习笔记,供简单的查阅

2022-07-09 11:07:59 790

原创 求最大公因数(辗转相除,更相止损)C++描述

目录辗转相除法与更相减损法辗转相除法更相止损法利用C++实现总结辗转相除法与更相减损法辗转相除法如何求最大公因数?欧几里得先生提出了辗转相除法,这也是已知最古老的算法。这个算法基于一个定理:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。更相止损法当a,b两数较大时,求模的运算性能较低,我们就需要运用到刘徽先生的《九章算术》里的算法,更相止损法。它遵循的定理是:两个正整数a和b(a>b),它们的最大公约数等于a-b的差值c和较小数b的最大公约

2022-03-18 13:29:41 824

原创 LeetCode15.三数之和(C++,Python)

LeetCode15题目分析:给定整数数组情况下,需要先对原数组进行排序,以便与遍历时不会出现重复。如需要三个数字[a,b,c]当遍历出来的结果恒为:a<b<c时,就可以避免重复。代码结果:class Solution{public: vector<vector<int> > threeSum(vector<int> &nums) { int size = nums.size(); st

2022-03-17 20:47:02 1732

原创 C++.实现简易的四则运算计算器

文章目录C++.简易计算器的实现1 前言1.1 知识点2 实现流程2.1 简单的流程图2.2 主要函数2.3 其它注意点为什么使用vector存储后缀表达式?3 代码分析3.1 头文件head.h3.2 函数实现 head.cpp4 运行截图5 总结C++.简易计算器的实现1 前言为了巩固自己的C++知识点,写了一个简易的四则运算计算器。尤其多用到了一些简单的数据结构与STL标准库的模板。1.1 知识点vector、string、map、stack的使用中缀表达式转后缀表达式对后缀表达式的计

2022-03-15 15:21:45 9265 5

原创 C++学习笔记.关键字static&静态成员变量

static的一般用法关键字static一般有两个用法:在一般程序中声明变量,可以使得局部变量在程序的声明周期中保持存在,不会在离开作用域时进行销毁。可以在函数调用间保持值static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。所以说,一个静态成员变量相当于一个被限制了作用域的全局变量。它不再存储在栈区或者内存区,而是存储在全局区。类中的static现在,我们重点讨论类中的static的运用。如果我们在一个类中使用了static,在

2022-03-05 22:35:14 341 1

原创 C++的面向行的输入:getline()与get()

C++的面向行的输入:getline()与get()1.getline()通过回车键输入的换行符来确定输入结尾。要调用这种方法,可以使用cin.getline()。该函数有两个参数:第一个参数是用来存储输入行的数组的名称,第二个是要读取的字符数。若此参数为20,则只能读取19个字符。余下空间将用于存储自动在结尾添加的空字符。cin.getline(name,20);getline成员函数在读取的指定数目的字符或者遇到换行符的时候停止。2.get()get()函数有多种变体,之一就是和ge

2022-02-22 20:09:28 696

原创 LeetCode66.加一(Python)

思路:数组末端一共只有两种情况,9或非9,若为9即需要进1。所以我们需要做的就是把一个数组最后几位9进为0,第一个不是9的一位加一。最后对全是9的这一特殊数组进行处理class Solution: def plusOne(self, digits: List[int]) -> List[int]: n = len(digits) for i in range(n - 1, -1, -1): if digits[i] != 9:.

2022-01-21 20:38:39 446

原创 Matlab练习2.矩阵与数组的一般操作

% 第一题,后略a=eye(3);% 第二题A = logspace(0,4,5);B = diag(A);save mydata B;% 第三题load mydata B;C = diag(B);diag函数用法:https://blog.csdn.net/majinlei121/article/details/50432909linspace与logspace函数:https://blog.csdn.net/qq_41717503/article/details/104.

2022-01-21 20:26:29 186

原创 Matlab练习题1

练习:基本操作与简单输入输出题干:% 第一,二题略% 第三题x=input('')y=x^3+((x-0.98)^2)/((x+1.25)^3)-5*(x+(1/x))% 第四题cos(2*pi/3)-(9-sqrt(2))^(1/3)% 第五题a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+B+2*c

2022-01-20 22:21:20 209

原创 Python面向对象学习笔记——继承

一、基本继承从技术上讲,所有的Python类都是一个叫做object的特殊类的子类。它提供了以双下划线开头的方法(仅内部使用),它使Python以同样的方式对待所有对象。例如:class MySubClass(object): pass注意:在Python3中,如果我们不提供一个具体的父类,这个类就会自动从object继承。父类,即是被继承的类;子类,一个从父类继承过来的类。可以说,子类来源于父类,也可以说,子类扩展了父类。例如,我们现在命名一个简单的“联系人列表”,且初始化所有联系人于姓

2022-01-12 16:00:34 370

原创 LeetCode144.二叉树的前序遍历(python)

LeetCode144.前序遍历题干解法1思路:递归创建一个递归函数,注意递归的三要素:停止递归的条件,简化问题,父问题与子问题没有重叠class Solution: def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]: res = [] def fun_pre(root): if root == None: re

2022-01-12 15:34:34 344

原创 LeetCode147.对链表进行插入排序(Python)

题目思路:可以理解为利用两个指针,一个对整个链表进行遍历,另一个在已经遍历过的线段寻找插入点。(建议画图便于理解)利用class Solution: def insertionSortList(self, head: ListNode) -> ListNode: # 首先判断链表是否为空 if not head: return head # 令dummy.head指向head,创建哑节点是为了方便将值插入头节点之前。 .

2022-01-06 16:19:22 461

原创 LeetCode的双指针解法合集(python)

文章目录文章简述LeetCode26——删除有序数组的重复项LeetCode27——移除元素LeetCode160——相交链表LeetCode141——环形指针小结文章简述笔者刚刚开始刷力扣,才刷了二十来道,便发现许多利用双指针解题的题目,于是便想一次性小结一下,便于发现异同,熟悉此类解法。LeetCode26——删除有序数组的重复项思路:题目有要求必须原地删除,切要求O(1)的额外空间,所以我们需要在原数组上进行处理。此时设有两个快慢两个指针,当快指针遇到的值与上一个值不相同时,即与slow交换

2022-01-02 15:16:15 1085

原创 LeetCode94——二叉树的中序遍历(python)

给定一个二叉树的根节点 root ,返回它的 中序 遍历。思路:递归,迭代。在进行解题前,需要知道什么是中序遍历:先递归地中序访问左子树,再访问根节点,最后访问右子树方法一:递归必备要素:终止条件,调用自身。创建一个函数,方便对于子树的嵌套循环。class Solution: def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]: res = [] # 建立一个用于递归的函

2022-01-02 14:52:24 621

原创 LeetCode3——无重复字符(Python)

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。方法一:暴力解法将字符串转换为列表,并从末尾开始遍历,将s1作为一个栈使用,当发现有重复字符时,就可以利用列表操作的切片进行修改。创建一个字典进行最大值的存储,最后防止特殊情况,s2最后的值另创一个槽放置。class Solution: def lengthOfLongestSubstring(self,s): s1 = list(s) s2 = [] s3 = {}

2022-01-01 13:42:24 819

原创 LeetCode141——环形链表(python)

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pr

2021-12-29 13:48:15 406

原创 LeetCode232——用栈实现队列(python)

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和

2021-12-26 15:05:38 959

原创 LeetCode225——用队列实现栈(python)

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 i

2021-12-26 11:58:47 412

原创 LeetCode155——最小栈(python)

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。栈可以看成一个特殊的列表,将栈中元素利用sorted进行排序然后输出第一个元素即可得到最小元素。class MinStack(object): def __init__(self): self.items = [] d

2021-12-25 15:25:06 196

原创 MATLAB 使用GUI设计简单的计算器

文章目录1.准备工作2.使用GUI功能创建计算器界面2.1 打开GUI设计界面2.2 编辑运行框2.3 设置按钮3.为每个按钮设定函数功能4.结果演示5.总结与反思1.准备工作本文使用的版本是Matlab2018b。了解GUI:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。该GUI实现了计算器的一些基本功能,如加减乘除等。2.使用GUI功能创建计算器界面2.1 打开GUI设计界面首先在命令行输入guid

2021-12-17 16:45:14 17616 2

原创 数据库学习笔记(3)——SQL语言

文章目录3.1 SQL概述3.1.1 SQL的产生与发展3.1.2SQL的特点3.1.3 SQL的基本概念3.2 学术-课程数据库3.3 数据定义3.3.1 模式的定义与删除1.定义模式2.删除模式3.3.2 基本表的定义、删除与修改1.定义基本表2.数据类型3.模式与表4.修改基本表5.删除基本表3.3.3 索引的建立和删除1.建立索引2.修改索引3.删除索引3.3.4 数据字典3.4 数据查询3.4.1 单表查询1.选择表中的若干列2.选择表中的若干元组3.ORDER BY子句4.聚集函数3.4.2 连

2021-12-14 20:35:14 725

原创 LeetCode20——有效的括号(python)

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。2、左括号必须以正确的顺序闭合。解法1思路:将程序中的“()”、“[]”、“{}“三种括号用” “代替,即空字符,如果最后剩下为空集,则确定为有效,非空集即为无效。首先我们要知道怎么使用replace函数:str.replace(old, new[, max])old – 将被替换的子字符串。new – 新字符串,用于替换old子字符

2021-12-14 16:00:09 1111

原创 MATLAB学习笔记(六)——数据可视化

文章目录7.1 二维图形7.1.1 直角坐标系绘图1.plot()函数2.plotyy()函数3.对函数自适应采样的绘图函数fplot()4.含选项的绘图软件7.1.2 其他坐标系绘图1.极坐标绘图2.对数坐标系绘图7.1.3 二维特殊图形绘制函数1.bar函数2.hist函数3.pie函数4.fill函数5.stairs函数6.stem函数7.compass函数7.2 绘图的辅助7.2.1图形备注1.图形标题2.坐标轴标签3.文本说明4.图例7.2.2 坐标控制7.2.3 图形保持7.2.4 图形窗口分隔

2021-11-27 19:30:47 1597

原创 数据库学习笔记(2)——关系模式

文章目录2.1 关系数据结构及形式化定义2.1.1 关系2.1.2 关系模式2.1.3 关系数据库2.1.4 关系模型的存储结构2.2 关系操作2.2.1 基本的关系操作2.2.2 关系数据语言的分类2.3 关系的完整性2.4 关系代数2.4.1 传统的集合运算2.4.2 专门的关系运算2.1 关系数据结构及形式化定义2.1.1 关系关系模型是建立在集合代数的基础上的,这里从集合论的角度给出关系数据结构的形式化定义。1.域域是一组具有相同数据类型的集合2.笛卡尔积笛卡尔积是域上的一种集合运算。

2021-11-27 09:59:13 3977

原创 数据库学习笔记(1)——绪论

文章目录文章概述1.1 数据库系统概述1.1.1 数据库的4个基本概念1.2 数据模型1.2.1 两类数据模型1.2.2 概念模型1.2.3 数据模型的组成要素1.2.4 常用的数据模型1.2.5 层次模型1.2.6 网状模型1.2.7 关系模型1.3 数据库系统结构1.3.1 数据库系统模式的概念1.3.2 数据库系统的三级模式结构1.3.3 数据库的二级映像功能与数据独立性1.4 数据库系统的组成文章概述本人将记录数据库的相关知识与遇到的问题,供他人查阅及自己查漏补缺。本人使用的教材是《数据库概论》

2021-11-27 09:51:39 245

原创 LeetCode14——最长公共前缀(python)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。本题解法参考了leetcode解题区大神,代码如下def longestCommonPrefix(strs): res = "" for tmp in zip(*strs): tmp_set = set(tmp) if len(tmp_set) == 1: res += tmp[0] else: break

2021-11-20 20:04:30 126

原创 LeetCode13——罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大

2021-11-16 20:32:43 55

原创 LeetCode9——回文数(python)

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ str_x = str(x) if str_

2021-11-15 21:25:08 705

原创 LeetCode7——整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围[−2^31 , 2^31−1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。...

2021-11-14 20:29:26 82

原创 MATLAB学习笔记(五)——文件操作

文章目录文章概述一 函数文件的调用二 对MAT文件的操作1.在Matlab中读写Mat文件(1)save函数(2)load函数2.MAT文件操作实例文章概述MATLAB具有强大的数据处理功能,经常需要从外部文件读取数据或者将数据写到外部文件。它不仅可以处理专有的文件格式(.mat,.m)还可以处理txt文件,word和excel文件。一 函数文件的调用注意:函数文件名与函数名应该一致当函数文件与命令文件在同一个目录时,可以直接调用。当函数文件与命令文件不在同一个目录时:addpath('dir

2021-11-14 15:47:54 709

原创 简单的Python项目——可视化数据入门(关键词:matplotlib,pyolot,pygal)

文章目录笔记补充一 绘制简单的折线图1.修改标签文字与线条粗细2.校正图形3.使用scatter()绘制散点图并设置其样式4.使用scatter()绘制一系列点5.自动计算数据6.删除数据点的轮廓7.自定义颜色8.使用颜色映射9.自动保存图表二 随机漫步1.创建RandomWalk()类2.选择方向3.绘制随机漫步图4.模拟多次随机漫步5.设计随机漫步图的样式6.给点着色7.重新绘制起点与终点8.隐藏坐标轴9.增加点数10.调整尺寸以适合屏幕三 使用Pygal模拟掷骰子1.创建Die类2.掷骰子3.分析结果

2021-11-13 13:36:27 772

原创 MATLAB学习笔记(四)——程序设计

文章目录文章概述一 输入与输出语句1.输入语句2.输出语句二 脚本文件三 函数文件1.函数文件的创立2.参数控制3.全局变量与局部变量四 程序结构1.顺序结构2.选择结构(1) if语句a.if语句b.if-elsec.if-elseif-elsed.嵌套的if-else语句(2) switch语句(3) try-catch语句(4) MATLAB中的is函数a.isletterb.isemptyc.iskeyword3.循环结构(1) for循环(2) while循环五 控制语句1.结束循环2.终止循环3

2021-11-10 10:59:25 1321 1

原创 LeetCode1——两数之和(python)

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。...

2021-11-09 21:53:33 57

原创 简单的Python项目——《外星人入侵》(关键词:pygame,类,函数,编组,图像)

文章目录运行代码及详细注解ship类alien类bullet类button类game_stats类scoreboard类settings类函数模块game_function主程序alien_invasion运行截图笔记补充运行代码及详细注解ship类import pygamefrom pygame.sprite import Spriteclass Ship(Sprite): def __init__(self, ai_settings, screen): # 第二个参数指定了将飞船

2021-11-09 21:09:47 5352 1

原创 Python学习笔记(十)——测试代码

编写函数或类时,还可为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。测试让你信心满满,深信即便有更多的人使用你的程序,它也能正确地工作。在程序中添加新代码时,你也可以对其进行测试,确认它们不会破坏程序既有的行为。程序员都会犯错,因此每个程序员都必须经常测试其代码,在用户发现问题前找出它们。一 测试函数1.单元测试和测试用例Python 标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例是一组单元测试,这些单元测试一起核实函数在各种情

2021-11-04 20:13:33 320

原创 Python学习笔记(九)——文件与异常

Python的文件操作与C语言中的文件操作很多地方都极为相似,比如各个实参的定义。对于文件使用的步骤。在文件操作前应先打开文件,同时注意及时关闭文件。一 从文件中读取数据1.读取整个文件创建一个txt文件1.txt3.141592653589793238462643383279下面的程序将打开并读取这个文件,将其显示在屏幕上;with open('1.txt') as file_object: contents = file_object.read() print(conten

2021-11-01 21:07:30 367

原创 Python学习笔记(八)——类

在学习类前,我们需要知道什么时面向对象编程:1、面向对象编程(oop)是一种程序设计思想。oop把对象作为程序的基本单元,一个对象包含数据和操作数据的函数2、在python中,所有数据类型都被视为对象,也可以自定义对象。自定义对象数据类型就是面向对象中类的概念需要学习的部分:1、类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例2、方法:类中定义的函数3、类变量(属性):类变量在整个实例化的对象中是公用的。类变量定义在类中且在

2021-11-01 20:11:24 482

原创 Python学习笔记(七)——函数

与C语言,C++一样,Python中函数也是非常重要的一部分。对于一项操作,我们有时不需要一遍遍反复编写执行代码,我们只要调用一个函数就够了。一 定义函数def great_user(): """"打一个简单的招呼""" print("Hello")great_user()Python中的关键字def会告诉我们需要编写一个函数了。这就是函数定义,还肯再括号内指出函数为完成其任务所需要的信息。在def 函数名后面:缩进的部分构成了函数体,三个引号是文档字符串的注释描述函数的作用。

2021-10-30 11:15:09 176

空空如也

空空如也

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

TA关注的人

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