当前位置: 首页 > news >正文

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 的三种集群模式

前言 &#x1f34a;作者简介&#xff1a; 不肯过江东丶&#xff0c;一个来自二线城市的程序员&#xff0c;致力于用“猥琐”办法解决繁琐问题&#xff0c;让复杂的问题变得通俗易懂。 &#x1f34a;支持作者&#xff1a; 点赞&#x1f44d;、关注&#x1f496;、留言&#x1f4…...

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)

编译时异常&#xff1a;在编译阶段&#xff0c;必须要手动处理&#xff0c;否则代码报错&#xff08;提醒程序员检查本地信息&#xff09; 运行时异常&#xff1a;在编译阶段是不需要处理的&#xff0c;是代码运行时出现的异常&#xff08;代码出错而导致程序出现的问题&#…...

液氮恒温器概述

恒温器是直接或间接控制一个或多个热源和冷源来维持所要求的温度的一种装置。 恒温器要实现这种功能&#xff0c;就必须具有一个敏感元件和一个转换器&#xff0c;敏感元件量度出温度的变化&#xff0c;并对转换器产生所需的作用。转换器把来自敏感元件的作用转换成对改变温度…...

Shiro核心——Realm

RealmRealm的作用Realm的实现Realm的配置实例在Shiro中&#xff0c;Realm是一个非常灵活和强大的安全组件&#xff0c;它能够与各种数据源进行集成&#xff0c;满足各种安全需求。通过实现自定义的Realm&#xff0c;我们可以轻松地定制身份验证、授权和加密逻辑&#xff0c;实现…...

开发钉钉微应用,实现免登+调试

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基础-注解,反射

一&#xff0c;注解 1.什么是注解&#xff1a; Annotation是从jdk5.0开始引入的新技术作用&#xff1a; 不是程序本身&#xff0c;可以对程序作出解释可以被其他程序读取格式&#xff1a; 以注释名在代码中存在&#xff0c;还可以添加一些参数值SuppressWarnings(value"…...

【鸿蒙应用ArkTS开发系列】- 页面跳转及传参

先看下效果图 大致实现的功能点&#xff1a; 从Indext页面跳转到Second页面&#xff0c;传递两个参数&#xff0c;一个字符串&#xff0c;一个数量&#xff1b;Second获取Index页面传递的数据&#xff1b;Second页面点击返回弹窗&#xff1b;Second页面返回携带参数数据&#…...

StringBuilder 类

Java StringBuilder类是一个可变字符串缓冲区&#xff0c;它提供了丰富的方法可以方便地进行字符串操作。与Java StringBuffer类类似&#xff0c;Java StringBuilder类的主要作用是优化字符串的拼接操作&#xff0c;提高代码的效率。在本篇文章中&#xff0c;我们将详细介绍Jav…...

kubectl-k8s用户切换

kubernetes默认使用$HOME/.kube/config配置文件。可以在配置文件中定义多个USER和Cluster的上下文。所以就有两种方式切换用户同一个config中&#xff0c;切换不同用户上下文切换不同的config配置文件同config切换不同用户上下文查看config文件kubeconfig config view查看当前上…...

【面试题】三道面试题让你掌握JavaScript中的执行上下文与作用域以及闭包

前言大厂面试题分享 面试题库前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库大家好&#xff0c;笔者呢最近再回顾JavaScript知识时&#xff0c;又看到了JavaScript的一些较为常见的内容&#xff0c;仔细看了之后发现…...

计算机网络-- 应用层(day08)

计算机网络两种方式 网络应用程序运行再处于网络边缘的不同端系统上&#xff0c;通过彼此间的通信来共同完成某项任务。 开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。 目前流行的主要有以下两种&#xff1a; 客户/服务器…...

English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一

English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一朗读节奏元音的长度元音发音在清辅音和浊辅音前的区别元音发音跟后面浊辅音节数的区别元音在重读音节中复习大小元音发音对比/ʌ/ 舌中音/ɒ/ 舌后音/ʊ/ 舌后音/ɪ/ 舌前音[ɑ:] VS […...

SpringBoot——统一功能处理

处理登陆拦截 上一片博客中讲到SpringAOP可以对页面进行拦截&#xff0c;我们可以用SpringAOP实现对登陆的拦截 但是由于拦截需要HttpSession对象&#xff0c;并且之后还需要页面重定向&#xff0c;因此在实际应用中&#xff0c;并不用SpringAOP进行登陆拦截&#xff0c;而是…...

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层级过高的问题 问题一&#xff1a; 我的界面由于是自定义导航栏&#xff0c;所以使用video时&#xff0c;上滑界面video会直在最上层&#xff0c;盖着 头部导航栏 解决方法&#xff1a;使用cover-view,自定义头部使用cover-view替换view 问题二&#xff1a;自定义…...

C++基础了解-14-C++ 字符串

C 字符串 一、C 风格字符串 C 风格的字符串起源于 C 语言&#xff0c;并在 C 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此&#xff0c;一个以 null 结尾的字符串&#xff0c;包含了组成字符串的字符。 下面的声明和初始化创建了一个 RUNOOB …...

浅谈几种网络攻击及攻防原理

HTTP Flood攻击 https://zhuanlan.zhihu.com/p/337399808 HTTP Flood攻击是针对Web服务在第七层协议发起的攻击。第七层主要是应用层&#xff0c;是一些终端的应用&#xff0c;比如&#xff08;各种文件下载&#xff09;、浏览器、QQ等&#xff0c;可以将其理解为在电脑屏幕上可…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...