自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 代码随想录算法训练营day43||1049. 最后一块石头的重量 II、494. 目标和、474.一和零

设置dp数组,dp[i][j]:由于1和0分别计数,所以将dp数组定义为2维。先计数数组中的0和1的个数,然后倒序遍历i和j将集合内的每一个小于m和n的值放入背包中。本题是将所有的石头重量之和求出并相除,得出两个相差最小的两个集合,并将石头填入小集合,再然后将总量减去小的部分得出大的部分,然后两者相减得出差值。该题有点难,由于负数加上正数得出目标值,可推出添加负号的元素的大小。然后看添加进入负数的值是否得能填满,若填满则可以得出方法数量。总结: 很难想到构成背包的前提。

2023-08-27 22:39:23 138

原创 代码随想录算法训练营day42|| 416. 分割等和子集

这题有点难,很难想出要让两个集合的和相等,那就是要使原来的集合之和能被2整除,将原来的数分为两个背包,将原来的集合放入背包,如果将背包填满,那就可以被分割子集。总结:背包问题有点难,本题很难想出要分割成两个包。

2023-08-27 09:22:25 173

原创 代码随想录算法训练营day41||343. 整数拆分、96.不同的二叉搜索树

判断多个节点能构成的二叉树的数量。根据卡特兰数可得递推公式h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)*h(0) (n≥2),(这个公式的。将整数拆分为多个数,并求出其乘积最大的值。将值从1到i/2遍历,并与前一个相乘,取最大的值。总结:第一题有些难,很难想出最大数的递推公式;是从h(0)=1开始的)

2023-08-27 09:14:01 145

原创 代码随想录算法训练营day39||62. 不同路径、63. 不同路径 ||

该题与上一题不一样的是出现了障碍物,但是初始化还是一样的,只是遇到障碍物就进行continue。该题先确认dp,这里的dp数组是方法的数量。每走一步都是前面的向下走的方法和向右走的和。总结:初始化有点难想。

2023-08-20 16:02:10 616

原创 代码随想录算法训练营day38||509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

对于该题,dp数组有点难想。

2023-08-18 21:04:55 107

原创 代码随想录算法训练营day37||738. 单调递增的数字以及贪心算法总结

对于贪心算法,有些题对于我来说有些难,但是总体还是将部分的规律带入整体当中去成立。在做题的过程中对于部分题我是有思路但是代码还是写不出,对于这一点是我代码能力还是太弱了,我应该在今后增强我的代码能力。该题是如果一个数的每一位都是单调递增的那就保留,如果不是,就找小于其最大的单调递增数。具体是应该前一位比后一位大那就将前一位减1,后面都变9。

2023-08-18 20:35:40 131

原创 代码随想录算法训练营day36|| 435. 无重叠区间、763.划分字母区间、56. 合并区间

首先遍历字符串,每个字母的最大长度,然后在遍历一次,已遍历的元素的长度最大值,若遍历的值到达最大长度的值,那就记录字符串长度,然后更新开始节点。这道题有点难,我是先按左边排序,如果右节点大于下一个的左节点,那就记录需要删除的区间个数,右节点取其中最小的,否者更新右节点。这道题比较简单,只需要将重合的部分更新为最大的值,然后加入新的数组。总结:第一题有点难以理解。

2023-08-16 21:59:55 44

原创 代码随想录算法训练营day35|| 860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球

如果收入为5元,那就记录5元钱的数量,如果收入10元,那就是看是否有5元,如果没有那就无法找零,如果收入为20元,那就看身上有一张10元和一张5元,或是有3张5元。先排序,再看有多少个重叠,如果没有重叠区域,那就可以用一箭射穿。先将其按身高降序排列,然后按照前面有多少人插入数组。

2023-08-16 21:38:55 79

原创 代码随想录算法训练营day34|| 1005.K次取反后最大化的数组和、134. 加油站、135. 分发糖果

排序后看k是否为单数、如果为单数,那就将最小的值再取负数一次、看加油站与消耗油量的差值之和,如果和小于0,那就是开不到。左边取一遍,右边取一遍,看哪个最大。

2023-08-14 20:57:10 64

原创 代码随想录算法训练营day32|| 122.买卖股票的最佳时机II、 55. 跳跃游戏、45.跳跃游戏II

该题求的是下一个的覆盖距离是否大于长度,若小于就记录步数。该题判断的是每次移动最大的长度是否覆盖数组的长度。该题是求股票盈利的总和。

2023-08-12 21:11:39 72

原创 代码随想录算法训练营day31||455.分发饼干 、376. 摆动序列 、53. 最大子序和

该题的难点在于要想清楚关于摆动序列的所有情况,如上下,平走等。该题应该想清楚何时该将count值刷新。该题就是用大的饼干尽量喂饱大的。总结:贪心算法有点难度。

2023-08-11 18:00:30 97

原创 代码随想录算法训练营day29||491.递增子序列 、46.全排列 、47.全排列 II

排列问题每次都要从头搜索,说以判断集合内是否包含将要被搜索的元素,若遍历到要被搜索的元素,那就跳过。此题相较于上一题的难点是在于去重,这里在于的是每一层的去重。该题的难点在于判断元素是否用过。总结:今天的有点难。

2023-08-09 19:36:51 66 1

原创 代码随想录算法训练营day28 || 93.复原IP地址 、 78.子集 、 90.子集II

该题的难点在于分割字符串以及判断字符串是否合法。由于每次分割后要加点,说以在分割后的回溯递归的值要加2。该题难点在于判断结束条件,只要内部的数组范围不大于给定数组,那就可以放入。该题在上一题有了去重的操作。

2023-08-08 15:46:39 98

原创 代码随想录算法训练营day27 || 39. 组合总和 、40.组合总和II 、 131.分割回文串

该题的最大难点就在于去重工作,由于多个重复的数会导致后面的数都是一样的,所以在前一个组合完后,后面重复的就跳过。该题最主要的难点就是每一个数可以重复使用,所以在判断每次回溯开始时的开始位置就应该为i,而不是为i+1。该题的难点在于分割字符串,分割的位置可以从首字母到后面的字符串,分割后就判断是否为回文字符串。

2023-08-07 22:02:36 49

原创 代码随想录算法训练营day25 || 216.组合总和III 、 17.电话号码的字母组合

采用回溯算法,在每次达到k时就记录并回溯。在做这题时,我没将count值放入递归中,导致每次递归count都归0。该题有些难,对于index这一项我不是很理解。总结:今天的有点难,主要是电话号码的映射。

2023-08-05 23:31:51 66 1

原创 代码随想录算法训练营day24 || 77. 组合

采用回溯算法,添加元素进入看数组是否达到k的长度,若达到则每次添加记录后再将其最后的元素删除。总结:回溯算法有点抽象,还需加深理解。

2023-08-04 17:52:12 102 1

原创 代码随想录算法训练营day16 || 104.二叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数

后序遍历将其全遍历一遍求节点数。递归写法(采用前序遍历)

2023-07-27 20:43:22 54 1

原创 代码随想录算法训练营day15 || 二叉树的层序遍历、 226.翻转二叉树 、101. 对称二叉树

该题采用后序遍历解决(一般判断子节点的题目都选用后序遍历),判断其左边的外部和右边的外部是否一样,采用递归完成。将一层的元素放入队列,并计算队列的长度,判断出队列的元素有多少,则该层的元素有多少。该题采用前序遍历或后续遍历,将根节点的左右孩子进行交换,然后进行递归。总结:递归还要进一步理解。

2023-07-26 20:56:42 62 1

原创 代码随想录算法训练营day14||二叉树的遍历

总结:迭代写法还需进一步理解,加强印象。

2023-07-25 17:59:21 66

原创 代码随想录算法训练营day11|leetcode 20. 有效的括号、1047. 删除字符串中的所有相邻重复项 、 150. 逆波兰表达式求值

这道题是将字符串里的数先匹配传入栈中,如果与栈中的元素相配,就删除栈中的元素,最后返回栈中剩下的元素。这道题的作法是将与左括号相匹配的括号放入栈中,再和右括号匹配,匹配不成功或最后栈不为空,那就失败。这道题是将字符串元素放入栈中,如果字符串中的元素是为算数符号那就将栈中的两个元素调出运算。总结:今天的题比较容易想到方法,但是代码实现有些困难,主要是一些方法调用不熟练。1047. 删除字符串中的所有相邻重复项。150. 逆波兰表达式求值。

2023-07-22 21:22:56 105

原创 代码随想录算法训练营day2|leetcode 977.有序数组的平方 、 209.长度最小的子数组、 59.螺旋矩阵II

这道题采用滑动窗口算法,先快指针向右移,并将值累加,如果值大于等于target就将左指针向右移,并记录长度,减去左指针的值。这道题是螺旋矩阵,创建一个i和j代表x轴和y轴,每次按顺时针自加。不过要注意边界条件。这道题可以先平方,再将其进行排序。总结:边界条件应该要捋清。209.长度最小的子数组。977.有序数组的平方。

2023-07-21 22:21:06 64 1

原创 代码随想录算法训练营day10|leetcode 232.用栈实现队列、225. 用队列实现栈

这道题是熟悉栈与队列的关系。队列是先进先出的,栈是后进先出的。这道题可以用两个栈来实现;将数第一个入栈,然后再出栈进入另一个栈。这道题可以用一个队列来实现,将第一个元素弹出再加入到尾部,再全部弹出。总结:对队列和栈不熟,许多的方法不知道。225. 用队列实现栈。232.用栈实现队列。

2023-07-21 22:03:52 133

原创 代码随想录算法训练营day8|leetcode 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格 、151.翻转字符串里的单词、 剑指Offer58-II.左旋转字符串

这道题的条件有些复杂,可以采用每次以2k的距离来移动下标,然后在定义两个指针使前k个元素翻转,也可以使用库函数,对于后面的,看剩余的与k的比较,如果长度小于k就右指针移动length翻转后面的。这道题我采用库函数去掉字符串的收尾空格,然后用split函数来以空格进行分割,最后在加空格拼装。将k后面的遍历加入新创建的stringbuilder类l函数,在将k前面的加入进去。总结:这几道题马马虎虎,还是对字符串掌握不熟练,没有很多灵感。很经典的一道题,就是使用双指针来进行移动交换的。541. 反转字符串II。

2023-07-20 17:06:49 85

原创 代码随想录算法训练营day6|leetcode242 有效的字母异位词 、 349 两个数组的交集、 202 快乐数 、 1 两数之和

这个我想了好久,我的想法是当遍历第1个数组时设定限制条件,每个元素的哈希值都不能大于1,遍历第二个数组时设定只有当前数组元素在哈希表中的值为1的才可以被录入哈希表,最后返回哈希表值为2的下标。这道题是老盆友了,今天用的是哈希map来解决的,通过hashmap的键值对将遍历过的值存储起来,在不断先前遍历的过程中,判断是否后面有值是可以相加为目标值,若没有,则将其存入hashmap中。第一要求出每个位的平方之和,第二要将其放入哈希表中,如果出现了无限循环,也就是哈希表中有值是大于1的就不是快乐数。

2023-07-17 23:01:20 55 1

原创 代码随想录算法训练营day4|leetcode24 、19、面试题 02.07、142

24. 两两交换链表中的节点对于这道题,我在写的时候总是报空指针和超时问题,后面才知道在进行节点交换时未保存前一个节点,导致前一个节点成为孤立的节点,无法被访问。

2023-07-15 22:57:11 88 1

原创 代码随想录算法训练营day3 | leetcode203 移除链表元素 、leetcode707 设计链表、leetcode 206 反转链表

移除链表元素这道题考的是有关于链表的基础操作,这道题对于我来说,难点就是head头结点等于要删除的值不知道如何处理,后来查阅资料就明白了应该把头结点向后面移,直到它不等于要删除的值。无虚拟头结点的写法有虚拟头结点的写法设计链表这道题考的是有关链表的设计和对于链表的理解。对于我来说这道题有两个难点:1是有关于链表的初始化不清楚;2是对于链表的下标和长度容易搞混以下是单链表写法。

2023-07-15 21:36:00 70 1

原创 代码随想录算法训练营day1|leetcode704 二分查找、leetcode27 移除元素

先创建快慢指针,快指针将后面与val不相同的值移到前面来,不断将前面已经遍历的值覆盖,这主要考察的是对数组的增删改查的掌握。二分查找是在一个递增的数组当中,通过左右指针确定中间值的下标,并将它的值与目标数值对比,若中间数值比目标值小,则左指针为中间值+1,若中间数值比目标值大,则右指针为中间值-1,以此类推得到目的的值。左闭右开写法是右边不包含在区间内,所以left<right(如果区间内left<=right,当left=right时,这出现[left,right),这显然不成立)

2023-07-12 13:55:57 704 1

原创 力扣704题:二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。链接:https://leetcode.cn/problems/binary-search。输入: nums = [-1,0,3,5,9,12], target = 9。输入: nums = [-1,0,3,5,9,12], target = 2。著作权归领扣网络所有。解释: 2 不存在 nums 中因此返回 -1。

2023-06-10 17:17:54 19

原创 计算机网络个人笔记3 数据链路层

数据链路层是计算机网络的低层,主要使用的信道是点对点信道和广播信道。

2023-04-19 16:17:20 370 1

原创 计算机网络个人笔记2 物理层

物理层所具有的特性机械特性电气特性功能特性过程特性。

2023-03-25 16:15:09 105

原创 计算机网络个人笔记1 概述

① 生活中网络分为电信网络、有线网络、计算机网络。电信网络:提供通话,传真等服务;有线网络:提供用户各种电视节目;计算机网络:用户能够在计算机之间进行数据文件的传输;20世纪90年代后,其中以Internet为代表的计算机网络得到飞速发展。②互联网与互连网互联网是Internet目前流行最广的,事实上的标准译名,是由数量及大的各种计算机网络连接起来的;但对于局部范围连接起来的计算机网络则称之为互连网。(意思是互联网包含互连网)互联网具有连通性和共享的特点。(共享是指资源的共享)③计算机网络。

2023-03-11 13:00:35 169 1

空空如也

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

TA关注的人

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