- 2024-11-2111.21 打工
11.21打工copypropertiestry{if(StringUtils.isBlank(modelCode)){returnR.fail("modelCode不能为空");}ModelCenterresult=this.lambdaQuery().eq(ModelCenter::getModelCode,modelCode).on
- 2024-11-21【力扣热题100】[Java版] 刷题笔记-234. 回文链表
题目:234.回文链表给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。解题思路回文定义:是指正读和反读都相同的字符序列。将链表数据获取出来,再通过前后指针向中间遍历,数据一致,则是回文;如果不一致则不是回文。
- 2024-11-21Redis 的 Quicklist 技术竟然能让内存占用降低 50%!
《Redis的Quicklist技术竟然能让内存占用降低50%!》在当今的互联网时代,数据的存储和管理变得至关重要。Redis作为一款高性能的内存数据库,被广泛应用于各种场景中。而Redis的Quicklist技术更是为我们带来了惊喜,据说它能够让内存占用降低50%!那么,Quicklist究竟是何方神圣
- 2024-11-20C++ list (链表)容器
C++ list 链表#include<iostream>usingnamespacestd;#include<list>voidprintList(constlist<int>&L){ for(list<int>::const_iteratorit=L.begin();it!=L.end();it++) { cout<<*it<<"";
- 2024-11-20代码随想录:链表相交
代码随想录:链表相交像做数学题一样,要挖掘出表象下的实际条件。比如这道题,链表在一段时间后相交,其实含义是两者的尾部是相同的,所以只需要将尾部对齐即可。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListN
- 2024-11-20C语言:链表
链表是一种常见的线性数据结构,其中每个元素(称为节点)包含两部分:数据和指向下一个节点的指针。链表的主要优点是插入和删除操作的时间复杂度较低,但随机访问的效率不如数组。1.链表的基本概念节点(Node):链表的基本单元,包含数据和指向下一个节点的指针。头节点(Head):链表的第一个
- 2024-11-20力扣题目解析--合并k个升序链表
题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->
- 2024-11-20【数据结构】`unordered_map` 和 `unordered_set` 的底层原理
unordered_map和unordered_set是C++标准库中的两个容器,它们被广泛应用于需要快速查找的场景中。它们的查找、插入和删除的平均时间复杂度都是O(1),这也是它们的一个重要特性。本文将详细介绍unordered_map和unordered_set的底层原理,帮助计算机专业的小白理解什么是
- 2024-11-20LCR 022. 环形链表 II(中等)(主站142)
https://leetcode.cn/problems/c32eOV/https://leetcode.cn/problems/linked-list-cycle-ii/难度:☆☆☆题目:给定一个链表,返回链表开始入环的第一个节点。从链表的头节点开始沿着next指针进入环的第一个节点为环的入口节点。如果链表无环,则返回null。为了表示给定
- 2024-11-20LCR 021. 删除链表的倒数第 N 个结点(中等)(主站19)
https://leetcode.cn/problems/SLwz0R/https://leetcode.cn/problems/remove-nth-node-from-end-of-list/难度:☆☆☆题目:给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]输入:head=[1],n=1输出
- 2024-11-19代码随想录:删除链表的倒数第N个节点
代码随想录:删除链表的倒数第N个节点链表题目如果想找当前节点的前n个节点的话,用双指针法。另外务必用虚头节点。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*
- 2024-11-19代码随想录:两两交换链表中的节点
代码随想录:两两交换链表中的节点链表题目务必用虚头节点,很多问题会变简单很多/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(
- 2024-11-192024/11/18日 日志 数据结构实验(1)---链表逆置、线性表A,B顺序存储合并、双向循环链表应用、修改数组(蓝桥杯)
链表逆置题目:https://pintia.cn/problem-sets/1855808612225744896/exam/problems/type/6?problemSetProblemId=1855808768018968576解答:点击查看代码structListNode*reverse(structListNode*head){structListNode*prev=NULL;structListNode*current=head;
- 2024-11-1924. 两两交换链表中的节点
https://leetcode.cn/problems/swap-nodes-in-pairs/?envType=study-plan-v2&envId=top-100-liked对于我们正常交换单向链表的两个节点我们需要知道三个节点的信息,1.对于a->b->c,我们要交换a、b就要知道a、b、c三个节点,因为我们需要将a的next指向c,将b的next指向a,由于b->c这条
- 2024-11-19146. LRU 缓存
https://leetcode.cn/problems/lru-cache/description/?envType=study-plan-v2&envId=top-100-liked最近最久未使用,显然我们需要维护一个使用队列,最近使用过的在队尾,未使用过的靠近队首并且他要求函数get必须以O(1)的平均时间复杂度运行显然我们需要用到hashput必须以
- 2024-11-19常见链表类型
单向链表双向链表循环链表双向循环链表1.单向链表单向链表的每个节点只包含数据和指向下一个节点的指针。它只能从头到尾单向遍历。[数据|下一节点指针]->[数据|下一节点指针]->NULL 示例#include<stdio.h>#include<stdlib.h>structNode{intdata;st
- 2024-11-19LeetCode 1290[二进制链表转整数]
题目链接LeetCode1290[二进制链表转整数]详情实例提示题解思路遍历链表,获取链表的值添加到容器内在容器内遍历值,由高位到地位遍历,为权重,然后算值代码/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*
- 2024-11-19力扣刷题--027.回文链表
想放弃吗?,那当初为什么要开始?题目描述给定一个链表的头节点head,请判断其是否为回文链表。如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。示例1:输入:head=[1,2,3,3,2,1]输出:true示例2:输入:head=[1,2]输出:false思路分析如
- 2024-11-18代码随想录:移除链表元素
代码随想录:移除链表元素简单的链表操作,注意C++中在访问一个实体结构体时,用.来进行元素访问ListNodehead;head.val=10;head.next=nullptr;在访问一个指针变量时,用→来进行元素访问,如在本题中,题目给的head是一个指针,所以所有的变量访问都用→/***Definitionforsing
- 2024-11-18代码随想录:设计链表
代码随想录:设计链表这题遇到的问题是,在private中声明后,在构造函数中初始化的时候又声明了一次,大类的构造函数和结构体的构造函数弄晕掉了。另外虚头节点是真好用,以后记得用。一开始写成了这样:classMyLinkedList{public:structLinkNode{intvalue;
- 2024-11-18代码随想录算法训练营第四天|LC24.两两交换链表中的节点|LC19. 删除链表的倒数第 N 个结点|LC160. 相交链表|142. 环形链表 II
24.两两交换链表中的节点-力扣(LeetCode) 1、需要一个虚拟节点进行帮助; 2、注意虚拟节点的连接以及变化(尝试有点困惑它的变化,后面有点理解); 3、注意后续第二组的交换时如何与第一组交换进行连接;fromtypingimportOptionalclassLis
- 2024-11-18《 C++ 修炼全景指南:二十 》不止是链表升级!跳表的核心原理与超强性能解析
摘要这篇博客全面解析了跳表(SkipList)作为一种高效的链表数据结构的特性和应用。跳表以多层链表和随机化策略实现O(logn)的查找、插入和删除性能,简化了平衡树结构中常见的复杂旋转操作。通过剖析跳表的结构设计和核心操作,我们探讨了其在范围查询和动态更新中的优势,
- 2024-11-17Leetcode141-环形链表
思路链表判环方法:快慢指针法其实没那么高级,很简单的理解就是,采用两个指针,一个每次走两步,一个每次走一步,如果链表有环,那么每次走两步的指针,也就是走得快的指针一定会追上走得慢指针。代码第一种写法://写法1publicclassSolution{publicbooleanhasCycle(ListN
- 2024-11-17实习冲刺练习 第二十三天
每日一题回文链表.-力扣(LeetCode)classSolution{public:boolisPalindrome(ListNode*head){if(head==nullptr)returnfalse;vector<int>v;while(head!=nullptr){//将链表的值存入数组中v.push_back(head->val);
- 2024-11-17Java集合框架高频面试问题精粹(下篇)
书接上回,上一篇文章介绍了Java集合常见面试题全解(上),反响不错,也有很多同学发表了自己的观点,这次又来了,这次是Java集合常见面试题总结(下)了,主要讲解了Map集合原理,它的使用频率也是很高。那么它的存储结构和实现原理是怎么样的呢一、Collections工具类(不重要)Collections 工