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

算法训练营day1 | 704二分查找,27移除元素, 34, 35

已经找到工作,但希望再试试春招,距离春招还剩两个月,加油。


这两道题都刷过很多遍了,没什么好说的直接过。

704

本以为刷了很多次没想到还是做错了,有些小细节要注意。

这里是迭代式的,函数式的也不难。

class Solution {public int search(int[] nums, int target) {int l = 0, r = nums.length - 1;while(l <= r){int mid = (l + r) / 2;if(nums[mid] == target){return mid;}if(nums[mid] > target){r = mid - 1;//这里一开始写的是mid,由于我是取等于所以不能是mid}else if(nums[mid] < target){l = mid + 1;}}return -1;}
}

27

双指针没什么说的。

class Solution {public int removeElement(int[] nums, int val) {int len = nums.length;int i = 0, j = 0;while(j < len){if(nums[j] == val){j++;continue;}nums[i++] = nums[j++];}return i;}
}

刷一下34和35,直接刷代码随想录的时候从来没有刷过拓展题。

34

最开始的想法是通过二分找到一个答案后,往左右两边找到边缘的坐标,但发现这样在极端情况下时间复杂度是o(n),所以还是正常地通过两个二分,一个找左端点一个找右端点吧。

class Solution {public int[] searchRange(int[] nums, int target) {int r = nums.length - 1, l = 0;int ansl = -1;while(l <= r){int mid = (l + r) / 2;if(nums[mid] >= target){if(nums[mid] == target){ansl = mid;}r = mid - 1;}else{l = mid +1;}}int ansr = ansl;r = nums.length - 1;l = 0;while(l <= r){int mid = (l + r) / 2;if(nums[mid] > target){r = mid - 1;}else{if(nums[mid] == target){ansr = mid;}l = mid +1;}}return new int[]{ansl, ansr};}
}

35

class Solution {public int searchInsert(int[] nums, int target) {int l = 0, r = nums.length - 1;int ans = -1, mid = -1;while(l <= r){mid = (l + r) / 2;if(nums[mid] == target){ans = mid;break;}if(nums[mid] > target){r = mid - 1;}else{l = mid + 1;}}if(ans == -1){if(nums[mid] > target){return mid;}else{return mid + 1;}}return ans;}
}

 今天是12.12做的事12.11的任务,明天要补进度了

今天的还算比较简单,加油!


男朋友帮我加了一个洛谷题,好难已经做完了明天再补充细节吧T-T

R194137083

相关文章:

算法训练营day1 | 704二分查找,27移除元素, 34, 35

已经找到工作&#xff0c;但希望再试试春招&#xff0c;距离春招还剩两个月&#xff0c;加油。 这两道题都刷过很多遍了&#xff0c;没什么好说的直接过。 704 本以为刷了很多次没想到还是做错了&#xff0c;有些小细节要注意。 这里是迭代式的&#xff0c;函数式的也不难。 …...

66 基于单片机的太阳能充电、温度检测、档位PWM调速系统

所有仿真详情导航&#xff1a; PROTEUS专栏说明-CSDN博客 目录 一、主要功能 二、硬件资源 三、主程序编程 四、资源下载 一、主要功能 基于52单片机&#xff0c;采用DS18B20温度传感器检测温度&#xff0c;采用滑动变阻器连接ADC0832数模转换器模拟电量&#xff0c;采用…...

RK3576 Android14,内存大于4G时UVC应用无法申请内存

最近有个项目需要将Linux虚拟成UVC摄像头&#xff0c;开发过程中遇到一个奇怪的事情&#xff0c;通过V4l2框架接口申请内存时&#xff0c;相同的板子&#xff0c;只是内存一个4G一个8G。4G的内存可以申请成功&#xff0c;8G就不行。提示“内存不足” 内存更大反而内存不足&…...

12.12 深度学习-卷积的注意力机制-通道注意力SENet

# 告诉模型训练的时候 对某个东西 给予额外的注意 额外的权重参数 分配注意力 # 不重要的就抑制 降低权重参数 比如有些项目颜色重要 有些是形状重要 # 通道注意力 一般都要比较多的通道加注意力 # SENet # 把上层的特征图 自动卷积为 1X1的通道数不变的特征图 然后给每一个…...

H5 scss 移动端的样式适配

在移动端样式的scss文件中&#xff0c;出现了这些变量 env() 与 constant() 设置安全区域&#xff0c;是css里IOS11新增的属性&#xff0c;webkit的css函数&#xff0c;用于设定安全区域与边界的距离&#xff0c;有4个预定义变量&#xff1a; safe-area-inset-left: 安全区域距…...

【JAVA】Java项目实战—移动端项目:天气查询APP

在移动互联网时代&#xff0c;天气查询应用程序&#xff08;APP&#xff09;是日常生活中不可或缺的一部分。无论是出门旅行、上班通勤&#xff0c;还是安排户外活动&#xff0c;获取实时天气信息都至关重要。Java作为一种强大且广泛使用的编程语言&#xff0c;特别适合用于开发…...

SpringBoot - 动态端口切换黑魔法

文章目录 关键技术点核心原理Code 关键技术点 利用 Spring Boot 内嵌 Servlet 容器 和 动态端口切换 的方式实现平滑更新的方案&#xff0c;关键技术点如下&#xff1a; Servlet 容器重新绑定端口&#xff1a;Spring Boot 使用 ServletWebServerFactory 动态设置新端口。零停…...

Java爬虫技术:挖掘淘宝数据的利器

在当今大数据时代&#xff0c;网络爬虫技术已经成为获取网络数据的重要手段。Java作为一种强大且灵活的编程语言&#xff0c;非常适合开发复杂的网络爬虫系统。本文将详细介绍Java爬虫能够爬取的淘宝数据类型&#xff0c;并提供具体的代码示例&#xff0c;帮助您快速入门并掌握…...

Chromium for Android 浏览器的编译和安装

Chromium for Android 浏览器的编译和安装 Chromium for Android 浏览器的编译和安装环境要求和配置Chromium for Android源码下载安装 depot_tools获取代码转换现有的Linux检出安装额外的构建依赖运行钩子 Chromium for Android源码编译设置编译环境 编译 ChromiumChromium fo…...

实景视频与模型叠加融合?

[视频GIS系列]无人机视频与与实景模型进行实时融合_无人机视频融合-CSDN博客文章浏览阅读1.5k次&#xff0c;点赞28次&#xff0c;收藏14次。将无人机视频与实景模型进行实时融合是一个涉及多个技术领域的复杂过程&#xff0c;主要包括无人机视频采集、实景模型构建、视频与模型…...

Scala的隐式类

package hfd //隐式类 //任务&#xff1a;给之前的BaseUser添加新的功能&#xff0c;但是不要直接去改代码 //思路&#xff1a;把BaseUser通过隐式转换&#xff0c;改成一个新类型&#xff0c;而这个新类型中有这新的方法 //implicit class一个隐式转换函数类 //作用&#xff1…...

常见软件设计模式介绍:三层架构、MVC、SSM、EDD、DDD

三层架构&#xff08;View Service Dao&#xff09; 三层架构是指&#xff1a;视图层 view&#xff08;表现层&#xff09;&#xff0c;服务层 service&#xff08;业务逻辑层&#xff09;&#xff0c;持久层 Dao&#xff08;数据访问层&#xff09; 表现层&#xff1a;直接跟前…...

Springboot技术栈常见问题及搭建步骤

一. SpringBoot介绍 1.1. 引言 为了使用SSM框架去开发, 准备SSM框架的模板配置 为了使Spring整合第三方框架, 单独的去编写xml文件 导致SSM项目后期xml文件特别多, 维护xml文件的成本是很高的 SSM工程部署也是很麻烦, 依赖第三方的容器 SSM开发方式很是笨重 1.2 SpringBoot …...

session 共享服务器

1.安装 kryo-3.0.3.jar asm-5.2.jar objenesis-2.6.jar reflectasm-1.11.9.jar minlog-1.3.1.jar kryo-serializers-0.45.jar msm-kryo-serializer-2.3.2.jar memcached-session-manager-tc9-2.3.2.jar spymemcached-2.12.3.jar memcached-session-manager-2.3.2.jar …...

vue2:v-for实现的el-radio-group选中时显示角标,并自定义选中按钮的字体颜色和背景色

项目中需要实现一组预定义查询,每一个查询按钮在选中时右上角显示一个角标,展示当前查询返回的数据条目。 1、text-color="#3785FF" fill="#E6EAF1" 处理选中时的字体颜色和背景色,如上图,分别为蓝色和浅灰色。 2、badge中:value="selectedRadio…...

【Linux】-学习笔记10

第八章、Linux下的火墙管理及优化 1.什么是防火墙 从功能角度来讲 防火墙是位于内部网和外部网之间的屏障&#xff0c;它按照系统管理员预先定义好的规则来控制数据包的进出 从功能实现角度来讲 火墙是系统内核上的一个模块netfilter(数据包过滤机制) …...

鸿蒙NEXT开发案例:九宫格随机

【引言】 在鸿蒙NEXT开发中&#xff0c;九宫格抽奖是一个常见且有趣的应用场景。通过九宫格抽奖&#xff0c;用户可以随机获得不同奖品&#xff0c;增加互动性和趣味性。本文将介绍如何使用鸿蒙开发框架实现九宫格抽奖功能&#xff0c;并通过代码解析展示实现细节。 【环境准…...

深度解析:RTC电路上的32.768KHz时钟的频偏及测试

1、什么是RTC RTC是Real-Time Clock&#xff08;实时时钟&#xff09;的缩写&#xff0c;通常在电子产品中&#xff0c;是用时钟电路&#xff08;外部采用时钟芯片&#xff0c;比如AiP8563&#xff09;或时钟模块(SOC内部包含了时钟模块&#xff0c;只需要外接32.768KHz晶振)来…...

Scala的泛型

需求:定义一个名为getMiddleEle 的方法用它来获取当前的列表的中间位置的值中间位置的下标 长度/2目标:getMiddleEle(List(1,2,3,4,5)) > 5/2 2 > 下标为2的元素是:3 getMiddleEle(List(1,2,3,4)) > 4/2 2 > 下标为2的元素是:3格式如下: 定义一个函数的格式:def…...

OpenGL ES详解——glUniform1i方法是否能用于设置纹理单元

glUniform1i 方法确实可以用于设置纹理单元&#xff08;texture unit&#xff09;。在OpenGL中&#xff0c;纹理单元是图形硬件的一部分&#xff0c;它允许你同时绑定多个纹理&#xff0c;并在着色器程序中通过uniform变量来选择使用哪个纹理。 通常&#xff0c;纹理单元通过整…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...