
刷题
文章平均质量分 65
Mia~~
坚持本身就很有意义,不是吗?
展开
-
刷题:算法—排序
排序原创 2022-03-30 20:56:15 · 158 阅读 · 0 评论 -
刷题:算法—动态规划
动态规划原创 2022-03-24 22:12:13 · 397 阅读 · 0 评论 -
刷题:算法—分治
分治原创 2022-03-23 22:42:56 · 533 阅读 · 0 评论 -
刷题:散列表—哈希表
哈希表原创 2022-03-19 16:09:34 · 190 阅读 · 0 评论 -
刷题:算法—搜索
原创 2022-03-15 22:36:37 · 347 阅读 · 0 评论 -
刷题:技巧—双指针
双指针原创 2022-03-14 16:00:12 · 606 阅读 · 0 评论 -
刷题:从宏观角度看递归函数
**不用在头脑中模拟递归函数的调用**宏观角度——“三步走”1.明确递归函数的意义(传什么参数?返回什么结果?完成什么操作?);2.充分相信这个递归函数;3.将注意力集中在当前位置(节点)上,关注在当前位置的操作及边界条件。例题一、二叉树的最大深度1.以树的根节点为输入,计算该树的最大深度;2.充分相信这个递归函数;3.当前位置节点操作:先得到左右子树的最大深度,再计算当前节点的最大深度边界条件:遇到空树时,返回空树的深度为0.class Solution {原创 2022-03-13 20:46:17 · 689 阅读 · 0 评论 -
刷题:最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。思路:在线处理:每输入一个数据就进行即时处理,在任何一个地方中止输入,算法都可以给出当前的解。import numpyclass Solution: def maxSubArray(self, nums: List[int]) -> int: ThisSum ,MaxSum = 0,0 N = len(原创 2022-03-05 20:51:48 · 92 阅读 · 0 评论 -
刷题:技巧-位运算
二进制的三种表示形式:原码、反码、补码二进制转化为十进制:从左起第一个数字开始 2的零次方+2的1次方......原码:即二进制表示,最高位是符号位,0代表正数,1代表负数,在位运算中符号位也参与运算。反码:正数的反码就是其原码本身,负数的反码是符号位不变,其余位取反,也就是0变1,1变0.补码:正数的补码仍是原码,负数的补码是反码+1。计算机内部使用补码表示。二进制的计算按位非操作~~1 = 0~0 = 1~把num的补码中0和1全部取反,有符号整数的符号位在~运算中同原创 2022-02-28 11:12:53 · 374 阅读 · 0 评论 -
刷题:树形结构—树
树的定义与相关概念1.树与链表和图的关系单链表:一个数据域+一个指针域树:一个数据域+多个指针域,多了层次性图:顶点集+边树:无环连通图2.树的定义树是N(N>=0)个节点的有限集合。N等于0时为空树,N>0时应满足:1)有且仅有一个特定的称为根的节点;2)N>1时,其余节点可分为m(m>0)个互不相交的有限集合。其中,每一个有限集合自身又是一棵树。3.树的相关概念1)根节点:非空树处于最上层的唯一节点,其余节点都是它的子孙后代;2原创 2022-02-27 09:49:31 · 414 阅读 · 0 评论 -
刷题:线性结构—字符串
定义:子串:字符串中任意个连续字符组成的子序列称为该字符串的子串;并且有两种特殊的子串,其一为前缀,即起始于位置0,长度为k的子串;其二为后缀,即终止于位置n-1,长度为k的子串。主串:包含子串的字符串对应称为主串。回文串:以字符串中点为轴,两边字符对称。字符串问题类型:1)字符串匹配问题2)子串相关问题3)前缀/后缀相关问题4)回文串相关问题5)子序列相关问题:可以不连续字符串的比较字符串之间的比较是通过组成字符串的字符之间的字符编码决定的,而字符编码指的是字符原创 2022-02-21 23:09:10 · 740 阅读 · 0 评论 -
刷题:线性结构—栈
栈(stack)一种后进先出的线性表数据结构,是一种只允许在表的一端进行插入和删除操作的线性表。栈顶(top):允许插入和删除的一端;栈底(bottom):不允许插入和删除的一端;空栈:表内没有任何数据。插入操作:入栈或进栈;删除操作:出栈或退栈线性表:栈中元素具有前驱后继的线性关系,最后进入的元素称为栈顶。后进先出:每次删除操作都会删除栈顶元素,最先进行插入操作的元素一定在栈底。栈的存储方式:顺序栈(数组-list);链式栈(单链表)栈的基本操作1)初始化空栈:创建一个空栈原创 2022-02-19 15:36:25 · 701 阅读 · 0 评论 -
刷题:线性结构—链表
目录单链表插入元素删除元素创建单列表双链表循环链表例题移除链表元素旋转链表单链表class ListNode: def __init__(self,val=0,next=None): self.val = val self.next = nextval = 这一个节点对应的值next = 这个节点指向的下一个节点带头结点的单链表,val没有意义,实现形式:head = ListNode()hea原创 2022-02-17 16:20:02 · 575 阅读 · 0 评论 -
刷题:线性结构—数组
例题:1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。思路:先确定第一个数字,第二个数字从第一个数字后面依次取得,得到两个数字之和与目标数字比较,直到相等才输出两个数字的下标。class Solution: def twoSum(self, nums: List...原创 2022-02-15 11:14:20 · 465 阅读 · 0 评论