【Java】一只小菜坤的编程题之旅【4】

2023-10-22 11:52
文章标签 java 编程 一只 小菜

本文主要是介绍【Java】一只小菜坤的编程题之旅【4】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1丶合并两个有序链表
  • 2丶栈的压入、弹出序列
  • 3丶设计循环队列
  • 4丶最小栈


1丶合并两个有序链表

在这里插入图片描述

小菜坤的答案:

class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode newHead=new ListNode(0);ListNode tmp=newHead;while(list1!=null && list2!=null){if(list1.val<list2.val){tmp.next=list1;list1=list1.next;tmp=tmp.next;}else{tmp.next=list2;list2=list2.next;tmp=tmp.next;}}if(list1!=null){tmp.next=list1;}if(list2!=null){tmp.next=list2;}return newHead.next;}
}

2丶栈的压入、弹出序列

在这里插入图片描述

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param pushV int整型一维数组 * @param popV int整型一维数组 * @return bool布尔型*/public boolean IsPopOrder (int[] pushA, int[] popA) {if(pushA.length==0||popA.length==0){return false;}Stack<Integer> stack=new Stack<>();int j=0;for(int i=0;i<pushA.length;i++){stack.push(pushA[i]);while (j<popA.length&&!stack.empty()&&stack.peek()==popA[j]){stack.pop();j++;}}return  stack.empty();}
}

3丶设计循环队列

在这里插入图片描述

在这里插入图片描述

class MyCircularQueue {public  int[] elem;public  int front;//队头下标public  int rear;//队尾下标public MyCircularQueue(int k) {this.elem=new  int[k+1];}//入队public boolean enQueue(int value) {if(isFull()){return  false;}this.elem[rear]=value;rear=(rear+1) % elem.length;return  true;}//出队public boolean deQueue() {if (isEmpty()){return  false;}front=(front+1)%elem.length;return  true;}//获取队头元素public int Front() {if (isEmpty()){return  -1;}return  elem[front];}//获取队尾元素public int Rear() {if (isEmpty()){return  -1;}int index=(rear==0)?elem.length-1:rear-1;return  elem[index];}public boolean isEmpty() {return  rear==front;}public boolean isFull() {return (rear+1) % elem.length==front;}
}/*** Your MyCircularQueue object will be instantiated and called as such:* MyCircularQueue obj = new MyCircularQueue(k);* boolean param_1 = obj.enQueue(value);* boolean param_2 = obj.deQueue();* int param_3 = obj.Front();* int param_4 = obj.Rear();* boolean param_5 = obj.isEmpty();* boolean param_6 = obj.isFull();*/

4丶最小栈

在这里插入图片描述

import java.util.Stack;class MinStack {private Stack<Integer> s;  //普通栈private Stack<Integer> minStack;//维护当前栈的最小值public MinStack() {s =new Stack<>();minStack=new Stack<>();}/*入栈*/public void push(int val) {s.push(val);if(minStack.empty()){minStack.push(val);}else{int peekV=minStack.peek();if(val<=peekV){minStack.push(val);}}}/*出栈*/public void pop() {if(!s.empty()){int popV=s.pop();int peekVMins=minStack.peek();if(popV==peekVMins){minStack.pop();}}}/*获取栈顶元素,但是不删除*/public int top() {if(!s.empty()){return  s.peek();}return  -1;}//获取最小栈的栈顶元素public int getMin() {if(!minStack.empty()){return minStack.peek();}return  -1;}
}/*** Your MinStack object will be instantiated and called as such:* MinStack obj = new MinStack();* obj.push(val);* obj.pop();* int param_3 = obj.top();* int param_4 = obj.getMin();*/

这篇关于【Java】一只小菜坤的编程题之旅【4】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261281

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT