leetCode刷题笔记
文章目录
- 1. 把两个有序链表整合成一个新的有序列表
- 2. 两数之和
- 3. 有效括号的字符串
1. 把两个有序链表整合成一个新的有序列表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
package com.example.demo.main.Domain;
import lombok.Data;@Data
public class CommonNode<V> {public V value;public CommonNode next;
}
package com.example.demo.main.algor;
import com.example.demo.main.Domain.CommonNode;public class MergeTwoNodeTest {/*** 题目:将两个有序的链表,整合出一个有序的链表,从小到大*/public static void main(String[] args) {CommonNode commonNode1 = new CommonNode<Integer>();commonNode1.setValue(1);CommonNode commonNode2 = new CommonNode<Integer>();commonNode2.setValue(3);commonNode1.setNext(commonNode2);CommonNode commonNode3 = new CommonNode<Integer>();commonNode3.setValue(2);CommonNode commonNode4 = new CommonNode<Integer>();commonNode4.setValue(4);commonNode3.setNext(commonNode4);CommonNode mergeNode = mergeTwoNodeList(commonNode1, commonNode3);while (mergeNode != null) {System.out.println(mergeNode.getValue());mergeNode = mergeNode.getNext();}}/*** 将两个有序的链表,整合出一个有序的链表,从小到大*/private static CommonNode mergeTwoNodeList(CommonNode commonNode1, CommonNode commonNode2) {CommonNode headNode = new CommonNode();headNode.setValue(-1);CommonNode preNode = headNode;while (commonNode1 != null && commonNode2 != null) {if ((Integer)commonNode1.getValue() < (Integer)commonNode2.getValue()){preNode.setNext(commonNode1);commonNode1 = commonNode1.getNext();} else {preNode.setNext(commonNode2);commonNode2 = commonNode2.getNext();}preNode = preNode.getNext();}if (commonNode1 == null) {preNode.setNext(commonNode2);} else {preNode.setNext(commonNode1);}return headNode.getNext();}
}
2. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。每种输入只会对应一个答案。但是,数组中同一个元素在答案里不会重复出现。
可以按任意顺序返回答案。
class Solution {public int[] twoSum(int[] nums, int target) {//Map<Integer, Integer> map = new HashMap<>();Map<Integer,Integer>map =new HashMap<>();for(int i = 0; i< nums.length; i++) {if(map.containsKey(target - nums[i])) {return new int[] {map.get(target-nums[i]),i};}map.put(nums[i], i);}return new int[0];}
}
3. 有效括号的字符串
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
示例 4:
输入:s = “([)]”
输出:false
class Solution {public boolean isValid(String s) {int n = s.length();if (n % 2 == 1) {return false;}Map<Character, Character> pairs = new HashMap<Character, Character>() {{put(')', '(');put(']', '[');put('}', '{');}};Deque<Character> stack = new LinkedList<Character>();for (int i = 0; i < n; i++) {char ch = s.charAt(i);if (pairs.containsKey(ch)) {//栈顶元素不是当前元素的左括号if (stack.isEmpty() || stack.peek() != pairs.get(ch)) {return false;}//栈顶元素是当前元素的左括号,出栈stack.pop();} else {//入栈stack.push(ch);}}return stack.isEmpty();}
}
相关文章:
leetCode刷题笔记
文章目录1. 把两个有序链表整合成一个新的有序列表2. 两数之和3. 有效括号的字符串1. 把两个有序链表整合成一个新的有序列表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 package com.example.demo.main.Domain; impo…...
数学小课堂:数学和哲学的互动关系(自洽的哲学思想受益于数学思维)
文章目录 引言I 数学是“有底”的学问(止于公理)II 数学对哲学的影响2.1 哲学思想受益于数学思维2.2 笛卡尔的贡献2.3 莱布尼茨的哲学思想III 哲学对数学的影响引言 数学和科学各个分支之间在方法上却具有相通性和普适性,这些通用的方法常常让很多学科同时受益,依靠数学逻…...
大聪明教你学Java | 带你了解 Redis 的三种集群模式
前言 🍊作者简介: 不肯过江东丶,一个来自二线城市的程序员,致力于用“猥琐”办法解决繁琐问题,让复杂的问题变得通俗易懂。 🍊支持作者: 点赞👍、关注💖、留言Ǵ…...
Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)
编译时异常:在编译阶段,必须要手动处理,否则代码报错(提醒程序员检查本地信息) 运行时异常:在编译阶段是不需要处理的,是代码运行时出现的异常(代码出错而导致程序出现的问题&#…...
液氮恒温器概述
恒温器是直接或间接控制一个或多个热源和冷源来维持所要求的温度的一种装置。 恒温器要实现这种功能,就必须具有一个敏感元件和一个转换器,敏感元件量度出温度的变化,并对转换器产生所需的作用。转换器把来自敏感元件的作用转换成对改变温度…...
Shiro核心——Realm
RealmRealm的作用Realm的实现Realm的配置实例在Shiro中,Realm是一个非常灵活和强大的安全组件,它能够与各种数据源进行集成,满足各种安全需求。通过实现自定义的Realm,我们可以轻松地定制身份验证、授权和加密逻辑,实现…...
开发钉钉微应用,实现免登+调试
1.创建h5微应用 https://open.dingtalk.com/document/orgapp/develop-org-h5-micro-applications 根据里面的三个步骤,创建h5微应用 2.免登之前必须要先进行JSAPI的授权 文档说明: https://open.dingtalk.com/document/orgapp/jsapi-authentication 根据文档中的说明 步骤…...
0308java基础-注解,反射
一,注解 1.什么是注解: Annotation是从jdk5.0开始引入的新技术作用: 不是程序本身,可以对程序作出解释可以被其他程序读取格式: 以注释名在代码中存在,还可以添加一些参数值SuppressWarnings(value"…...
【鸿蒙应用ArkTS开发系列】- 页面跳转及传参
先看下效果图 大致实现的功能点: 从Indext页面跳转到Second页面,传递两个参数,一个字符串,一个数量;Second获取Index页面传递的数据;Second页面点击返回弹窗;Second页面返回携带参数数据&#…...
StringBuilder 类
Java StringBuilder类是一个可变字符串缓冲区,它提供了丰富的方法可以方便地进行字符串操作。与Java StringBuffer类类似,Java StringBuilder类的主要作用是优化字符串的拼接操作,提高代码的效率。在本篇文章中,我们将详细介绍Jav…...
kubectl-k8s用户切换
kubernetes默认使用$HOME/.kube/config配置文件。可以在配置文件中定义多个USER和Cluster的上下文。所以就有两种方式切换用户同一个config中,切换不同用户上下文切换不同的config配置文件同config切换不同用户上下文查看config文件kubeconfig config view查看当前上…...
【面试题】三道面试题让你掌握JavaScript中的执行上下文与作用域以及闭包
前言大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库大家好,笔者呢最近再回顾JavaScript知识时,又看到了JavaScript的一些较为常见的内容,仔细看了之后发现…...
计算机网络-- 应用层(day08)
计算机网络两种方式 网络应用程序运行再处于网络边缘的不同端系统上,通过彼此间的通信来共同完成某项任务。 开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。 目前流行的主要有以下两种: 客户/服务器…...
English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一
English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一朗读节奏元音的长度元音发音在清辅音和浊辅音前的区别元音发音跟后面浊辅音节数的区别元音在重读音节中复习大小元音发音对比/ʌ/ 舌中音/ɒ/ 舌后音/ʊ/ 舌后音/ɪ/ 舌前音[ɑ:] VS […...
SpringBoot——统一功能处理
处理登陆拦截 上一片博客中讲到SpringAOP可以对页面进行拦截,我们可以用SpringAOP实现对登陆的拦截 但是由于拦截需要HttpSession对象,并且之后还需要页面重定向,因此在实际应用中,并不用SpringAOP进行登陆拦截,而是…...
ORACLE SQL格式化小数点
ORACLE SQL格式化小数点 select CONCAT(TO_CHAR(0.00100,‘990.999’),‘%’) as a0 , CONCAT(TO_CHAR(1100,‘990.999’),‘%’) as a1 , CONCAT(TO_CHAR(0.236100,‘990.999’),‘%’) as a2 , CONCAT(TO_CHAR(0.0200100,‘990.999’),‘%’) as a3 , CONCAT(TO_CHAR(1.0310…...
【信息学奥数】—— 第一部分 C++语言 知识总结
【信息学奥数】—— 第一部分 C语言 知识总结C语言一、C语言入门二、顺序结构程序设计运算符和表达式常量和变量标准数据类型数据输入输出三、控制结构程序设计if语句switch语句四、循环结构程序设计for语句while语句do-while语句五、数组一维数组二维数组字符数组六、函数七、…...
video层级过高,以及界面使用多个video时,在安卓APP上同时播放的问题(uniapp)
1、video层级过高的问题 问题一: 我的界面由于是自定义导航栏,所以使用video时,上滑界面video会直在最上层,盖着 头部导航栏 解决方法:使用cover-view,自定义头部使用cover-view替换view 问题二:自定义…...
C++基础了解-14-C++ 字符串
C 字符串 一、C 风格字符串 C 风格的字符串起源于 C 语言,并在 C 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 RUNOOB …...
浅谈几种网络攻击及攻防原理
HTTP Flood攻击 https://zhuanlan.zhihu.com/p/337399808 HTTP Flood攻击是针对Web服务在第七层协议发起的攻击。第七层主要是应用层,是一些终端的应用,比如(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可…...
CC Switch模型测试架构演进:企业级AI服务质量保障深度解析
CC Switch模型测试架构演进:企业级AI服务质量保障深度解析 【免费下载链接】cc-switch A cross-platform desktop All-in-One assistant tool for Claude Code, Codex & Gemini CLI. 项目地址: https://gitcode.com/GitHub_Trending/cc/cc-switch 在AI驱…...
3大突破:开源工具VideoCaptioner如何让零门槛实现AI实时字幕效率提升300%
3大突破:开源工具VideoCaptioner如何让零门槛实现AI实时字幕效率提升300% 【免费下载链接】VideoCaptioner 🎬 卡卡字幕助手 | VideoCaptioner - 基于 LLM 的智能字幕助手,无需GPU一键高质量字幕视频合成!视频字幕生成、断句、校正…...
数电技术实战解析04:CMOS门电路设计与优化
1. CMOS反相器:数字世界的开关艺术 第一次拆解CMOS反相器时,我被它的精妙设计震撼到了——就像家里电灯的双控开关,只不过这个"开关"的尺寸只有头发丝的万分之一。这个由PMOS和NMOS管组成的经典结构,构成了所有数字电路…...
Livekit Server分布式部署实测:手把手教你用Redis搞定多节点,并说清楚它和云服务的根本区别
Livekit Server分布式架构深度实战:Redis多节点部署与云服务本质差异解析 从单机到分布式:突破性能瓶颈的关键抉择 当你的Livekit单机服务开始出现CPU占用率持续超过80%、TURN服务延迟明显增加、房间创建响应时间超过500ms等现象时,就到了必须…...
GeoScene Maps避坑指南:从图层闪烁到内存泄漏的7个常见问题解决方案
GeoScene Maps深度调试指南:7个生产环境典型问题解决方案 当你在凌晨三点被警报惊醒,发现线上地图服务出现大面积图层闪烁时,那种头皮发麻的感觉我太熟悉了。作为经历过数十个GeoScene Maps项目的老兵,我想分享那些官方文档不会告…...
BYD Battery Emulator:让电动汽车电池成为家庭储能的智能桥梁
BYD Battery Emulator:让电动汽车电池成为家庭储能的智能桥梁 【免费下载链接】BYD-Battery-Emulator-For-Gen24 This software enables EV battery packs to be used for stationary storage in combination with solar inverters. 项目地址: https://gitcode.co…...
嵌入式开发中C语言能力层级与核心技术解析
C语言在嵌入式开发中的能力层级解析1. C语言在嵌入式系统中的地位C语言作为嵌入式系统开发的核心语言,其重要性不言而喻。从微控制器编程到操作系统内核开发,C语言凭借其接近硬件的特性、高效的执行效率和丰富的生态系统,成为嵌入式开发领域不…...
Cardano节点高级功能探索:质押池、智能合约与治理的终极指南
Cardano节点高级功能探索:质押池、智能合约与治理的终极指南 【免费下载链接】cardano-node The core component that is used to participate in a Cardano decentralised blockchain. 项目地址: https://gitcode.com/gh_mirrors/ca/cardano-node Cardano节…...
CentOS7服务器流量飙升?别慌,用iftop+nload快速揪出‘吃流量’的进程
CentOS7服务器流量异常排查实战:iftop与nload组合拳 深夜的告警铃声突然响起,监控系统显示某台核心业务服务器的带宽使用率飙升至95%。作为运维人员,这种场景并不陌生——可能是业务量激增,也可能是恶意攻击,或是某个失…...
无人机飞控必看:MPU6050互补滤波实战对比测试(DMP vs Mahony)
MPU6050姿态解算实战:Mahony互补滤波与DMP深度对比 去年调试四轴飞行器时,我曾连续72小时盯着屏幕上的姿态角曲线发呆——为什么明明静止的飞控板,Roll角却以每小时5度的速度缓慢偏移?这个困扰无数开发者的经典问题,最…...
