给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。   示例1: 输入:root=[2,1,3] 输出:true 示例2: 输入:root=[5,1,4,null,null,3,6] 输出:false 解释:根节点的值是5,但是右子节点的值是4。   提示: 树中节点数目范围在[1,104] 内 -231...

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过1」的二叉树。   示例1: 输入:nums=[-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9]也将被视为正确答案: 示例2: 输入:nums=[1,3] 输出:[3,1] 解释:[1,null,3]和[3,1]都是高度平衡二叉搜索树。   提...

请你设计并实现一个满足  LRU(最近最少使用)缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(intcapacity) 以 正整数 作为容量 capacity 初始化LRU缓存 intget(intkey) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 voidput(intkey,intvalue) 如果关键字 key 已经存在,则变更其数据值 val...

  L2jbKj3EiIPy   2023年12月23日   14   0   0 ci数据结构缓存ci数据结构缓存

给你一个二叉树的根节点 root ,检查它是否轴对称。   示例1: 输入:root=[1,2,2,3,4,4,3] 输出:true 示例2: 输入:root=[1,2,2,null,3,null,3] 输出:false   提示: 树中节点数目在范围 [1,1000] 内 -100<=Node.val<=100 classSolution{ publicbooleanisSymmetric(TreeNoderoot){ if(rootnull){ returntrue; } //...

给你一个二叉树的根节点 root ,检查它是否轴对称。   示例1: 输入:root=[1,2,2,3,4,4,3] 输出:true 示例2: 输入:root=[1,2,2,null,3,null,3] 输出:false   提示: 树中节点数目在范围 [1,1000] 内 -100<=Node.val<=100 classSolution{ publicbooleanisSymmetric(TreeNoderoot){ if(rootnull){ returntrue; } returncmp(ro...

  L2jbKj3EiIPy   2023年12月22日   16   0   0 二叉树二叉树

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。   示例1: 输入:head=[4,2,1,3] 输出:[1,2,3,4] 示例2: 输入:head=[-1,5,3,4,0] 输出:[-1,0,3,4,5] 示例3: 输入:head=[] 输出:[]   提示: 链表中节点的数目在范围 [0,5104] 内 -105 <=Node.val<=105 classSolution{ publicListNodesortList(...

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。   示例1: 输入:head=[4,2,1,3] 输出:[1,2,3,4] 示例2: 输入:head=[-1,5,3,4,0] 输出:[-1,0,3,4,5] 示例3: 输入:head=[] 输出:[]   提示: 链表中节点的数目在范围 [0,5104] 内 -105 <=Node.val<=105 / Definitionforsingly-linkedlist. publ...

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。   示例1: 输入:head=[1,2,3,4] 输出:[2,1,4,3] 示例2: 输入:head=[] 输出:[] 示例3: 输入:head=[1] 输出:[1]   提示: 链表中节点的数目在范围 [0,100] 内 0<=Node.val<=100 / Definitionforsingly-linkedlist. publicclassListNode{ intval; ListN...

  L2jbKj3EiIPy   2023年12月10日   12   0   0 链表链表

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。   示例1: classSolution{ publicListNoderemoveNthFromEnd(ListNodehead,intn){ ListNodedummy=newListNode(0,head); intlength=getLength(head); ListNodecur=dummy; for(inti=1;i<lengthn+1;i){ cur=cur.next; } cur.next=cur.next.next; ListNodeans=dummy.next; r...

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m+n,其...

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 ,则返回 true 。否则,返回 false 。   示例1: 输入:head=[3,2,0,-4],pos=1 输出:true 解...

  L2jbKj3EiIPy   2023年12月07日   36   0   0 链表链表

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。   示例1: 输入:nums=[1,1,1],k=2 输出:2 示例2: 输入:nums=[1,2,3],k=3 输出:2   提示: 1<=nums.length<=2104 -1000<=nums[i]<=1000 -107<=k<=107 classSolution{ publicintsubarraySu...

  L2jbKj3EiIPy   2023年12月07日   10   0   0 子数组i++i++数组数组子数组

HTTP/3抛弃TCP后,基于UDP实现的可靠传输QUIC协议,带来了以下好处: 降低连接耗时:在客户端有缓存的情况下实现0-RTT建立连接 更灵活的拥塞控制:在用户态可以为每个请求配置不同的拥塞控制策略 无队头阻塞的多路复用:每个请求流独立拥有滑动窗口,互不影响 连接迁移:网络切换不会中断数据传输 今日算法题: 41.缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。   示例1: 输入:nums=[1,2,0]...

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。   示例1: ["eat","tea","tan","ate","nat","bat"] 示例2: [""] 示例3: ["a"] classSolution{ publicList<List<String>>groupAnagrams(String[]strs){ Map<String,List<String>>map=newHashMap<St...

源端口号和目标端口号是不可少的,如果没有这两个端口号,数据就不知道应该发给哪个应用。 接下来有包的序号,这个是为了解决包乱序的问题。 还有应该有的是确认号,目的是确认发出去对方是否有收到。如果没有收到就应该重新发送,直到送达,这个是为了解决丢包的问题。 接下来还有一些状态位。例如 SYN 是发起一个连接,ACK 是回复,RST 是重新连接,FIN 是结束连接等。TCP是面向连接的,因而双方要维护连接的状态,这些带状态位的包的发送,会引起双方的状态变更。 还有一个重要的就是窗口大小。TCP要做流量控制,通信双方各声明一个窗口(缓存大小),标识自己...

给定一个长度为n�的数列,请你求出数列中每个数的二进制表示中11的个数。 输入格式 第一行包含整数n�。 第二行包含n�个整数,表示整个数列。 输出格式 共一行,包含n�个整数,其中的第i�个数表示数列中的第i�个数的二进制表示中11的个数。 数据范围 1≤n≤1000001≤�≤100000,0≤数列中元素的值≤1090≤数列中元素的值≤109 输入样例: 5 12345 输出样例: 11212 importjava.util.Scanner; publicclassMain{ publicstaticvoidmain(String[]args){ Scannerscanner=...

  L2jbKj3EiIPy   2023年11月05日   36   0   0 Systemi++i++SystemJavaJava

假定有一个无限长的数轴,数轴上每个坐标上的数都是 00。 现在,我们首先进行 n� 次操作,每次操作将某一位置 x� 上的数加 c�。 接下来,进行 m� 次询问,每个询问包含两个整数 l� 和 r�,你需要求出在区间 [l,r][�,�] 之间的所有数的和。 输入格式 第一行包含两个整数 n� 和 m�。 接下来 n� 行,每行包含两个整数 x� 和 c�。 再接下来 m�&...

  L2jbKj3EiIPy   2023年11月05日   46   0   0 pair前缀和数组前缀和数组Pair

描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m...

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按...

  L2jbKj3EiIPy   2023年11月02日   48   0   0 i++i++数组数组

算法描述 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。   示例 1: 输入:nums=[2,3,1,1,4] 输出:true 解释:可以先跳1步,从下标0到达下标1,然后再从下标1跳3步到达最后一个下标。 示例 2: 输入:nums=[3,2,1,0,4] 输出:false 解释:无论怎样,总会到达下标为3的位置。但该下...

  L2jbKj3EiIPy   2023年11月02日   19   0   0 数组数组
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~