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

挑战20天刷完leecode100

2025.1.5 

二分查找

1 搜索插入位置

就是简单的二分查找 注意开闭就行

这里有一句话就是nums是升序的 如果他不是严格递增 就是有相同的数字的情况下应该怎么写?

  int lower_bound(vector<int>& nums, int target) {int left = 0, right = (int) nums.size() - 1; while (left <= right) { // 区间不为空int mid = left + (right - left) / 2;if (nums[mid] >= target) {right = mid - 1; // 范围缩小到 [left, mid-1]} else {left = mid + 1; // 范围缩小到 [mid+1, right]}}// 循环结束后 left = right+1// 此时 nums[left-1] < target 而 nums[left] = nums[right+1] >= target// 所以 left 就是第一个 >= target 的元素下标return left;}

这是代码!  就是在这里需要更改

2 搜索二维矩阵

第一个方法就是通过两个二分 第一个二分确定在哪一行第二个确定在那一列 这里可以用3的方法一样的

第二个方法就是通过从最后一行第一列开始,每次去除一行或者一列这个简单

3 在排序数组中查找元素的第一个和最后一个位置

我们就是写一个lower_bound (第一个大于等于当前target的元素的下表!)

4搜索旋转排序数组

分组二分查找 

如果[left - mid)他是有序地我们就看target是不是在这中间不是的话left = mid+1(不在的话一定在右侧)

如果(mid,right ] 他是有序地我们就看target是不是在这中间不是的话right = mid-1(不在中间一定是在左侧 )

5

1

就是一个简单的栈的应用

这个就是需要两个stack有一个需要注意的是

   if(s2.empty()||val<=s2.top()) //这里必须<=  

举例子 如果是 -1 0 -1  我们把我们最小的加入应该是 -1 -1 

如果没有等于的话就是 -1  那在原来的stack中进行pop的话 我们判断如果top相同那-1会被去除

那就不对了啊!

链表问题

相交链表 (做出来了)

记住我们set中的find是迭代器的寻找 就是 set.find(..)!=headB.end();这个意思

2 反转链表 

这个题

//想法就是 先弄一个 listNode * pre = null;

while(head!=null)

//标记下来我们当前的下一个 就是index = head->next;

//head->next = pre;

//在这里需要加一个判断就是if(index == null) break;

//pre = head;

//head = index;

为什么呢 如果不加判断我们的这个index ==null之后 head也会变成null所以如果return head->next就错了  所以加这个判断就没问题啦

3 会问链表

很重要这个做错了还是对链表的理解不够透彻!!!、

让 list = head 对list进行倒序

通过while 比较我们是不是相等

这个是很傻逼的!! 因为我list是一个地址 我让list等于 head

那我不就是相当于 对head进行操作了??? 

所以严厉禁止这个想法 !

正确想法很简答 就是把val拿出来放到vector中 通过left right 来比较就行啦 很简单的 

环形链表 (一跟二都很简答)

很简单

两数相加

问题是我要知道链表如何完成串联 !!

如果链表不存在

head = tail = new listnode(sum%10);

如果链表存在 tail = new listnode(sum%10);

tail = tail->next;

 删除链表的倒数第n个

这个题目两个点 第一必须有一个前置指针      ListNode * f3 = new ListNode(0);

让我们的

   ListNode * f1 = f3;

   ListNode * f2 = f3;

然后在是

  f1->next = head;

   f2->next = head;

    f3->next = head;

因为 我们需要把指针移动 n+1 个位置!!  如果单纯的用head 有可能移动到n+1 的那个位置不存在!

第二 我们必须返回的是     return f3->next;

不是head 因为有可能head被删除了!  所以就是不对的!! 

两两交换链表中的节点

重要的是想如何进行下一轮的交换

相关文章:

挑战20天刷完leecode100

2025.1.5 二分查找 1 搜索插入位置 就是简单的二分查找 注意开闭就行 这里有一句话就是nums是升序的 如果他不是严格递增 就是有相同的数字的情况下应该怎么写? int lower_bound(vector<int>& nums, int target) {int left 0, right (int) nums.size() - 1; …...

Java列表示例

示例1&#xff1a;使用ArrayList创建并操作列表 ArrayList是List接口最常用的实现之一&#xff0c;它内部使用数组来存储元素&#xff0c;因此对于随机访问具有很高的效率。但是&#xff0c;当涉及到频繁的插入或删除操作时&#xff0c;它的性能可能会受到影响&#xff0c;因为…...

Objective-C语言的网络编程

Objective-C语言的网络编程 引言 在现代软件开发中&#xff0c;网络编程逐渐成为一个不可或缺的部分&#xff0c;特别是在移动应用和分布式系统中。Objective-C 是一种主要用于 iOS 和 macOS 开发的编程语言&#xff0c;它在网络编程方面也有着丰富的支持。在这篇文章中&…...

安卓OCR使用(Google ML Kit)

OCR是一个很常用的功能&#xff0c;Google ML Kit提供了OCR能力&#xff0c;用起来也很简单&#xff0c;本文介绍一下使用方法。 1. 相关概念 名词概念解释TextBlock块一个段落Line行一行文本Element元素单词&#xff1b;对汉字来说&#xff0c;类似"开头 (分隔符)中间&…...

《机器学习》——贝叶斯算法

贝叶斯简介 贝叶斯公式&#xff0c;又称贝叶斯定理、贝叶斯法则&#xff0c;最初是用来描述两个事件的条件概率间的关系的公式&#xff0c;后来被人们发现具有很深刻的实际意义和应用价值。该公式的实际内涵是&#xff0c;支持某项属性的事件发生得愈多&#xff0c;则该属性成…...

【博主推荐】 Microi吾码开源低代码平台,快速建站,提高开发效率

&#x1f36c;引言 &#x1f36c;什么是低代码平台&#xff1f; 低代码平台&#xff08;Low-Code Platform&#xff09;是一种使开发人员和业务用户可以通过图形化界面和少量的编程来创建应用程序的开发工具。与传统的编程方式相比&#xff0c;低代码平台大大简化了开发过程&a…...

网站自动签到

我研究生生涯面临两个问题&#xff0c;一是写毕业论文&#xff0c;二是找工作&#xff0c;这两者又有很大的冲突。怎么解决这两个冲突呢&#xff1f;把python学好是一个路子&#xff0c;因此从今天我要开一个专栏就是学python 其实我的本意不是网站签到&#xff0c;我喜欢在起点…...

C 语言奇幻之旅 - 第16篇:C 语言项目实战

目录 引言1. 项目规划1.1 需求分析与设计1.1.1 项目目标1.1.2 功能需求1.1.3 技术实现方案 2. 代码实现2.1 模块化编程2.1.1 学生信息模块2.1.2 成绩管理模块 2.2 调试与测试2.2.1 调试2.2.2 测试2.2.4 测试结果 3. 项目总结3.1 代码优化与重构3.1.1 代码优化3.1.2 代码重构 3.…...

项目实战——使用python脚本完成指定OTA或者其他功能的自动化断电上电测试

前言 在嵌入式设备的OTA场景测试和其他断电上电测试过程中&#xff0c;有的场景发生在夜晚或者随时可能发生&#xff0c;这个时候不可能24h人工盯着&#xff0c;需要自动化抓取串口日志处罚断电上电操作。 下面的python脚本可以实现自动抓取串口指定关键词&#xff0c;然后触发…...

04、Redis深入数据结构

一、简单动态字符串SDS 无论是Redis中的key还是value&#xff0c;其基础数据类型都是字符串。如&#xff0c;Hash型value的field与value的类型&#xff0c;List型&#xff0c;Set型&#xff0c;ZSet型value的元素的类型等都是字符串。redis没有使用传统C中的字符串而是自定义了…...

【MySQL学习笔记】MySQL的索引

MySQL索引 1、索引概述2、 索引的数据结构2.1 BTree索引结构2.2 Hash索引结构2.3 InnoDB选择BTree的原因 3、索引分类4、索引的语法5、SQL性能分析5.1 SQL执行频率5.2 慢查询日志5.3 profile详情5.4 explain执行计划 6、索引使用规则6.1 最左前缀法则6.2 范围查询6.3索引失效情…...

利用ArcGIS快速准确地统计出地块的现状容积率

研究目的 根据建筑.dwg、建筑.dwg Annotation、建筑.dwg Polygon&#xff0c;地籍边界.shp等数据&#xff0c;利用GIS快速准确地统计出地块的现状容积率。 研究思路 加载数据图层&#xff1a;建筑.dwg Polygon、建筑.dwg Annotation&#xff0c;使用空间连接功能把建筑层数数…...

C++类的引入

C中类的前身 1> 面向对象三大特征&#xff1a;封装、继承、多态 2> 封装&#xff1a;将能够实现某一事物的所有万事万物都封装到一起&#xff0c;包括成员属性&#xff08;成员变量&#xff09;&#xff0c;行为&#xff08;功能函数&#xff09;都封装在一起&#xff…...

【跨域问题】

跨域问题 官方概念&#xff1a; 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域本质来说&#xff0c;是前端请求给到后端时候&#xff0c;请求头里面&#xff0c;有一个 Origin &#xff0c;会带上 协议域名端口号等&#xff1b;后端接受到请求&…...

“深入浅出”系列之FFmpeg:(1)音视频开发基础

我的音视频开发大部分内容是跟着雷霄骅大佬学习的&#xff0c;所以笔记也是跟雷老师的博客写的。 一、音视频相关的基础知识 首先播放一个视频文件的流程如下所示&#xff1a; FFmpeg的作用就是将H.264格式的数据转换成YUV格式的数据&#xff0c;然后SDL将YUV显示到电脑屏幕上…...

Springboot3.4整合jsp

文章目录 环境 springboot3.4 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency> <!--用于编译jsp--> <!-- Tomcat Embed Jasper --> <dependency>…...

CSS:背景样式、盒子模型与文本样式

背景样式 背景样式用于设置网页元素的背景&#xff0c;包括颜色、图片等。 背景颜色 使用 background-color 属性设置背景颜色&#xff0c;支持多种格式&#xff08;颜色英文、十六进制、RGB等&#xff09;。 div {background-color: lightblue; }格式示例十六进制#ff5733R…...

算法:线性查找

线性查找算法是一种简单的查找算法,用于在一个数组或列表中查找一个特定的元素。它从数组的第一个元素开始,逐个检查每个元素,直到找到所需的元素或搜索完整个数组。线性查找的时间复杂度为O(n),其中n是数组中的元素数量。 实现原理 从列表的第一个元素开始,逐个检查每个…...

【计算机网络】什么是网关(Gateway)?

网上冲浪多了&#xff0c;你可以听到过网关&#xff08;Gateway&#xff09;这个词&#xff0c;但是却不太清楚网关&#xff08;Gateway&#xff09;到底是干什么的、负责网络当中的什么任务&#xff0c;本篇文字将会为你介绍网关&#xff08;Gateway&#xff09;的作用&#x…...

20250106面试

rabbitmq如何保证消息不丢失 my&#xff1a; 持久化&#xff0c;包括消息持久化和队列持久化&#xff0c;重启不丢失。持久化到磁盘中的。 消息确认 死信队列&#xff1a;消费失败&#xff08;业务异常/未确认&#xff0c;重试后&#xff0c;会放死信队列&#xff09;&…...

三月七小助手:5分钟搞定星穹铁道每日任务,终极自动化工具完全指南

三月七小助手&#xff1a;5分钟搞定星穹铁道每日任务&#xff0c;终极自动化工具完全指南 【免费下载链接】March7thAssistant 崩坏&#xff1a;星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 你是否还在为《崩坏&#x…...

Atmosphere-stable功能解析与实践指南:开源Switch自定义固件解决方案

Atmosphere-stable功能解析与实践指南&#xff1a;开源Switch自定义固件解决方案 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 传统Switch破解方案常面临系统稳定性差、原始系统安全风险…...

利用快马平台与claw hub框架,十分钟搭建新闻数据采集原型

最近在尝试用claw hub框架快速搭建新闻数据采集原型时&#xff0c;发现结合InsCode(快马)平台的AI生成能力&#xff0c;整个过程变得异常高效。这里记录下我的实践过程&#xff0c;分享给需要快速验证爬虫想法的朋友。 为什么选择claw hub框架 claw hub是一个轻量级Python爬虫框…...

保姆级教程:用Python脚本一键划分LS-SSDD-v1.0数据集(附近岸/离岸测试集处理)

Python自动化处理LS-SSDD数据集&#xff1a;从混乱到规范的完整指南 当你第一次打开LS-SSDD-v1.0数据集时&#xff0c;面对24,00016,000像素的大图和9000张800800的小图&#xff0c;以及各种划分文件&#xff0c;可能会感到无从下手。这份数据集虽然为SAR图像中的小舰船检测提供…...

3个实战技巧:彻底解锁Cursor Pro功能的高效完整指南

3个实战技巧&#xff1a;彻底解锁Cursor Pro功能的高效完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial…...

3步解锁百度网盘SVIP特权:macOS用户必备的高速下载解决方案

3步解锁百度网盘SVIP特权&#xff1a;macOS用户必备的高速下载解决方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘Mac客户端的龟速…...

免费文档下载终极指南:kill-doc 让您轻松获取全网文档资源

免费文档下载终极指南&#xff1a;kill-doc 让您轻松获取全网文档资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为…...

MiniCPM-V-2_6高级教程:C语言文件操作实现批量图片处理流水线

MiniCPM-V-2_6高级教程&#xff1a;C语言文件操作实现批量图片处理流水线 你是不是经常遇到这样的场景&#xff1a;电脑里存了几百上千张图片&#xff0c;需要逐一分析里面的内容&#xff0c;比如识别商品、统计信息或者分类归档&#xff1f;一张张手动处理&#xff0c;不仅效…...

ICLR2025杰出论文启示录:大模型安全、微调与知识编辑的三大前沿突破

1. 深度安全对齐&#xff1a;从表层防御到系统级防护 大语言模型的安全性问题一直是业界关注的焦点。普林斯顿大学和Google DeepMind的研究团队发现&#xff0c;当前主流的安全对齐方法存在一个致命缺陷——它们只停留在模型输出的前几个token层面。这就好比给房子装防盗门却忘…...

造相-Z-Image-Turbo 在运维监控中的创意应用:生成系统状态拟人化报告图

造相-Z-Image-Turbo 在运维监控中的创意应用&#xff1a;生成系统状态拟人化报告图 每次打开监控大屏&#xff0c;面对满屏跳动的数字和密密麻麻的曲线图&#xff0c;你是不是也感到一阵视觉疲劳&#xff1f;CPU 80%、内存占用率65%、网络丢包0.1%……这些冰冷的指标虽然精确&…...