LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树
74. 搜索二维矩阵
class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row = matrix.size();int col = matrix[0].size();for(int i=0;i<row;i++) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target && matrix[i-1][col-1]<target)return false;//锁定某一行之后使用二分查找if(matrix[i][0] <=target && matrix[i][col-1]>=target) {int begin=0,end=col-1;while(begin<=end) {int mid = begin + (end-begin)/2;if(matrix[i][mid] > target) {end = mid-1;}else if(matrix[i][mid] < target) {begin = mid+1;}if(matrix[i][mid]==target)return true;}}}return false;}
};
33. 搜索旋转排序数组
二分法,稍微区分了一下左侧有序还是右侧有序

class Solution {
public:int search(vector<int>& nums, int target) {if(nums.size()==0)return -1;if(nums.size()==1)return nums[0]==target?0:-1;int left = 0, right = nums.size()-1;while(left<=right) {int mid = left+(right-left)/2;if(nums[mid]==target)return mid;else if(nums[0] <= nums[mid]) {if(nums[0] <=target && target < nums[mid])right = mid-1;else left = mid+1;}else {if(nums[mid] <target && target <= nums[nums.size()-1]) left = mid+1;else right = mid-1;}}return -1;}
};
153. 寻找旋转排序数组中的最小值

class Solution {
public:int findMin(vector<int>& nums) {if(nums.size()==1)return nums[0];int n = nums.size()-1;int left = -1,right = n;int res = nums[0];if(nums[0] < nums[n])return res;while(left+1<right) {int mid = left+(right-left)/2;if(nums[mid] < nums.back())right = mid;elseleft = mid;}return nums[right];}
};
98. 验证二叉搜索树
通过中序遍历,得到有序的数组,在判断数组是否严格递增
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:void traversal(TreeNode* root,vector<int>& res) {if(root==NULL)return;if(root->left)traversal(root->left,res);res.push_back(root->val);if(root->right)traversal(root->right,res);}bool isValidBST(TreeNode* root) {if(!root)return true;vector<int> res;traversal(root,res);for(int i=1;i<res.size();i++) {if(res[i] <= res[i-1])return false;}return true;}
};
118. 杨辉三角
res即dp数组,寻找res[i][j]的更新规律
class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> res(numRows);for(int i=0;i<numRows;i++) {res[i].resize(i+1);res[i][0] = res[i][i] = 1;for(int j=1;j<i;j++) {res[i][j] = res[i-1][j]+res[i-1][j-1];}}return res;}
};相关文章:
LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树
74. 搜索二维矩阵 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row matrix.size();int col matrix[0].size();for(int i0;i<row;i) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target…...
C++仿函数
在C中,我们经常需要对类中的元素进行比较,例如在排序、查找等操作中。为了使类更加灵活,我们可以通过自定义比较函数来实现不同的比较方式。在本文中,我们将探讨如何在类中使用仿函数和 Lambda 表达式来定义自定义比较函数。 1. …...
文献阅读:tidyomics 生态系统:增强组学数据分析
文献介绍 文献题目: The tidyomics ecosystem: enhancing omic data analyses 研究团队: Stefano Mangiola(澳大利亚沃尔特和伊丽莎霍尔医学研究所)、Michael I. Love(美国北卡罗来纳大学教堂山分校)、Ant…...
MySQL运维实战之Clone插件(10.1)使用Clone插件
作者:俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表,clone得到的是原数据库的一个一致性的快照,可以使用该快照数据来启动新的实例。cl…...
【系统架构设计】数据库系统(三)
数据库系统(三) 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...
免费视频批量横版转竖版
简介 视频处理器 v1.3 是一款由是貔貅呀开发的视频编辑和处理工具,提供高效便捷的视频批量横转竖,主要功能: 导入与删除文件:轻松导入多个视频文件,删除不必要的文件。暂停与继续处理:随时暂停和继续处理。…...
内存管理(知识点)
c语言与c对于内存管理的区别 c语言中动态内存管理方式 malloc\calloc\realloc\free c内存管理方式 c兼容c语言所以c语言中的方式也可以使用 但是用起来太麻烦 所以通过new和delete操作符竞选动态内存管理 单个对象 c语言: int* p2(int*)malloc(sizeof(int)) c : int*p3 new…...
【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel
持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel 简介熔断降级什么是熔断什么是降级相同点不同点 整合Sentinel自定义sentinel流控返回数据使用Sentinel来保护feign远程调用自定义资源给网关整合Sentinel参考 简介 熔断降…...
防范UDP Flood攻击的策略与实践
UDP Flood攻击是一种常见的分布式拒绝服务(DDoS)攻击手段,通过向目标服务器发送大量无效的UDP数据包,消耗其网络带宽和处理资源,最终导致合法的网络服务无法正常运行。本文将深入探讨UDP Flood攻击的原理、常见的防御策…...
昇思25天学习打卡营第17天 | CycleGAN图像风格迁移互换
通过深入学习CycleGAN模型,我对无监督图像到图像的转换技术有了更深的理解。CycleGAN不仅能在没有成对训练样本的情况下实现域之间的转换,而且在保持内容结构的同时成功转换图像风格,这在许多应用中都非常有用,如艺术风格转换、季…...
Leetcode 2520. 统计能整除数字的位数
问题描述: 给你一个整数 num ,返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 ,则认为整数 val 可以整除 nums 。 示例 1: 输入:num 7 输出:1 解释:7 被自己整除࿰…...
WEB前端08-综合案例(动态表格)
使用 HTML、CSS 和 JavaScript 创建动态表格 在本教程中,我们将创建一个动态表格,允许用户添加行、选择项目,并执行批量操作,如全选或删除选中的行。我们将通过 HTML、CSS 和 JavaScript 来实现这一功能。让我们逐步了解每个部分…...
【面试题】Redo log和Undo log
Redo log 介绍Redo log之前我们需要了解一下,mysql数据操作的流程: 上述就是数据操作的流程图,可以发现sql语句并不是直接操作的磁盘而是通过操作内存,然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域: 缓…...
开发实战经验分享:互联网医院系统源码与在线问诊APP搭建
作为一名软件开发者,笔者有幸参与了多个互联网医院系统的开发项目,并在此过程中积累了丰富的实战经验。本文将结合我的开发经验,分享互联网医院系统源码的设计与在线问诊APP的搭建过程。 一、需求分析 在开发任何系统之前,首先要…...
springboot系列教程(十六):配置Actuator组件,实现系统监控
一、Actuator简介 1、监控组件作用 在生产环境中,需要实时或定期监控服务的可用性。Spring Boot的actuator(健康监控)功能提供了很多监控所需的接口,可以对应用系统进行配置查看、相关功能统计等。 2、监控分类 Actuator 提供…...
单臂路由组网实验,单臂路由的定义、适用情况、作用
一、定义 单臂路由是指通过在路由器的一个接口上配置许多子接口,从而实现原来相互隔离的不同VLAN之间的互通。 子接口:把路由器上的实际的物理接口划分为多个逻辑上的接口,这些被划分的逻辑接口就是子接口。 二、适用情况 用在没有三层交换机,却要实现不同VLAN之间的互…...
【数据结构初阶】顺序表三道经典算法题(详解+图例)
Hello!很高兴又见到你了~~~ 看看今天要学点什么来充实大脑吧—— 目录 1、移除元素 【思路图解】 【总结】 2、删除有序数组中的重复项 【思路图解】 【总结】 3、合并两个有序数组 【思路图解】 【总结】 至此结束,Show Time! 1、…...
SpringBoot接入JPA连接数据库H2或MySQL例子
一,JPA相关的常用注解和对象 Entity,用于实体类声明语句之前,指出该Java类为实体类,将映射到指定的数据库表;Table,当实体类与其映射的数据库表名不同名时需要使用。该标注与Entity标注并列使用&…...
持续集成05--Gogs的安装与使用
前言 在持续集成/持续部署(CI/CD)的旅程中,版本控制系统是不可或缺的一环。当我们在使用jenkins,想要达到测试脚本有更新,就让项目自动去进行构建,或者当开发脚本有更新,也可以自动去构建的效果…...
C++--fill
把[first,last)之间的元素填充为val。 template<class ForwardIterator, class Type> void fill( ForwardIterator first, //起始迭代器 ForwardIterator last, //结束迭代器 const Type& val //设置的值 );源码剖析 template<class ForwardIterator, c…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
