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

双指针hard题

[LeetCode]4. Median of Two Sorted Arrays 中文 - YouTube
依赖merge sort和priorityqueue的废物
正式变身山景城一姐小迷妹✪ω✪

寻找正序数组中位数

class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int len1= nums1.length;int len2 = nums2.length;int len = len1 + len2;if(len1 > len2) {  // 始终保持nums1为小数组return findMedianSortedArrays(nums2, nums1);}if(len1 == 0) {int mid = len2 / 2;return (len2 % 2 != 0) ? (double) nums2[mid] : (nums2[mid - 1] + nums2[mid]) / 2.0;}int start1 = 0;int end1 = len1;int cut1 = 0;int cut2 = 0;while(start1 <= end1) {cut1 = (start1 + end1) / 2;cut2 = (len + 1) / 2 - cut1;  // 保证len为奇数时,从cut1和cut2的分界线左边取值double l1 = (cut1 == 0) ? Integer.MIN_VALUE : nums1[cut1 - 1];double l2 = (cut2 == 0) ? Integer.MIN_VALUE : nums2[cut2 - 1];double r1 = (cut1 == len1) ? Integer.MAX_VALUE : nums1[cut1];double r2 = (cut2 == len2) ? Integer.MAX_VALUE : nums2[cut2];if(l1 > r2) {end1 = cut1 - 1;}else if(r1 < l2) {start1 = cut1 + 1;}else {if(len % 2 != 0) {return Math.max(l1, l2);}else {return (Math.max(l1, l2) + Math.min(r1, r2)) / 2.0;}}}return -1;}
}

相关文章:

双指针hard题

[LeetCode]4. Median of Two Sorted Arrays 中文 - YouTube 依赖merge sort和priorityqueue的废物 正式变身山景城一姐小迷妹✪ω✪ 寻找正序数组中位数 class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int len1 nums1.length;int len2 …...

前端实现【 批量任务调度管理器 】demo优化

一、前提介绍 我在前文实现过一个【批量任务调度管理器】的 demo&#xff0c;能实现简单的任务批量并发分组&#xff0c;过滤等操作。但是还有很多优化空间&#xff0c;所以查找一些优化的库&#xff0c; 主要想优化两个方面&#xff0c; 上篇提到的&#xff1a; 针对 3&…...

【数据结构】包装类和泛型

&#x1f389;欢迎大家收看&#xff0c;请多多支持&#x1f339; &#x1f970;关注小哇&#xff0c;和我一起成长&#x1f680;个人主页&#x1f680; ⭐在更专栏Java ⭐数据结构 ⭐已更专栏有C语言、计算机网络⭐ &#x1f451;目录 包装类&#x1f319; ⭐基本类型对应的包…...

浅学爬虫-数据存储

在数据爬取完成后&#xff0c;我们需要将数据存储起来&#xff0c;以便于后续的分析和处理。常见的数据存储方式包括存储到CSV文件和存储到数据库。下面我们详细介绍如何实现这些存储方式。 存储到CSV CSV&#xff08;Comma-Separated Values&#xff09;文件是一种常用的文本…...

十六、maven git-快速上手(智慧云教育平台)

&#x1f33b;&#x1f33b; 目录 一、概述及项目管理工具介绍1.1 项目介绍1.2 maven 介绍及其配置1.2.1 maven 介绍1.2.2 maven 下载与配置 1.3 pom 中常见标签的使用1.4 后端项目环境的搭建1.5 Git 简介1.6 Git 的基本使用1.6.1 码云的注册与仓库创建1.6.2 上传代码到码云仓库…...

chrome/edge浏览器插件开发入门与加载使用

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、插件与普通前端项目二、开发插件——manifest.json三、插件使用edge浏览器中使用/加载插件chrome浏览器中使用/加载插件 总结 前言 chrome插件的出现&#xff0c;初衷可能是为了方便用户更好地控制浏览器&#xff0c…...

【完美解决】 TypeError: ‘str’ object does not support item assignment

【完美解决】 TypeError: ‘str’ object does not support item assignment 在Python编程中&#xff0c;遇到TypeError: str object does not support item assignment这样的错误通常意味着你试图修改字符串中的某个字符&#xff0c;但字符串是不可变类型&#xff0c;不支持这…...

Android SurfaceFlinger——渲染开始帧(四十三)

通过前面的文章我们介绍了 SurfaceFlinger 图层合成的整体流程,已经对应步骤的前五步,这里我们开始介绍帧渲染流程的第一步——开始帧。 1.更新输出设备的色彩配置文件2.更新与合成相关的状态3.计划合成帧图层4.写入合成状态5.设置颜色矩阵6.开始帧7.准备帧数据以进行显示(异…...

fastadmin搜索栏实现某字段动态下拉搜索

记录&#xff1a;fastadmin搜索栏实现某字段动态下拉搜索 方式一&#xff1a;使用selectpicker组件&#xff0c;可多选 { field: travel_agency, title:__(Travel_agency),addClass:"selectpicker", operate:"IN",data:"multiple", searchList:…...

.NET未来路在何方?

简述 在软件开发的漫长旅程中&#xff0c;将代码打包成可执行的EXE文件是一项必不可少的技能。它不仅能够保护源代码&#xff0c;还能为用户提供便捷的安装体验。但手动打包过程繁琐且容易出错&#xff0c;自动化打包成为了开发者的福音。 在软件开发的浩瀚星空中&#xff0c;.…...

Vue开发环境搭建

文章目录 引言I 安装NVM1.1 Windows系统安装NVM,实现Node.js多版本管理1.2 配置下载镜像1.3 NVM常用操作命令II VUE项目的基础配置2.1 制定不同的环境配置2.2 正式环境隐藏日志2.3 vscode常用插件引言 开发工具: node.js 、npm 开发编辑器:vscode 开发框架:VUE I 安装NVM…...

【数据结构初阶】详解:实现循环队列、用栈实现队列、用队列实现栈

文章目录 一、循环队列1、题目简述2、方法讲解2.1、了解tail的指向2.2、了解空间是如何利用的2.3、如何判断队列是否为空&#xff08;假溢出问题&#xff09;&#xff1f;2.4、实现代码 二、用栈实现队列1、题目简述2、方法讲解2.1、讲解2.2、实现代码 三、用队列实现栈1、题目…...

【Hot100】LeetCode—31. 下一个排列

目录 题目1- 思路2- 实现⭐31. 下一个排列——题解思路 3- ACM 实现 题目 原题连接&#xff1a;31. 下一个排列 1- 思路 技巧题&#xff0c;分为以下几个步骤 ① 寻找拐点&#xff1a; i 1 &#xff1a;出现 nums[i1] > nums[i] &#xff0c;则 i 1 就是拐点 从右向左遍…...

找到学习的引擎,更让你进入心流状态的高效学习

一、心流状态的启动秘籍 1. 简单开始&#xff1a;找到学习的入口 从简单的任务开始&#xff0c;比如整理学习空间或列出学习计划&#xff0c;让大脑逐渐适应学习的节奏。 2. 环境塑造&#xff1a;打造专注的学习空间 清理桌面&#xff0c;减少干扰&#xff0c;比如将手机置…...

QItemDelegate QItemDelegate QItemDelegate

qtreeview点击某一行有颜色显示 c 在Qt中&#xff0c;要实现QTreeView点击某行有颜色显示&#xff0c;可以通过设置QTreeView的itemDelegate来自定义显示样式。以下是一个简单的例子&#xff0c;演示如何为QTreeView的项设置点击时的背景颜色。 #include <QApplication>…...

MySQL数据库 外键默认约束和action 基础知识【2】推荐

数据库就是储存和管理数据的仓库&#xff0c;对数据进行增删改查操作&#xff0c;其本质是一个软件。MySQL就是一种开源的关系型数库&#xff0c;也是最受欢迎的数据库之一&#xff0c;今天对MySQL数据的基础知识做了整理&#xff0c;方便自己查看&#xff0c;也欢迎正在学习My…...

JS正则表达式学习与实践

JS正则表达式学习笔记 1 学习笔记1.1 字符类1.2 量词和分支1.3 标志1.4 锚点1.5 断言 2 常用正则2.1 检查微信浏览器2.2 检查移动端浏览器2.3 检查中文字符2.4 手机号严格2.5 手机号比较宽松2.6 手机号宽松2.7 邮箱验证2.8 金额格式2.9 身份证号2.10 至少8为有数字、大小写字符…...

Java数据结构(五)——栈和队列

文章目录 栈和队列栈基本概念栈的模拟实现集合框架中的栈栈的创建栈的方法栈的遍历 栈的应用及相关练习括号匹配逆波兰表达式求值出栈入栈次序匹配最小栈 几个含"栈"概念的区分 队列基本概念队列的模拟实现循环队列双端队列集合框架中的队列队列的创建队列的方法队列…...

工具使用:nrm使用以及n模块

nrm nrm 是一个npm&#xff08;Node Package Manager&#xff09;的源管理器&#xff0c;它允许用户轻松地在不同的npm源之间进行切换。在Node.js的生态系统中&#xff0c;nrm 提供了一种方便的方式来管理registry源&#xff0c;这对于那些需要从不同的npm源下载或发布包的开发…...

匿名管道+进程池+命名管道

mkfifo name_pipe 创建管道文件。 命名管道&#xff1a; 路径文件名具有唯一性。 匿名管道&#xff1a; 进程池代码&#xff1a; #include<iostream> #include<unistd.h> #include<cstdlib> #include<cassert> #include<vector> #include&…...

前端开发者福音:用Vue.js开发的Beekeeper Studio,如何让SQL开发体验更‘现代’?

Vue.js与SQL工具的现代融合&#xff1a;Beekeeper Studio如何重塑开发者体验 当SQL开发者第一次打开Beekeeper Studio时&#xff0c;那种流畅的界面过渡和即时的语法补全反馈会让人误以为在使用一个现代Web应用——这恰恰是Vue.js赋予桌面应用的魔力。作为一款基于Electron和Vu…...

终点亦是起点

小端AI经过8个月的反复打磨&#xff0c;不仅领先外国顶级水平&#xff0c;而且功能稳定&#xff0c;我也永久保持纯本地运行100%开源&#xff0c;如今已超过30万下载&#xff0c;不管未来百万还是千万用户&#xff0c;绝不开会员&#xff0c;献给国家的申明永久有效&#xff0c…...

终极指南:快速掌握碧蓝航线Live2D资源提取技术

终极指南&#xff1a;快速掌握碧蓝航线Live2D资源提取技术 【免费下载链接】AzurLaneLive2DExtract OBSOLETE - see readme / 碧蓝航线Live2D提取 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneLive2DExtract 在数字内容创作和游戏开发领域&#xff0c;Live2D动…...

基于LLM的Python脚本自我进化:构建AI驱动的代码优化框架

1. 项目概述&#xff1a;当Python脚本学会自我进化几年前&#xff0c;如果有人告诉我&#xff0c;我写的Python脚本能在我喝咖啡的时候自己给自己“打补丁”、优化逻辑&#xff0c;我肯定会觉得这是科幻小说里的情节。但今天&#xff0c;这已经是我日常工作流的一部分。这个项目…...

Win10台式机没蓝牙?手把手教你用USB适配器搞定BLE设备通信(附驱动避坑指南)

Win10台式机蓝牙适配器实战指南&#xff1a;从硬件选型到BLE通信全解析 当台式机遇到蓝牙设备通信需求时&#xff0c;许多开发者首先面临的不是代码问题&#xff0c;而是硬件基础建设。本文将带你系统解决从零搭建蓝牙开发环境的完整流程&#xff0c;特别针对低功耗蓝牙&#x…...

开发者技能图谱:如何利用GitHub仓库系统化规划技术学习路径

1. 项目概述&#xff1a;一个面向开发者的技能图谱与学习路径仓库最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的仓库&#xff0c;叫tayyabexe/skills。乍一看名字&#xff0c;你可能会觉得这又是一个“Awesome-XXX”式的资源列表合集。但点进去仔细研究后&#xff0c;我…...

如何使用pretty-ts-errors:TypeScript错误追踪与性能优化终极指南

如何使用pretty-ts-errors&#xff1a;TypeScript错误追踪与性能优化终极指南 【免费下载链接】pretty-ts-errors &#x1f535; Make TypeScript errors prettier and human-readable in VSCode &#x1f380; 项目地址: https://gitcode.com/gh_mirrors/pr/pretty-ts-error…...

Agent:它不是更聪明的大模型,而是让大模型持续推进任务的“大脑+身体”系统!

本文深入探讨了Agent与大模型的关系&#xff0c;强调Agent并非模型本身&#xff0c;而是一套围绕模型组织的运行机制。文章详细解析了Agent的核心机制&#xff0c;包括状态管理、控制循环和工具调用&#xff0c;并阐述了System Prompt、AGENTS.md、Skill和Tool等概念在Agent系统…...

AI设计风格Prompt实战指南:从32种风格词典到精准生成

1. 项目概述&#xff1a;一份给AI设计师的“风格词典”如果你和我一样&#xff0c;经常用 Claude、Cursor 或者 v0 这类 AI 工具来生成网页界面&#xff0c;那你肯定遇到过这个头疼的问题&#xff1a;脑子里想的是“赛博朋克”或者“瑞士风格”&#xff0c;但打出来的 prompt 却…...

半导体设备投资热潮:千亿美元流向、产业逻辑与工程师应对策略

1. 从百亿投资狂潮看半导体制造的底层逻辑最近和几个在晶圆厂和Fab设备商工作的老朋友聊天&#xff0c;话题总绕不开一个词&#xff1a;投资。无论是台积电、三星的先进制程军备竞赛&#xff0c;还是中芯国际、联电的成熟制程扩产&#xff0c;背后都是一台台价值数千万甚至上亿…...