万和-集训刷题1

leetcode 2 两数之和

class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode p1=l1;ListNode p2=l2;int next=0;ListNode head=new ListNode(-1);ListNode tail=head;while (p1!=null||p2!=null){int  n1=p1!=null?p1.val:0;int  n2=p2!=null?p2.val:0;int sum=n1+n2+next;//第一个节点的位置tail.next=new ListNode(sum%10);  //新建这个节点 节点的值和10进行取模tail=tail.next;next=sum/10;//p1和p2 如果不为空就往后进行移动if (p1!=null){p1=p1.next;}if(p2!=null){p2=p2.next;}}//如果结尾是大于0的 tail的下一个节点再新建一个即可。if (next > 0) {tail.next = new ListNode(next);}return head.next;}
}

删除倒数第k个节点,需要找到倒数第n+1个节点。
采用双指针的思想,第一个指针先移动k次,还剩下n-k次,第二个指针和第一个指针同时移动n- k次。 采用这样的思想找到倒数n+1个节点即可。

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {//  dummyListNode dummy=new ListNode(-1);dummy.next=head;ListNode x=findFormEnd(dummy,n+1);x.next=x.next.next; //跳过x的值,让x指向x的下一个return  dummy.next;}ListNode findFormEnd(ListNode head,int k){ListNode p1=head;for (int i = 0; i <k ; i++) {p1=p1.next;}ListNode p2=head;while (p1!=null){p1=p1.next;p2=p2.next;}return  p2;}
}

三数之和

class Solution {public List<List<Integer>> threeSum(int[] nums) {int n = nums.length;Arrays.sort(nums);List<List<Integer>> ans = new ArrayList<List<Integer>>();// 枚举 afor (int first = 0; first < n; ++first) {// 需要和上一次枚举的数不相同if (first > 0 && nums[first] == nums[first - 1]) {continue;}// c 对应的指针初始指向数组的最右端int third = n - 1;int target = -nums[first]; //target变为复活来  i+j+k等于0   i必然是小于0的// 枚举 bfor (int second = first + 1; second < n; ++second) {// 需要和上一次枚举的数不相同if (second > first + 1 && nums[second] == nums[second - 1]) {continue;}// 需要保证 b 的指针在 c 的指针的左侧while (second < third && nums[second] + nums[third] > target) {--third;}// 如果指针重合,随着 b 后续的增加// 就不会有满足 a+b+c=0 并且 b<c 的 c 了,可以退出循环if (second == third) {break;}if (nums[second] + nums[third] == target) {List<Integer> list = new ArrayList<Integer>();list.add(nums[first]);list.add(nums[second]);list.add(nums[third]);ans.add(list);}}}return ans;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8S 部署 EFK

安装说明 系统版本为 Centos7.9 内核版本为 6.3.5-1.el7 K8S版本为 v1.26.14 ES官网 开始安装 本次安装使用官方ECK方式部署 EFK&#xff0c;部署的是当前的最新版本。 在 Kubernetes 集群中部署 ECK 安装自定义资源 如果能打开这个网址的话直接用这个命令安装,打不开的话…

半导体制造企业 文件共享存储应用

用户背景&#xff1a;半导体设备&#xff08;上海&#xff09;股份有限公司是一家以中国为基地、面向全球的微观加工高端设备公司&#xff0c;为集成电路和泛半导体行业提供具竞争力的高端设备和高质量的服务。 挑战&#xff1a;芯片的行业在国内迅猛发展&#xff0c;用户在上海…

SpringBoot:SpringBoot统一响应和统一异常处理

一、前言 在开发Spring Boot应用时&#xff0c;处理响应结果和异常的方式对项目的可维护性、可扩展性和团队协作有着至关重要的影响。分散的响应结果和异常处理逻辑往往会导致代码冗余、难以理解和维护。因此&#xff0c;统一结果返回和统一异常处理是提升项目质量的关键策略之…

关于Java面向对象三大特征中多态的分析及出现类型转换异常ClassCastException,通过关键字instanceof解决的方法

多态 众所周知java的面向对象编程思想&#xff0c;有三大特征&#xff1a;封装、继承、多态。今天来研究一下多态&#xff0c;首先我们要知道多态的好处&#xff0c;为什么要学习多态 原始方式new的对象既能调用重写的&#xff0c;还能调用继承的、自己特有的成员。但缺点是扩…

科研绘图系列:R语言STAMP图(STAMP Plot)

介绍 STAMP图(STAMP plot)并非一个广泛认知的、具有特定名称的图表类型,而是可能指在STAMP(Statistical Analysis of Metagenomic Profiles:“STAMP: statistical analysis of taxonomic and functional profiles”)软件使用过程中生成的各种统计和可视化图表的总称。ST…

Ubuntu 24.04 上安装 Kubernetes,超级详细的教程!

Kubernetes 是一个免费的开源容器编排工具&#xff0c;它允许基于容器的应用程序的自动化部署、扩展和管理。 我们将介绍如何使用 Kubeadm 逐步在 Ubuntu 24.04 上安装 Kubernetes 此次演示中&#xff0c;我们将使用以下三个 Ubuntu 24.04 实例 Instance 1 : Master Node (k…

Studying-代码随想录训练营day30| 452.用最少数量的箭引爆气球、435.无重叠区间、763.划分字母区间

第30天&#xff0c;贪心part04&#xff0c;加油&#xff0c;编程语言&#xff1a;C 目录 452.用最少数量的箭引爆气球 435.无重叠区间 763.划分字母区间 总结 452.用最少数量的箭引爆气球 文档讲解&#xff1a;代码随想录用最少数量的箭引爆气球 视频讲解&#xff1a;手…

费马点猜想,求解,如何用java编写?

“费马点”是指位于三角形内且到三角形三个顶点距离之和最短的点。这个点与三角形三顶点连线构成的三个钝角都相等且为 120。注意&#xff0c;这不是“费马大定理”。 package com.ai157.aigc.controller.test; import javafx.application.Application; import javafx.scene.G…

一站式天气预报解决方案,API接口轻松接入

天气对我们的日常生活有着重要的影响&#xff0c;无论是出门旅行还是安排工作&#xff0c;都需要提前了解天气情况。WAPI平台提供了一站式天气预报解决方案&#xff0c;通过简单的API接口&#xff0c;轻松获取各类天气预报数据。 这个API接口提供了丰富的天气预报信息&#xf…

AI Agent技术的最新进展与改变世界的典型项目巡礼

AI Agent 探索 1. AI Agent 技术发展以及典型项目 1.0 前 AI Agent 时代 在学术探索的浩瀚星空中&#xff0c;机器人技术领域的璀璨明珠莫过于Agent技术的深入研究&#xff0c;这一领域历来是创新与突破的温床。回溯至大模型浪潮兴起之前&#xff0c;Agent技术的辉煌篇章便已…

7月强化|跟武忠祥,写严选题还是880题

严选题和武老师的高数强化讲义是一套的&#xff0c;做的时候可以很明显感觉到&#xff0c;严选题上面的题跟讲义也是对应上的。如果大家要选择严选题&#xff0c;那么建议搭配武忠祥老师的强化课和强化讲义一起使用。&#x1f60e; 我当时强化阶段也是跟武老师的强化课&#xf…

欧洲智慧能源展揭幕,海博思创闪耀登场展示储能创新

近日&#xff0c;备受瞩目的欧洲智慧能源展&#xff08;The Smarter E Europe&#xff09;盛大开幕&#xff0c;吸引了全球能源行业的目光。在这场国际性的盛会中&#xff0c;中国储能行业的领军企业海博思创凭借卓越的技术实力和创新的解决方案&#xff0c;成为展会上一颗耀眼…

AOP在业务中的简单使用

背景 业务组有一些给开发用的后门接口&#xff0c;为了做到调用溯源&#xff0c;业务组最近需要记录所有接口的访问记录&#xff0c;暂时只需要记录接口的响应结果&#xff0c;如果调用失败&#xff0c;则记录异常信息。由于后门接口较多以及只是业务组内部轻度使用&#xff0…

vim未找到命令,且yum install vim安装vim失败

vim未找到命令&#xff0c;且yum安装vim失败 1、wget更新yum云资源&#xff0c;本次更新为华为云镜像资源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repowget报未找到命令&#xff0c;请查看文章Linux wget…

黑马苍穹外卖技术亮点 详情

1.使用工厂模式和策略模式实现布隆过滤器解决缓存穿透问题 Bitmap Bitmap是一种数据结构&#xff0c;它使用位图来表示数据。在处理大量数据时&#xff0c;Bitmap可以通过将每个数据元素映射到一个位&#xff0c;然后使用位运算来对数据进行操作。 通过使用Bitmap&#xff0c…

C++期末整理

课堂笔记 构造与析构 #include <iosteam> #include <cstring> using namespace std;struct Date {int y, m, d;void setDate(int, int, int);Date(int yy, int mm, int dd) {y yy, m mm, d dd;} };class Student { private:char* name;Date birthday; public:…

视频号矩阵源码:构建短视频生态的基石

在数字化时代&#xff0c;视频内容已成为连接品牌与消费者的重要桥梁。视频号矩阵源码&#xff0c;作为短视频营销自动化的创新引擎&#xff0c;正在帮助内容创作者和营销团队以前所未有的效率和智能&#xff0c;管理和扩展他们的视频内容。本文将深入探讨视频号矩阵源码的核心…

RTL8211FSI PHY电路设计

文章目录 硬件设计引脚功能框图说明PHYADDRPageLED 模式自动协商/速度/全半双工模式Soft Reset上电顺序 原理图设计参考 软件控制&#xff08;FPGA&#xff09;硬件调试 硬件设计 引脚 笔者前代数字采集板采用的 PHY 芯片是博通 Boardcom 的 B50610&#xff0c;其仅支持 0 ∼…

leetcode 152. 乘积最大子数组「贪心」「动态规划」

152. 乘积最大子数组 题目描述&#xff1a; 给你一个整数数组nums&#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff0c;并返回该子数组所对应的乘积 思路1&#xff1a;贪心 由于 n u m s [ i ] nums[i] nums[i]都是整数&#xff0c;所以多乘一些数肯定不会让绝…

Java 方法中循环调用具有事务的方法

在Java中&#xff0c;循环调用一个具有事务的方法时&#xff0c;需要特别注意事务的边界和管理。通常&#xff0c;事务的边界是由框架&#xff08;如Spring&#xff09;来控制的&#xff0c;确保方法执行时数据的完整性和一致性。然而&#xff0c;在循环中调用事务方法时&#…