双指针练习

删除有序数组中的重复项

LeetCode地址:26. 删除有序数组中的重复项 - 力扣(LeetCode)

    public int removeDuplicates(int[] nums) {int p1=0,p2=1;while (p2<nums.length){if (nums[p1]==nums[p2]){p2++;}else {nums[++p1]=nums[p2++];}}return p1+1;}

删除有序链表中的重复项 

LeetCode地址:83. 删除排序链表中的重复元素 - 力扣(LeetCode)

    public ListNode deleteDuplicates(ListNode head) {if(head==null){return null;}ListNode slow = head;ListNode fast = head;while(fast!=null){if(fast.val!=slow.val){slow.next=fast;slow = slow.next;}fast = fast.next;    }slow.next = null;return head;}

删除链表的倒数第 N 个结点

LeetCode地址:19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode)

public ListNode removeNthFromEnd(ListNode head, int n) {ListNode node = new ListNode(-1);node.next = head;ListNode slow = node;ListNode fast = node;for(int i = 0;i < n;i++){fast = fast.next;}while(fast.next!=null){fast = fast.next;slow = slow.next;}slow.next = slow.next.next;return node.next;}

 相交链表

LeetCode:160. 相交链表 - 力扣(LeetCode)

public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode p1 = headA;ListNode p2 = headB;while(p1!=p2){if(p1==null){p1=headB;}else{p1=p1.next;}if(p2==null){p2=headA;}else{p2=p2.next;}}return p1;}
}

二分查找

LeetCode:704. 二分查找 - 力扣(LeetCode)

class Solution {public int search(int[] nums, int target) {int left=0,right=nums.length-1;int mid = (left+right)/2;while(left<=right){mid=(left+right)/2;if(target==nums[mid]){return mid;}else if(target>nums[mid]){left=mid+1;}else{right=mid-1;}}return -1;}
}

两数之和

Leetcode:167. 两数之和 II - 输入有序数组 - 力扣(LeetCode)

class Solution {public int[] twoSum(int[] numbers, int target) {int l=0,r=numbers.length-1;while(l<r){int res = numbers[l]+numbers[r];if(res == target){return new int[]{l+1,r+1};}else if(res > target){r--;}else{l++;}}return null;}
}

反转字符串

Leetcode:344. 反转字符串 - 力扣(LeetCode)

class Solution {public void reverseString(char[] s) {int l=0,r=s.length-1;while(l<r){char c = s[l];s[l++]=s[r];s[r--]=c;}}
}

验证回文串

Leetcode:125. 验证回文串 - 力扣(LeetCode)

    public boolean isPalindrome(String s) {char[] arr = s.toLowerCase().toCharArray();int l=0,r=arr.length-1;while(l<r){while (l<r&&!ischar(arr[l])){l++;}while (l<r&&!ischar(arr[r])){r--;}if (arr[l++]!=arr[r--]){return false;}}return true;}public boolean ischar(char c){return (c>='0'&&c<='9')||(c>='a'&&c<='z');}

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

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

相关文章

Java 基础-语法-运算符

Java 基础-语法-运算符 概述 种类举例作用算术运算符​​&#xff1a;加法-​&#xff1a;减法*​&#xff1a;乘法/​&#xff1a;除法%​&#xff1a;取模&#xff08;取余数&#xff09;用于执行基本的数学运算增量运算符​​&#xff1a;递增--​&#xff1a;递减用于递增…

复杂度(上卷)

前言 在正式进入今天的主题之前&#xff0c;我们不妨先来回顾一下初步学习数据结构后必须知道的概念。&#x1f3b6; 数据结构 数据结构是计算机存储、组织数据的方式&#xff0c;指相互间存在一种或多种特定关系的数据元素的集合。 &#xff08;没有一种单一的数据结构能够…

ServiceDesk Plus再次获得国际认可的粉象认证

我们又一次做到了&#xff01;ServiceDesk Plus 现已获得 CMDB 和发布部署过程的 PinkVERIFY™ &#xff08;粉象&#xff09;认证。 通过PinkVerify 认证&#xff0c;我们现在已经获得了七项核心 IT 服务管理实践&#xff1a; 1、事件管理 2、问题管理 3、变更管理 4、资产管…

探索 Electron:窗口菜单以及生命周期和对话框讲解

Electron是一个开源的桌面应用程序开发框架&#xff0c;它允许开发者使用Web技术&#xff08;如 HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序&#xff0c;它的出现极大地简化了桌面应用程序的开发流程&#xff0c;让更多的开发者能够利用已有的 Web 开发技能…

Python类与对象01

1、理解使用对象完成数据组织的思路 1.1类和对象的基本理解 理解类&#xff1a;从现实世界到编程世界 类由三个部分组成&#xff1a;类名、类的属性、类的方法。类的定义实际上是描述事物的一种方法&#xff0c;在现实世界中&#xff0c;事物都是有属性和行为的。通过类&…

【贪心算法题记录】134. 加油站

题目描述 题目&#x1f517; 初始答案 思路都在注释里&#xff0c;不够超出时间限制了。 class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {/* 首先出发站startIndex获得的汽油要大于前往下一站要消耗的汽油* …

JVM:类加载器

文章目录 一、什么是类加载器二、类加载器的应用场景三、类加载器的分类1、分类2、启动类加载器 四、双亲委派机制五、打破双亲委派机制六、JDK9之后的类加载器 一、什么是类加载器 类加载器&#xff08;ClassLoader&#xff09;是Java虚拟机提供给应用程序去实现获取类和接口…

休息时间c++

题目描述 小杨计划在某个时刻开始学习&#xff0c;并决定在学习k秒后开始休息。 小杨想知道自己开始休息的时刻是多少。 输入 前三行每行包含一个整数&#xff0c;分别表示小杨开始学习时刻的时h、分m、秒s(h&#xff0c;m&#xff0c;s的值符合1≤h≤12,0≤m≤59,0≤s≤59)…

Geoserver源码解读六 插件

系列文章目录 Geoserver源码解读一 环境搭建 Geoserver源码解读二 主入口 Geoserver源码解读三 GeoServerBasePage Geoserver源码解读四 REST服务 Geoserver源码解读五 Catalog Geoserver源码解读六 插件&#xff08;怎么在开发模式下使用&#xff09; 目录 系列文章目…

看番工具 -- oneAnime v1.2.5绿色版

软件简介 OneAnime是一款专为动漫爱好者设计的应用程序&#xff0c;它提供了一个庞大的动漫资源库&#xff0c;用户可以在这里找到各种类型的动漫&#xff0c;包括热门的、经典的、新番的等等。OneAnime的界面设计简洁明了&#xff0c;操作方便&#xff0c;用户可以轻松地搜索…

C++系列-Vector(一)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” Vector的介绍及使用 Vector的介绍 当vector构建的参数类型为char类型时&#xff0c;它是和string是极其类似的&#xff0c;但是二者之间也有不同&#xff0c;比如&#xff0c…

[C++] 模拟实现list(二)

标题&#xff1a;[C] 模拟实现list&#xff08;二&#xff09; 水墨不写bug 目录 &#xff08;一&#xff09;回顾 &#xff08;二&#xff09;迭代器类的封装设计 &#xff08;1&#xff09;成员函数简要分析 &#xff08;2&#xff09;const迭代器类的设计 &#xff08;…

二四、3d人脸构建

一、下载github项目3dmm_cnn-master https://github.com/anhttran/3dmm_cnn.git 一个使用深度神经网络从单个图像进行 3D 人脸建模的项目,端到端代码,可直接根据图像强度进行 3D 形状和纹理估计;使用回归的 3D 面部模型,从检测到的面部特征点估计头部姿势和表情。…

19185 01背包问题

解决这个问题的关键是使用动态规划的方法。我们可以创建一个二维数组dp[i][j]&#xff0c;其中i表示考虑前i件物品&#xff0c;j表示背包的容量。dp[i][j]的值表示在考虑前i件物品&#xff0c;且背包容量为j时能获得的最大价值。 ### 算法步骤 1. 初始化一个二维数组dp&#x…

机器学习(五) -- 监督学习(7) --SVM2

系列文章目录及链接 上篇&#xff1a;机器学习&#xff08;五&#xff09; -- 监督学习&#xff08;7&#xff09; --SVM1 下篇&#xff1a; 前言 tips&#xff1a;标题前有“***”的内容为补充内容&#xff0c;是给好奇心重的宝宝看的&#xff0c;可自行跳过。文章内容被“文…

ABAQUS大连正版代理商:亿达四方——开启东北工业智能仿真新篇章

在东北老工业基地的振兴道路上&#xff0c;大连以其独特的地理位置和深厚的产业基础&#xff0c;成为推动区域经济发展的领头羊。作为国际知名的仿真软件ABAQUS在大连地区的官方授权代理商&#xff0c;亿达四方正以科技创新为驱动&#xff0c;引领当地制造业迈向数字化、智能化…

SD卡讲解

SD 卡 (Secure Digital Memory Card) 在我们生活中已经非常普遍了&#xff0c;控制器对 SD 卡进行读写通信 操作一般有两种通信接口可选&#xff0c;一种是 SPI 接口&#xff0c;另外一种就是 SDIO 接口。SDIO 全称是安全数 字输入/输出接口&#xff0c;多媒体卡 (MMC)、SD 卡、…

stm32使用pwm和编码器模式(包含重映射)

Dri_TIM.c #include "Dri_TIM.h"/*** description: TIM4初始化&#xff0c;pwm模式* return {*}*/ void Dri_TIM4_Init() {/* 1. 开启时钟*//* 1.1 定时器4的时钟 */RCC->APB1ENR | RCC_APB1ENR_TIM4EN;/* 1.2 GPIO的时钟 PB */RCC->APB2ENR | RCC_APB2ENR_I…

【Python实战因果推断】30_双重差分1

目录 Panel Data 在讨论了干预效果异质性之后&#xff0c;是时候转换一下思路&#xff0c;回到平均干预效果上来了。在接下来的几章中&#xff0c;您将学习如何利用面板数据进行因果推断。 面板数据是一种跨时间重复观测的数据结构。在多个时间段观察同一单位&#xff0c;可以…

PyTorch中的CPU和GPU代码实现详解

PyTorch中的CPU和GPU PyTorch中的CPU和GPU代码实现详解1. 安装PyTorch2. 编写支持CPU和GPU的PyTorch代码2.1 模型定义2.2 数据加载2.3 将模型和数据移动到GPU2.4 训练循环 3. 关键步骤详解**3.1 定义设备****3.2 模型和数据移动到GPU****3.3 优化器和损失函数** 4. 完整代码示例…