- 博客(46)
- 收藏
- 关注
原创 动态分配(解决最优化问题)
将复杂的问题分解成多个简单的子问题,遍历问题的状态以及状态之间的关系,然后以递推的方式来解决问题。最优子结构、重叠子问题、无后效性。状态数与时间复杂度成线性关系。
2023-09-06 01:00:00
147
原创 Java入门基础知识
JDK是Java工具开发包,包含了JVM(程序运行环境),核心类库(直接应用即可),开发工具(Javac,java,jdb,jhat…)JRE是Java运行环境,包含了JVM,核心类库,运行工具JDK包含了JRE,JRE包含了jvm。
2023-09-05 13:57:33
234
原创 手撕双向链表
一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环鲜表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后商我们代码实现了就知道了。结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。其根本原因是此处双向链表存在头指针哨兵位,而上次的单链表没有。除了双向的区别,最大的不同在于此处传参是传的一级指针,而上次的。所以说还是有哨兵位的链表更好用。此处双向链表相对于上次写的。
2023-07-27 10:19:02
103
原创 python多态
多态是指同一个行为,不同对象获得不同状态。如,定义函数(方法),通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同的工作状态包含抽象方法的类,抽象方法是指(pass),没有具体实现的类。
2023-07-26 05:31:55
98
原创 环型链表oj
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。链接:https://leetcode.cn/problems/linked-list-cycle-ii。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。
2023-07-08 23:13:43
144
原创 封装与继承
将现实事物在类中描述成属性和方法的操作就是封装定义私有成员只需要在成员名的最前面加上两个下划线“__”就ok私有成员对于类对象不可引用,类中的其他成员可以访问私有成员。
2023-06-25 15:20:59
169
原创 python类中常用的魔术方法
构造方法也是魔术方法的一种,此方法我在python对象与类中已经展示过了注意:在方法中引用类成员变量一定要记得使用self关键字引用如果不使用该方法打印,那打印出来的只会是对象的地址Second__le__Third__eq__效果
2023-06-14 09:59:15
553
原创 python对象与类
类就是包含属性和行为的一种说法,在程序上的class即是类对象即是描述一个客观存在的事物,任何对象或事物都存在属性和行为这两大特征,所以“对像”可以指代世间万物面向对象编程就是,使用对象进行编程。即,设计类,基于类创建对象,并使用对象来完成具体的工作。
2023-06-12 11:24:11
1160
原创 python模块与包
1.如何自定义模块并导入?在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用2.i_main_变量的功能是?main”表示,只有当程序是直接执行的才会进入if内部,如果是被导入的,则if无法进入3.注意事项不同模块,同名的功能,如果都被导入,那么后导入的会覆盖先导入的模块中的_all_变量会控制模块导入时*代表的是哪些东西。
2023-05-01 11:30:49
1462
原创 python异常及其捕获
在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。所以异常也可以直接从最高层级捕获。不管出不出现异常都会做的事情。未出现异常时应做的事情。可能要发生异常的语句。
2023-04-30 21:45:03
1493
原创 python文件操作
line对象的内容是:[‘hello,jaky\n’, ‘你一定可以成为一个影响千万人的双语演说家\n’, ‘加油!打印内容一般这样f = open()把读取到的数据给一个文件对象。这里也有一个readline()函数,这它只读取一行。:第一次读取和第二次读取的位置不一样了,显然这里是。line对象的类型是:你一定可以成为一个影响千万人的双语演说家。读取5个字节:hello。读取全部字节:,jaky。
2023-04-22 22:10:19
81
原创 python自定义函数
def关键字name } , {age } , {name } , {age } , {name } , {age } , {name } , {age } , {name } , {age } , {name } , {age } , {name } , {age } , {直接定义再调用就OKlambda函数亦称匿名函数这是将函数名作为作为函数结果返回,有点像C中的定义一个宏的行为调用时直接向add传参即可。
2023-04-19 06:00:00
95
原创 Python入门
它是用{}去占位format函数去格式化,其中{:m.nf}中,m控制的是占位长度,n是保留小数位数f是float的缩写,(可以集成c,c++,java等语言的代码,通过接口和库函数将他们粘在一起,整合在一起)通过%来占位%m.nf中,m控制的是占位长度,n是保留小数位数,f是float的缩写。由于不限数据类型,也不控制精度,于是通过f型占位的数据基本上是原样输出。,如字符串、元组和一些数字类型,列表、字典和集合都是可变数据类型,一般在解释器的控制台上操作,例如在pycharm控制台上。
2023-04-17 15:31:44
100
原创 线性表之单链表
3、顺序表要求数据从开始位置连续存储那么我们在头部或者中间位置插入删除数据就需要挪动数据,效率不高。2、避免频繁扩容,我们满了基本都是扩2倍可能就会导致一定的空间浪费。1、空间不够了需要增容,增容是要付出代价的。针对顺序表的缺点于是有了链表。
2023-03-23 13:39:59
185
6
原创 数据结构OJ用例
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。链接:https://leetcode.cn/problems/remove-element。你不需要考虑数组中超出新长度后面的元素。
2023-02-26 19:17:21
188
1
原创 线性表之顺序表
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字务串…顺序表就是数组,但是再数组的基础上,它还要求数据是连续存储的,不能跳跃间隔。线性表 (inear ist)是n个具有相同特性的数据元素的。
2023-02-26 09:37:17
73
原创 算法的复杂度
1.算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。2.时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度(摩尔定律,每18个月半导体晶体管就会翻一倍)。所以我们如今已经不需要再特别关注一个算法的空间复杂度。
2023-02-17 14:35:06
303
4
原创 一些实用的函数和宏
assert 只在 DEBUG 下生效,在调试结束后,可以通过在 #include 语句之前插入 #define NDEBUG 来禁用 assert 调用。1.如果表达式值为假,那么它先向 stderr 打印错误信息,然后通过调用 abort 来终止程序运行。这个printf不能打印出空格,遇到空格和\0都会停止。显然它的原型定义在头文件中。2.如果表达式值为真,继续运行后面的程序。,可以将其看作是异常处理的高级形势。开始处检验传入的参数的合法性。
2023-02-01 05:00:00
101
3
原创 动态内存之柔性数组
3.包含柔性数组成员的结构用malloc()进行动态内存分配,并且分配内存应该大于结构的大小,以适应柔性数组的预期大小。最大的差别很明显就是柔性数组的方式只用了一次动态开辟而第二种方式用了两次,就这个区别对代码的影响就已经非常大了。另外柔性数组方式开辟的空间是连续的,这样内存碎片会更少,对于访问的时间会更少。2.sizeof返回结构内存的大小不包括柔性素组的内存。和第二种方法相比由于柔性数组只开辟了一次,更易于释放。1.结构中柔性数组成员前面必须至少有一个其他成员。
2023-01-18 15:43:08
104
6
原创 蓝桥之卡片
现在小蓝手里有 00 到 99 的卡片各 20212021 张,共 2021020210 张,请问小蓝可以从 11 拼到多少?小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。例如,当小蓝有 3030 张卡片,其中 00 到 99 各 33 张,则小蓝可以拼出 11 到 1010,但是拼 1111 时卡片 11 已经只有一张了,不够拼出 1111。小蓝有很多数字卡片,每张卡片上都是数字 00 到 99。小蓝想知道自己能从 11 拼到多少。
2023-01-07 20:52:40
117
原创 蓝桥-时间加法
现在时间是aa点bb分,请问tt分钟后,是几点几分?输入描述输入的第一行包含一个整数aa。第二行包含一个整数bb。第三行包含一个整数tt。其中,0 \leq a \leq 23, 0 \leq b \leq 59, 0 \leq t, t0≤a≤23,0≤b≤59,0≤t,t分钟后还是在当天。输出描述 输出第一行包含一个整数,表示结果是几点。第二行包含一个整数,表示结果是几分。#include <stdio.h>#include
2023-01-05 09:09:28
73
原创 蓝桥之字符统计
如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。, 请你输出其中出现次数最多的字符。给定一个只包含大写字母的字符串 S。
2023-01-04 21:45:40
79
原创 蓝桥之顺子日期
表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123;而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的。
2023-01-04 12:25:05
674
原创 蓝桥2021国赛--完全日期
例如:20212021 年 66 月 55 日的各位数字之和为 2 + 0 + 2 + 1 + 6 + 5 = 162+0+2+1+6+5=16,而 1616 是一个完全平方数,它是 44 的平方。所以 20212021 年 66 月 55 日是一个完全日期。例如:20212021 年 66 月 2323 日的各位数字之和为 2 + 0 + 2 + 1 + 6 + 2 + 3 = 162+0+2+1+6+2+3=16,是一个完全平方数。如果一个日期中年月日的各位数字之和是完全平方数,则称为一个完全日期。
2022-12-30 16:28:46
295
原创 简单的排序(冒泡排序)
我的易错点一:第二个for语句的第一条语句经常会写错成j=1;这样就会让前面已经排好的和后面的数据比较,并且会导致大的数据跑到前面去;每次都会忘记字符的比较直接相比就行不用使用单引号或双引号,ASCILL码的加减也可以直接使用。此处以字符数组的排序为例。
2022-12-20 21:23:07
60
原创 必记得简单程序
判断回文数寻找水仙花数判断完数打印乘法口诀表需要注意的是在用for语句处理数组是很容易导致堆栈溢出,因为c语言不会检查下标是否越界。
2022-12-06 10:29:46
157
原创 关于输入一段数据并判断大小值的问题
当我输入数据的时候才发现,如果不输入一个负数,直接回车结束他是结束不了的,如下图。用for语句的话就更麻烦一点所以选择while语句。一开始我并没有十分理解这个"其实当时的原题是这样““有啥意思有什么意义。
2022-11-09 17:16:18
121
原创 for语句的有关注意
要使用for语句的第一步是熟悉它的流程图第二注意循环变量定义的位置如图int value=1要放在和第二个for语句相同的代码块内。
2022-11-03 13:47:30
82
原创 关于vs清除缓存区的简单操作
vs识别不了#include fflush(stdin);具体原因不知,但是vc++6.0和devc可以。解决方案可以是取走需要内容后面的字符(需要明白输入函数的作用),或者是在需要的部分插入死循环,这里只介绍取走法。liru例如 1只取走一个字符‘\n'如图。编译运行显然是出错了,不让我输入第二次。例如2,取走所需字符后的所有字符。这样就实现了清空输入缓存区的目的了。
2022-10-24 21:21:28
2204
空空如也
请帮我看看哪里出了问题
2022-11-08
关于#c语言#的问题:可能有一些地方细节出了问题
2022-11-08
关于#c语言#的问题,请各位专家解答!
2022-10-30
关于#c++#的问题:vs2022如何实现清除输入缓存
2022-10-20
关于#c##的问题:vs编译时是不能以“输入+回车 +输入+回车”
2022-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人