自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode119 杨辉三角②

在「杨辉三角」中,每个数是它左上方和右上方的数的和。,返回「杨辉三角」的第。

2024-06-19 23:16:37 220

原创 leetcode118 杨辉三角

在「杨辉三角」中,每个数是它左上方和右上方的数的和。生成「杨辉三角」的前 numRows。给定一个非负整数 numRows。

2024-06-18 23:18:06 217

原创 leetcode21 合并两个有序单链表

新链表是通过拼接给定的两个链表的所有节点组成的。之前都没想到用递归,就想的建一个新链表,用尾插法。将两个升序链表合并为一个新的。

2024-06-17 23:38:32 454

原创 leetcode67 二进制求和

以二进制字符串的形式返回它们的和。给你两个二进制字符串。

2024-06-16 23:18:56 370

原创 leetcode66 加一

直接累加后再取余,要考虑到超出int的表示范围,所以此处直接用数组存储。你可以假设除了整数 0 之外,这个整数不会以零开头。最高位数字存放在数组的首位, 数组中每个元素只存储。数组所表示的非负整数,在该数的基础上加一。输入数组表示数字 4321。输入数组表示数字 123。

2024-06-15 23:37:16 207

原创 leetcode14 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。

2024-06-14 23:35:21 488

原创 leetcode11 盛水最多的容器

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。如果使用双重for循环,运算会超时;改用双指针,但是两端指针不能同时移动,只移动短的那边。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2024-06-13 23:31:43 278

原创 leetcode12 整数转罗马数字

罗马数字是通过添加从最高到最低的小数位值的转换而形成的。3000 = MMM 由于 1000 (M) + 1000 (M) + 1000 (M)700 = DCC 由于 500 (D) + 100 (C) + 100 (C)注意:49 不是 50 (L) 减 1 (I) 因为转换是基于小数位。40 = XL 由于 50 (L) 减 10 (X)9 = IX 由于 10 (X) 减 1 (I)给定一个整数,将其转换为罗马数字。

2024-06-12 23:07:10 539

原创 leetcode13 罗马数字转整数

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。给定一个罗马数字,将其转换成整数。,即为两个并列的 1。

2024-06-11 23:36:55 403

原创 BM14 链表的奇偶重排

【代码】BM14 链表的奇偶重排。

2024-06-10 23:28:48 582

原创 BM2 链表内指定区间反转

【代码】BM2 链表内指定区间反转。

2024-06-09 22:22:31 297

原创 BM6 判断链表中是否有环

【代码】BM6 判断链表中是否有环。

2024-06-08 23:52:21 74

原创 BM5 合并k个已排序的链表

【代码】BM5 合并k个已排序的链表。

2024-06-07 21:47:32 66

原创 leetcode 9 回文数

从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。本题要求不将数字转化为字符串判断,那么就用对10取余的方法。从右向左读, 为 01。因此它不是一个回文数。是一个回文整数,返回。

2024-06-06 23:31:19 334

原创 leetcode8 字符串转整数

第 3 步:"1337c0d3"(读入 "1337";第 2 步:"1337c0d3"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"0-1" (当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 1 步:"1337c0d3"(当前没有读入字符,因为没有前导空格)第 1 步:"0-1" (当前没有读入字符,因为没有前导空格)第 1 步:"42"(当前没有读入字符,因为没有前导空格)

2024-06-05 23:47:04 507

原创 leetcode7 整数翻转

如果反转后整数超过 32 位的有符号整数的范围。给你一个 32 位的有符号整数。中的数字部分反转后的结果。

2024-06-04 23:31:49 361

原创 leetcode4 寻找两个正序数组的中位数

合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。合并数组 = [1,2,3] ,中位数 2。请你找出并返回这两个正序数组的。的正序(从小到大)数组。算法的时间复杂度应该为。

2024-06-03 23:20:20 284

原创 leetcode5 最长回文子串

给你一个字符串s,找到s中最长的 回文 子串。"bab""aba" 同样是符合题意的答案。

2024-06-02 17:09:47 438

原创 leetcode3 无重复字符的最长子串

给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。

2024-06-02 16:49:43 349

原创 leetcode1:两数之和

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-06-01 23:30:32 473

原创 BM46 最小的K个数

给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。数据范围:0≤k,n≤100000≤k,n≤10000,数组中每个数的大小0≤val≤10000≤val≤1000。要求:空间复杂度 O(n)O(n) ,时间复杂度 O(nlogk)O(nlogk)返回最小的4个数即可,返回[1,3,2,4]也可以。

2024-05-31 23:30:47 273

原创 前端vue搭建

1.找一个合适的模板,可以用vue-element-admin的模板,但是个人认为这个模板太大了,做小项目修改起来比较复杂,可以找一个比较小的项目 2.我找的项目git clone https://github.com/tuture-dev/vue-admin-template.git,这个下载需要先按照git。添加图片注释,不超过 140 字(可选)添加图片注释,不超过 140 字(可选)添加图片注释,不超过 140 字(可选)添加图片注释,不超过 140 字(可选)

2024-05-30 23:27:45 1190 2

原创 Django学习

打开项目的settings.py文件,将创建的app注册进去,一定记得添加逗号,不然后面数据迁移会报错。重启服务,在浏览器输入localhost:8000/admin可以看到如下页面。在api文件夹中新建serializers.py,并添加如下内容。添加完成后可以看到刚才添加的测试数据显示在下面。打开goods中的models.py创建模型。在views.py文件中添加如下内容。输入刚才注册的账号密码,可以添加数据。项目的urls.py中添加如下内容。urls.py中添加如下内容。

2024-05-29 22:17:45 1020

原创 NB55 牛的生长情况

在一个牧场中,有n头牛,每头牛的体重都在增长。给定一个整数数组weights,表示每天的牛的平均体重,返回一个数组growth,其中growth[i]是指对于第i天,下一个平均体重更高的是在几天后。如果在这之后平均体重都不会增长,请在该位置用-1来代替。最开始没读懂这个题目想表达什么意思,让文心一言帮忙解析了一下,虽然解析的有问题,但是大致理解了是什么意思。就是在数组i位置之后,找到第一个比i大的值的位置j,将j-i填入新的数组,没找到就填1。

2024-05-28 22:46:05 317

原创 swap交换函数

一般不建议使用,主要学习一下异或。今天学了一种新的方法。

2024-05-27 19:56:17 406

原创 NB33 牛群平均重量

在一个牧场中,有很多牛。为了方便管理,牧场主将牛的重量排列成一棵二叉树。现在牧场主想知道每层牛的平均重量。请按照从上到下的顺序,返回每层牛的平均重量。

2024-05-26 23:47:51 610

原创 NB65 第k轻的牛牛

在农场里,农民们有一群牛,每头牛的体重不同。农民们将所有牛的体重记录在一个数组中。现在农民们想要知道,如果将这些牛的体重从小到大排序,那么第k小的体重是多少。请你编写一个程序,找出数组中第k小的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。没啥技术含量,学个java里面的排序函数吧。

2024-05-25 22:57:35 630

原创 NB60 草原上的牛群

在一片广阔的草原上,有一群牛正在享受美味的青草。我们可以用一个升序排列的数组 nums 表示这群牛的位置(用整数表示)。由于草原太大,相同位置可能有多头牛,但是牧人希望得知这片草原上不同位置上有多少个牛群。所以他需要你去计算这片草原上不同位置的牛群有多少,并将数组修改为只包含这些不同的位置,且顺序保持一致,然后返回草原上在不同位置的牛群的数量。感觉这道题就是考数组去重,java中数组去重没有python那么方便,一行就能搞定,以下是网上的一些方案。

2024-05-24 23:41:12 296

原创 NB49 牛群的秘密通信

在一个远离人类的世界中,有一群牛正在进行秘密通信。它们使用一种特殊的括号组合作为加密通信的形式。每一组加密信息均包括以下字符:'(','{','[',')','}',']'。编写一个函数,给定一个字符串 s,判断这群牛的加密通信是否有效。

2024-05-23 22:59:18 394

原创 二叉树翻转

将二叉树看成一个只有左右子树的最小二叉树,那么翻转这个二叉树就是将左右子树对换;然后再分别将左右子树当成一个完整的二叉树重复上述步骤。,请左右翻转这棵二叉树,并返回其根节点。给定一棵二叉树的根节点。

2024-05-22 22:21:02 352

原创 二分查找法-I

给定一个 元素升序的、无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标从 0 开始),否则返回 -1。数据范围:0≤len(nums)≤2×1050≤len(nums)≤2×105 , 数组中任意值满足 ∣val∣≤109∣val∣≤109。进阶:时间复杂度 O(log⁡n)O(logn) ,空间复杂度 O(1)O(1)13 出现在nums中并且下标为 6。2 不存在nums中因此返回 -1。nums为空,返回-1。

2024-05-21 22:53:04 584

原创 删除有序链表中重复的元素-II

数据范围:链表长度 0≤n≤100000≤n≤10000,链表中的值满足 ∣val∣≤1000∣val∣≤1000。给出的链表为1→2→3→3→4→4→51→2→3→3→4→4→5, 返回1→2→51→2→5.给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。给出的链表为1→1→1→2→31→1→1→2→3, 返回2→32→3.要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)进阶:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)

2024-05-20 21:55:43 360

原创 删除有序链表中重复的元素-I

数据范围:链表长度满足 0≤n≤1000≤n≤100,链表中任意节点的值满足 ∣val∣≤100∣val∣≤100。删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次。给出的链表为1→1→2→3→31→1→2→3→3,返回1→2→31→2→3.进阶:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)给出的链表为1→1→21→1→2,返回1→21→2.

2024-05-20 21:30:48 292

原创 两个单链表相加

注意最后一次有进位,但是已经没有结点的情况,此时要比最长的链表长1。例如:链表 1 为 9->3->7,链表 2 为 6->3,最后生成新的结果链表为 1->0->0->0。数据范围:0≤n,m≤10000000≤n,m≤1000000,链表任意值 0≤val≤90≤val≤9。假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)给定两个这种链表,请生成代表两个整数相加值的结果链表。

2024-05-19 23:14:40 452

原创 单链表的排序

单链表的排序

2024-05-18 23:25:48 60

原创 判断一个链表是否是回环链表

【代码】判断一个链表是否是回环链表。

2024-05-17 23:32:06 162

原创 两个链表的第一个公共结点

输入分为是3段,第一段是第一个链表的非公共部分,第二段是第二个链表的非公共部分,第三段是第一个链表和第二个链表的公共部分。输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。p走root1,q走root2,假设root1比root2长,q先走到末尾,然后q再指向root1,同理当p走到末尾的时候,p在指向root2,大概就是下图的意思。第一个参数{1,2,3}代表是第一个链表非公共部分,第二个参数{4,5}代表是第二个链表非公共部分,最后的{6,7}表示的是2个链表的公共部分。

2024-05-16 21:53:51 310

原创 链表中倒数最后k个结点

其中蓝色部分为该链表的最后2个结点,所以返回倒数第2个结点(也即结点值为4的结点)即可,系统会打印后面所有的节点来比较。数据范围:0≤n≤1050≤n≤105,0≤ai≤1090≤ai​≤109,0≤k≤1090≤k≤109。输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)进阶:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)快指针先走k步,剩余z-k步到链表尾,就是慢指针需要走的步数。

2024-05-16 21:36:46 365

原创 合并两个有序单链表(java)

数据范围: 0≤n≤10000≤n≤1000,−1000≤节点值≤1000−1000≤节点值≤1000。输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)

2024-05-15 23:01:12 320

原创 翻转链表(java)

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。创建一个空结点,每次从链表中取出一个结点,往前插入。数据范围: 0≤n≤10000≤n≤1000。如当输入链表{1,2,3}时,

2024-05-15 21:06:03 446

空空如也

空空如也

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

TA关注的人

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