自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络编程学习

ipconfig。

2024-05-06 11:30:14 1474

原创 c++面对对象高级开发

【代码】c++面对对象高级开发。

2024-04-18 11:09:36 131

原创 c++11新特性

修饰类,表示被修饰的类不能够继承;修饰虚函数,表示虚函数不能被重写。

2024-04-17 14:36:03 595

原创 刷题 16 前缀和

前缀和通常可以用来求子数组的数组和或是乘数总和这类的题。

2024-02-29 17:03:42 823 1

原创 刷题14 动态规划

数组的每个下标作为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](下标从0开始)。每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。15最低花费是从 cost[1] 开始,然后走两步即可到阶梯顶,一共花费 15。某公司每日销售额记于整数数组sales,请返回所有一或多天销售额总和的最大值。要求实现时间复杂度为O(n)的算法。6。

2024-02-25 16:40:16 326

原创 刷题15 滑动窗口

给你一个整数数组nums和一个整数k,请你返回子数组内所有元素的乘积严格小于k的连续子数组的数目。88 个乘积小于 100 的子数组分别为:[10]、[5]、[2],、[6]、[10,5]、[5,2]、[2,6]、[5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于 100 的子数组。滑动窗口给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是 "abc",所以其长度为 3。滑动窗口+哈希表。

2024-02-25 16:39:44 912

原创 刷题13 数组

整数的num是按照从左到右的顺序表示其数字的数组。例如,对于num = 1321,数组形式是[1,3,2,1]。给定num,整数的,和整数k,返回整数num + k的。[1,2,3,4]

2024-02-09 11:06:05 989

原创 代码随想录-背包问题

dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。

2024-02-06 15:08:01 1022

原创 刷题12 排序

给你一个非空数组,返回此数组中。如果不存在,则返回数组中最大的数。[3, 2, 1]1第三大的数是 1。

2024-02-03 23:15:07 882

原创 刷题11 双指针

给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2子数组 [4,3]1。

2024-02-03 16:02:09 936

原创 代码随想录-动态规划专题

有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i]。,求解将哪些物品装入背包里物品价值总和最大。

2024-02-02 21:15:26 397

原创 刷题05数组mid

例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。动态规划: dp[i][j] 表示从数组的 [0,i] 下标范围内选取若干个正整数(可以是 0个),是否存在一种选取方案使得被选取的正整数的和等于 j。另一种优化写法:用滚动数组进行表示,dp[i]表示子序列能够到达的大于等于target的和,当dp[target]==target时,说明存在子序列之和正好为taget。如果选取 nums[i],则 dp[i][j]=dp[i−1][j−nums[i]]

2024-02-01 20:33:17 829

原创 刷题10

给你一个长度为n的字符串moves,该字符串仅由字符'L''R'和'_'组成。字符串表示你在一条原点为0的数轴上的若干次移动。移动n次之后,请你找出可以到达的距离原点的点,并返回。3可以到达的距离原点 0 最远的点是 -3 ,移动的序列为 "LLRLLLR"。给你长度相等的两个字符串s1和s2。一次操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。如果对执行就可以使两个字符串相等,返回true;否则,返回false。true。

2024-01-29 12:54:44 863

原创 刷题09 双指针

给你两个整数数组nums1和nums2,它们已经按非降序排序,请你返回两个数组的。如果两个数组nums1和nums2没有公共整数,请你返回-1。如果一个整数在两个数组中都,那么这个整数是数组nums1和nums2的。2两个数组的最小公共元素是 2 ,所以我们返回 2。暴力循环会超时,用两个指针进行寻找下标。给你一个下标从开始的整数数组nums。现定义两个数字的是由这两个数值串联起来形成的新数字。例如,15和49的串联是1549。nums的最初等于0。执行下述操作直到nums变为空:如果nums。

2024-01-28 11:15:57 1276

原创 刷题08 位运算easy

给你两个二进制字符串a和b,以二进制字符串的形式返回它们的和。"100""10101"给你一个整数n,请你判断该整数是否是 2 的幂次方。如果是,返回true;否则,返回false。如果存在一个整数x使得n == 2x,则认为n是 2 的幂次方。n = 16true24 = 16注意负数的情况,如果幂是偶数次方就返回false。注意循环的终止条件是n>1,若是n>0的话,最后都会返回false给定一个包含[0, n]中n个数的数组nums,找出[0, n]这个范围内没有出现在数组中的那个数。2。

2024-01-27 12:03:12 944

原创 刷题06 数组mid

给你一个非负整数数组nums和一个整数target。向数组中的每个整数前添加'+'或'-',然后串联起所有整数,可以构造一个例如,,可以在2之前添加'+',在1之前添加'-',然后串联起来得到表达式"+2-1"。返回可以通过上述方法构造的、运算结果等于target的不同的数目。5此题涉及回溯,函数参数需要包含数组下标,当前的数组之和。

2024-01-26 11:57:23 734

原创 代码随想录-贪心专题

贪心算法一般分为如下四步:1、将问题分解为若干个子问题2、找出适合的贪心策略3、求解每一个子问题的最优解4、将局部最优解堆叠成全局最优解。

2024-01-26 11:55:22 457

原创 代码随想录day24

组合问题,如果想让回溯法高效一些,可以加一些剪枝的操作。回溯法,一般可以解决如下几种问题:1、组合问题:N个数里面按一定规则找出k个数的集合2、切割问题:一个字符串按一定规则有几种切割方式3、子集问题:一个N个数的集合里有多少符合条件的子集4、排列问题:N个数按一定规则全排列,有几种排列方式5、棋盘问题:N皇后,解数独等等组合问题。

2024-01-25 20:00:40 1441

原创 刷题07 字符串easy

给你一个二进制字符串s。如果字符串中由1组成的连续子字符串由0组成的连续子字符串,返回true;否则,返回false。1203注意,如果字符串中不存在0,此时认为由0组成的最长连续子字符串的长度是0。字符串中不存在1的情况也适用此规则。

2024-01-25 13:29:44 1418

原创 代码随想录day24

如果想让回溯法高效一些,可以加一些剪枝的操作。回溯法,一般可以解决如下几种问题:1、组合问题:N个数里面按一定规则找出k个数的集合2、切割问题:一个字符串按一定规则有几种切割方式3、子集问题:一个N个数的集合里有多少符合条件的子集4、排列问题:N个数按一定规则全排列,有几种排列方式5、棋盘问题:N皇后,解数独等等。

2024-01-19 16:34:39 420

原创 代码随想录day23

给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。寻找符合条件的左右节点,并将符合条件的左右节点接入左右子树。

2024-01-18 23:13:03 336

原创 代码随想录day22

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。从上往下遍历,找到的第一个大于p,小于q的节点就是二者的最近的公共祖先。

2024-01-17 14:29:06 356

原创 代码随想录day21

给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。

2024-01-17 00:20:50 317

原创 刷题04 字符串mid

记录一些和字符数组有关的题目之前代码随想录day08里面有一些涉及翻转字符串的操作可以一起回顾。

2024-01-15 23:50:13 928

原创 代码随想录day20

给定一个不含重复元素的整数数组。通过给定的数组构建最大二叉树,并且输出这个树的根节点。构造树一般采用的是前序遍历,每次找数组的最大值,因为先构造中间节点,然后递归构造左子树和右子树。由于每次都构造一个新数组,优化后,无需构造新数组,直接传入左右数组的下标。

2024-01-15 15:33:04 375 1

原创 代码随想录day18

给定一个二叉树,在树的最后一行找到最左边的值。

2024-01-13 18:34:04 358 1

原创 代码随想录day17

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]返回true前置知识:(1)可以从上到下去查 所以需要前序遍历(中左右)(2)只能从下到上去查,所以只能后序遍历(左右中)根基的定义:左右子树之差不超过1,因此需要求每个节点的左右子树的,求高度应使用后序遍历,而判断时用,先判断当前节点是否满足条件,再判断左右子树是否也满足条件。

2024-01-12 20:55:15 385 1

原创 代码随想录day16

题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例: 给定二叉树 [3,9,20,null,null,15,7],做这道题之前需要先搞清楚高度与深度。,所以本题中我们通过后序求的根节点高度来求的二叉树最大深度。还可用用先序来求二叉树的深度,但是会麻烦很多,主要是左右子树都递归会重复。后序遍历:也可以认为是深度优先遍历迭代法:也可以理解为广度优先遍历,求最大深度也就是求层数。

2024-01-11 21:39:38 431 1

原创 刷题03 数组mid

使用哈希表,找出两个字符串数组中只出现过一次的公共字符串。map中记录者字符串以及字符串出席的频次。然后在数组查找,字符串相等且频次均为1的字符串即可。

2024-01-11 16:42:39 914 1

原创 代码随想录day15

需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。:把每一个节点的左右孩子翻转一下,就可以达到整体翻转的效果。(2)左不为空,右为空,不对称 return false左右都为空,对称,返回true。题目:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。(即逐层地,从左到右访问所有节点)。(3)左右都不为空,比较节点数值,不相同就return false。(1)左节点空,右节点不为空,不对称,return false。

2024-01-10 17:54:50 341 1

原创 代码随想录day14

梳理关于二叉树的一些知识。

2024-01-09 22:08:00 359 1

原创 刷题02 数组easy

如果整个数组非递减,返回true,如果只有两个子数列非递减,并且两个子序列之间是有序的,返回true。先找到第一个不满足非递减的位置i,如果i==numsize,说明整个数组非递减。否则,就判断另一个子数组是否是非递减的,若不是,返回false,若是,则判断两个子数组之间是否有序,只需要判断nums[0]与nums[numsize-1]的大小。nums[0]是第一个子数组的最小值,nums[numsize-1]是第二个子数组的最大值。

2024-01-08 23:16:02 897 1

原创 代码随想录day13

题目:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。

2024-01-08 18:14:33 356 1

原创 代码随想录day11

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。若遇到左括号就直接入栈,若遇到右括号,若栈为空就匹配失败,若不为空就弹出栈顶,进行匹配, 最后栈空时则匹配成功。

2024-01-06 11:23:42 398 1

原创 刷题01 数组easy

这里刷题的顺序是随机的,按标题进行筛选 ,比如今天刷的是数组有关的easy题。

2024-01-05 21:19:49 790 1

原创 代码随想录day10

用两个栈来实现队列,一个输入栈,一个输出栈,需要注意的是弹出操作,只有当输出栈为空时,才会一次性把输入栈中的元素都压入输入栈,否则直接取输出栈的元素。

2024-01-05 14:38:41 321 3

原创 代码随想录day09

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2示例 2: 输入: haystack = "aaaaa", needle = "bba" 输出: -1此题为字符串匹配问题。

2024-01-04 12:08:27 433 1

原创 代码随想录day08

题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。比较简单的反转操作。

2024-01-03 23:16:28 447 1

原创 代码随想录day07

题目:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500。所有整数的范围在 -2^28 到 2^28 - 1 之间,最终结果不会超过 2^31 - 1。此题使用的是哈希表法,首先定义 一个map,用于存放a和b两数之和,value 放a和b两数之和出现的次数。

2024-01-02 23:37:22 363

原创 代码随想录day06

题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1: 输入: s = "anagram", t = "nagaram" 输出: true示例 2: 输入: s = "rat", t = "car" 输出: false你可以假设字符串只包含小写字母。

2023-12-31 20:57:43 885 1

空空如也

空空如也

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

TA关注的人

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