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

代码随想录二刷day07

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣454. 四数相加 II
  • 二、力扣383. 赎金信
  • 三、力扣15. 三数之和
  • 四、力扣18. 四数之和


前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、力扣454. 四数相加 II

class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {Map<Integer, Integer> map = new HashMap<>();int res = 0;for(int i: nums1){for(int j : nums2){int sum = i + j;map.put(sum, map.getOrDefault(sum, 0) + 1);}}for(int i : nums3){for(int j : nums4){res += map.getOrDefault(0-i - j, 0);}}return res;}
}

二、力扣383. 赎金信

class Solution {public boolean canConstruct(String ransomNote, String magazine) {int[] arr = new int[27];for(int i = 0; i < ransomNote.length(); i ++){arr[ransomNote.charAt(i) - 'a'] ++;}for(int i = 0; i < magazine.length(); i ++){arr[magazine.charAt(i) - 'a'] --;}for(int i : arr){if(i > 0){return false;}}return true;}
}

三、力扣15. 三数之和

class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res = new ArrayList<>();Arrays.sort(nums);for(int i = 0; i < nums.length-2;){if(nums[i] > 0){return res;}int left = i+1, right = nums.length -1;while(left < right){int sum = nums[i] + nums[left] + nums[right];if(sum > 0){right --;}else if(sum < 0){left ++;}else{res.add(Arrays.asList(nums[i], nums[left], nums[right]));while(left < right && nums[left] == nums[left + 1])left ++;while(left < right && nums[right] == nums[right - 1]) right --;left ++;right --;}}while(nums[i] == nums[i+1] && i < nums.length-2)i ++;i ++;}return res;}
}

四、力扣18. 四数之和

class Solution {public List<List<Integer>> fourSum(int[] nums, int target) {List<List<Integer>> res = new ArrayList<>();if(nums.length <= 3){return res;}Arrays.sort(nums);for(int i = 0; i < nums.length -3;){if(target < 0 && nums[i]>0){return res;}for(int j = i + 1; j < nums.length - 2; ){int left = j + 1, right = nums.length - 1;while(left < right){int sum = nums[i] + nums[j] + nums[left] + nums[right];if(sum > target){right --;}else if(sum < target){left ++;}else{res.add(Arrays.asList(nums[i], nums[j], nums[left], nums[right]));while(left < right && nums[left] == nums[left+1])left++;while(left < right && nums[right] == nums[right-1])right--;left ++;right --;}}while(j < nums.length-2 && nums[j] == nums[j + 1])j ++; j ++;}while(i < nums.length-3 && nums[i] == nums[i+1])i ++; i ++;}return res;}
}

相关文章:

代码随想录二刷day07

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣454. 四数相加 II二、力扣383. 赎金信三、力扣15. 三数之和四、力扣18. 四数之和 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1…...

点云从入门到精通技术详解100篇-点云的泊松曲面重建方法

目录 前言 相关理论 2.1三维点云 2.2体素滤波 2.3隐式曲面重建 泊松曲面重建及改进...

【STM32】学习笔记(串口通信)

串口通信 通信接口硬件电路电平标准USARTUSART框图 通信接口 串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信&#…...

【Unity3D赛车游戏优化篇】新【八】汽车实现镜头的流畅跟随,以及不同角度的切换

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

webpack5 (四)

react-cli 中配置 开发环境 const path require(path) const EslintWebpackPlugin require(eslint-webpack-plugin) const HtmlWebpackPlugin require(html-webpack-plugin) const ReactRefreshWebpackPlugin require(pmmmwh/react-refresh-webpack-plugin); //封装处理样…...

电脑硬盘数据恢复一般需要收费多少钱

随着电子信息时代的发展&#xff0c;个人和企业对电脑硬盘中存储的数据越发重视。然而&#xff0c;由于各种原因&#xff0c;硬盘数据丢失的情况屡见不鲜。如果您正陷入这样的困境&#xff0c;您可能会好奇恢复失去的数据需要花费多少钱。本文将为您介绍电脑硬盘数据恢复的一般…...

服务运营 | MSOR文章精选:远程医疗服务中的统计与运筹(二)

作者信息&#xff1a;王畅&#xff0c;陈盈鑫 编者按 在上一期中&#xff0c;我们分享了与远程医疗中运营管理问题相关的两篇文章。其一发表在《Stochastic Systems》&#xff0c;旨在使用排队论与流体近似的方法解决远程医疗中资源配置的问题&#xff1b;其二发表在《Managem…...

QT(9.3)定时器,绘制事件

作业&#xff1a; 自定义一个闹钟 pro文件&#xff1a; QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecat…...

python opencv

保存直播流生存逐个图片 import cv2 from threading import Threadclass ThreadedCamera(object):def __init__(self, source 0):self.capture cv2.VideoCapture(source)self.thread Thread(target self.update, args ())self.thread.daemon Trueself.thread.start()sel…...

QProcess 调用 ffmpeg来处理音频

项目场景&#xff1a; 在文章 qt 实现音视频的分贝检测系统中&#xff0c;实现的是边播放变解析音频数据来统计音频的分贝大小&#xff0c;并不满足实际项目的需求&#xff0c;有的视频声音正常&#xff0c;有的视频声音就偏低&#xff0c;即使放到最大音量声音也是比较小&…...

“深入探究SpringMVC的工作原理与入门实践“

目录 引言1. 什么是SpringMVC?1.1. 模型1.2. 视图1.3. 控制器 2. SpringMVC的工作流程2.1. 客户端发送请求2.2. DispatcherServlet的处理2.3. 处理器映射器的使用2.4. 处理器的执行2.5. 视图解析器的使用2.6. 视图的渲染 3. SpringMVC的核心组件4. 弹簧MVC总结 引言 SpringMV…...

【Node.js】Node.js安装详细步骤和创建Express项目演示

Node.js是一个开源的、跨平台的JavaScript运行环境&#xff0c;用于在服务器端运行JavaScript代码。它提供了一个简单的API&#xff0c;可以用于开发各种网络和服务器应用程序。 以下是Node.js的安装和使用的详细步骤和代码示例&#xff1a; 1、下载Node.js 访问Node.js官方…...

栈和队列OJ

一、括号的匹配 题目介绍&#xff1a; 思路&#xff1a; 如果 c 是左括号&#xff0c;则入栈 push&#xff1b;否则通过哈希表判断括号对应关系&#xff0c;若 stack 栈顶出栈括号 stack.pop() 与当前遍历括号 c 不对应&#xff0c;则提前返回 false。栈 stack 为空&#xff1…...

Bootstrap的CSS类积累学习

要看哪个的介绍&#xff0c;搜索关键词就行了。 001-container 这是Bootstrap中定义的一个CSS类&#xff0c;它用于创建一个具有固定宽度的容器。比如&#xff0c;container类将<div>元素包装成一个固定宽度的容器。详情见&#xff1a;https://blog.csdn.net/wenhao_ir…...

Scala的集合操作之可变数组和不可变数组,可变List集合与不可变List集合,可变Set与不可变Set操作,可变和不可变Map集合和元组操作

Scala的集合操作之&#xff0c;可变数组和不可变数组&#xff0c;可变List集合与不可变List集合 不可变数组 /* traversable/ˈtrvəsəbl/adj.能越过的&#xff1b;可否认的*/ object Test01_ImmutableArray {def main(args: Array[String]): Unit {// 1. 创建数组val arr:…...

优化Docker权限管理:配置Docker用户组

Docker 利用 Linux 的用户和组权限来管理对 Docker 守护进程的访问权限。一般情况下&#xff0c;只有 root 用户和属于 docker 用户组的用户才被允许访问 Docker 守护进程。在 Linux 系统上使用 Docker 时&#xff0c;如果您尚未配置 docker 用户组&#xff0c;那么作为非 root…...

python+opencv读取rtsp流

前言 在使用yolov5做物体检测中&#xff0c;需要拉取视频流。分解任务第一步则是需要使用opencv读取rtsp流&#xff0c;只要拿到每一帧图片在进行推理显示即可。 代码 import cv2 def read_rtsp():cap cv2.VideoCapture(rtsp://admin:Vrc123456192.168.2.226:554)fourcc c…...

linux入门---动静态库的加载

目录标题 为什么会有动态库和静态库静态库的实现动态库的实现动静态库的加载 为什么会有动态库和静态库 我们来模拟一个场景&#xff0c;首先创建两个头文件 根据文件名便可以得知add.h头文件中存放的是加法函数的声明&#xff0c;sub.h头文件中存放的是减法函数的声明&#…...

计算机竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn

文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的人脸专注度…...

【Yolov5+Deepsort】训练自己的数据集(3)| 目标检测追踪 | 轨迹绘制 | 报错分析解决

&#x1f4e2;前言&#xff1a;本篇是关于如何使用YoloV5Deepsort训练自己的数据集&#xff0c;从而实现目标检测与目标追踪&#xff0c;并绘制出物体的运动轨迹。本章讲解的为第三部分内容&#xff1a;数据集的制作、Deepsort模型的训练以及动物运动轨迹的绘制。本文中用到的数…...

Allegro PCB设计自查清单:用Quick Reports快速搞定投板前的关键检查(附Dangling Line定位技巧)

Allegro PCB设计投板前终极自查指南&#xff1a;用Quick Reports构建高效质检流水线 在PCB设计领域&#xff0c;最后的5%往往消耗50%的精力。当设计进入投板前的关键阶段&#xff0c;工程师们常陷入两难&#xff1a;要么因过度谨慎反复全盘检查导致项目延期&#xff0c;要么因遗…...

3分钟学会:Windows上安装Android应用的终极简单指南

3分钟学会&#xff1a;Windows上安装Android应用的终极简单指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上运行Android应用却不想安装笨重的安卓…...

NAS-FPN里的GP和Sum Cell到底怎么工作的?手把手图解MMCV源码实现

NAS-FPN中的GP与Sum Cell工作机制解析&#xff1a;从理论到MMCV源码实现 在目标检测领域&#xff0c;特征金字塔网络(FPN)已经成为处理多尺度目标的标配组件。然而传统FPN采用固定的人工设计结构&#xff0c;难以适应不同检测任务的需求。NAS-FPN通过神经网络结构搜索技术&…...

Python DXF文件处理革命:ezdxf库的深度解析与实战指南

Python DXF文件处理革命&#xff1a;ezdxf库的深度解析与实战指南 【免费下载链接】ezdxf Python interface to DXF 项目地址: https://gitcode.com/gh_mirrors/ez/ezdxf 在CAD数据交换领域&#xff0c;DXF格式一直是工业标准&#xff0c;但传统的DXF处理工具往往复杂难…...

Keil MDK 项目迁移避坑指南:当你的旧工程遇到‘Default Compiler Version 5 is not available’

Keil MDK项目迁移实战&#xff1a;编译器版本冲突的工程级解决方案 当你从同事手中接过一个历史遗留的Keil MDK项目&#xff0c;或从版本控制系统拉取多年前的嵌入式工程时&#xff0c;最令人头疼的莫过于打开工程后迎面而来的编译器报错。其中"Default Compiler Version …...

告别Keil4!手把手教你用Keil C51 V9.61编译51单片机代码(附最新激活方法)

51单片机开发效率革命&#xff1a;Keil C51 V9.61全栈升级指南 当你的51单片机项目编译进度条像蜗牛爬行时&#xff0c;当老旧开发环境频繁卡顿崩溃时&#xff0c;开发者们都在期待一场彻底的效率革命。Keil C51 V9.61的发布&#xff0c;正是针对这些痛点的技术回应——它不仅将…...

深度学习编译器优化:CNN与MHA块的性能差异与实践指南

1. 深度学习编译器优化概述在深度学习模型部署的实际场景中&#xff0c;我们常常面临一个关键矛盾&#xff1a;训练框架&#xff08;如PyTorch&#xff09;的动态图特性虽然灵活&#xff0c;但在推理时会产生显著的性能开销。这正是深度学习编译器技术大显身手的领域——通过静…...

Linux驱动开发:模块参数传递机制详解与工程实践

1. 项目概述&#xff1a;驱动安装与参数传递的“暗语”艺术在Linux驱动开发的世界里&#xff0c;把驱动模块加载进内核&#xff0c;就像给一个正在高速运转的精密机器安装一个新的零件。而“安装驱动参数传递”&#xff0c;就是这个安装过程中&#xff0c;我们与内核、与新零件…...

百考通:AI让每一份调研与设计都高效落地

在数字化时代&#xff0c;市场调研、产品设计、学术研究等场景中&#xff0c;问卷设计作为核心环节&#xff0c;直接影响着数据收集的质量与工作推进的效率。传统问卷设计往往面临流程繁琐、耗时耗力、问题设计不精准等痛点&#xff0c;而百考通&#xff08;https://www.baikao…...

告别命令行恐惧:用FinalShell 4.3.10图形化连接Linux虚拟机(Windows 10环境)

告别命令行恐惧&#xff1a;FinalShell 4.3.10图形化连接Linux虚拟机全指南 对于刚接触Linux系统管理的开发者而言&#xff0c;命令行界面往往像一堵无形的墙。我曾见过不少同事面对闪烁的光标不知所措——直到发现FinalShell这类工具&#xff0c;才真正打开了高效运维的大门。…...