深圳建站公司 企网站仪征做网站

news/2025/9/24 6:47:17/文章来源:
深圳建站公司 企网站,仪征做网站,团购网站建设,网站做推广页需要什么Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏#xff1a; 算法Journey 本篇博客我们分享一下双指针算法中的快慢指针以及对撞双指针#xff0c;下面我们开始今天的学习吧~ #x1f3e0; 快乐数 #x1f4d2; 题… Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页:       9ilk (๑•́ ₃ •̀๑) 文章专栏    算法Journey   本篇博客我们分享一下双指针算法中的快慢指针以及对撞双指针下面我们开始今天的学习吧~ 快乐数 题目解析 题目链接202. 快乐数 - 力扣LeetCode 题目内容 对于这道题题中告诉了我们快乐数的定义也就是说9对于一个正整数经过变换会进入两种循环1.一种是一直循环12.另一种是不同数的循环 算法原理 思路1  找规律 这个思路本人按照以往学数学的规律发现不满足快乐数的会陷入4-16-37-58-89-145-42-20的循环当中 因此我们的思路是申请一块数组空间当某个正整数变化到这个数组中的某个数时说明不是快乐数反之一直变化都没出现这里面的数变化到1停止说明就是快乐数。 参考代码 class Solution { public:int squre(int n){int sum 0 ;while(n 0){sum ((n%10)*(n%10));n / 10;}return sum;}bool find(vectorint v1,int x){for(int i 0 ; i v1.size();i){if(v1[i] x)return true;}return false;}bool isHappy(int n) {if(n 1)return true;vectorint v1 {4,16,37,58,89,145,42,20};int sum n;while(sum ! 1){sum squre(sum);if(find(v1,sum))return false;elsecontinue; }return true;} }; 思路2 快慢指针 思路1属于投机取巧的做法,猜到就是赚到,万一猜不到呢? 我们由题目可知,这个正整数只有两种变化情况,有的朋友可能会想是否有可能不会进入循环一直变成不同的数呢?答案是不可能 ! 证明过程: 1.鸽巢(抽屉)原理:如果有n个巢,n1只鸽子,那么至少有一个巢的鸽数大于1. 2.对于这道题而言最大为21亿多( 2147483647),也就是最多有10个位,假设每一位都是9,即9999999999,那么经过一次变换就是9*9*10 810 3.int范围内每个正整数经过一次变化在[0,810]这个闭区间内,那么假设存在某个数经过810次变换后都是不同的数,但再变一次这个数一定是之前变换过程中的一个数,类比来看,这个闭区间就相当于鸽巢,因此一定会进入循环! 既然只有两种情况,我们看到两种环是否感到熟悉,我们在解决链表是否带环问题,常用的解决方法就是快慢指针 这里我们要打破固有思维,我们要理解的是快慢指针的应用场景,在这里slow走一步相当于这个正整数变化一次,fast走两步,相当于这个正整数变化两次 总结快慢指针思路:slow变化一次,fast变化两次,通过判断他们相遇时(变化成的数相等时),这个数是否变化为1,为1则说明是快乐数;反之不是. 参考代码 class Solution { public:int squre(int x){int sum 0;while(x 0){sum ((x%10)*(x%10));x / 10;} return sum;}bool isHappy(int n){int slow squre(n);int fast squre(squre(n));while(slow ! fast){slow squre(slow);fast squre(squre(fast));}if(slow 1){return true;}return false;}}; 盛最多水的容器 题目解析 题目链接11. 盛最多水的容器 - 力扣LeetCode 题目内容 这道题目简单来说就是让我们确定横坐标差值m以及纵坐标n,使得m*n最大 算法原理 思路1 暴力求解 对于这道题我第一时间能想到的就是暴力求解套两个循环定义一个max变量不断比较更新max class Solution { public:int maxArea(vectorint height){int maxV 0;for(int i 0 ; i height.size() ; i){for(int j i 1 ; j height.size() ; j){int row j - i;int col height[i] height[j] ? height[i] : height[j];if(maxV row*col)maxV row*col;}}return maxV;} }; 但题目不给我们过O(N^2)的解法需要另寻他路 思路2 对撞指针 发现规律 假设在【6,2,3,4】这个区间我们设横坐标值为m纵坐标的值为n,则固定住44左边的数分别与4求体积我们会发现这样的一个规律 结论当区间左右端点值较小的值固定住后不断逼近过程中V一定是一定减小的那么左右端点值形成的V就是这段区间中最大的 发现完这个规律我们就可以避免了很多不必要情况的枚举直捣黄龙取“最大”。 对撞指针所谓对撞指针就是定义一个left指针和一个指针分别指向容器的左右端left和right分别向中间逼近当left right或 left right时停止遍历。 结合我们发现的规律以及对撞指针的原理我们的代码思路就是left和right分别向中间逼近比较left和right 位置对应位置的较小值固定 left / right求出左右端点值对应的v由发现的规律知此时的v就是这个对应左右边界最大的v接着移动left / right继续下一个左右区间...直到left 和 right 相遇。 参考代码 class Solution { public:int maxArea(vectorint height) {int left 0;int right height.size() - 1;vectorint v1;while(left right){int v (right-left)*(height[left] height[right] ? height[left] :height[right]);v1.push_back(v);cout v left :left right: right endl;if(height[left] height[right]){left;}else if(height[left] height[right]){right--;}else{left;}}int maxV 0;for(int i 0 ; i v1.size();i){if(v1[i]maxV)maxV v1[i];}return maxV;} }; 总结本篇博客我们介绍了双指针算法中的快慢指针和对撞指针快慢指针常用于解决“带环”问题对撞指针需要我们先发现规律确定好对撞停止条件以及对撞指针更新的条件一般适用于排除区间或查找某种条件是否成立的场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设工具哪个好王也踏青图

2028. 找出缺失的观测数据 现有一份 n m 次投掷单个 六面 骰子的观测数据,骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份,你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n m 次投掷数据的 平均值 。 给你一个长度为 m 的整数数组 …

tomcat做的网站打不开了常见的网页布局结构有哪些

1、理解数据库的4个基本概念:数据、数据库、数据管理系统、数据库系统。 序号名称概念理解1数据描述事物的符号,用于鉴别信息。2数据库是有组织可共享的数据集合,数据库存储的数据具有永久存储性,有组织、可共享的三个基本特征。3数据管理系统是一个综合的软件系统,用于管…

免费的中文logo网站徐州建设局网新网站

229. 求众数 II 给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 示例 1:输入:[3,2,3] 输出:[3]示例 2:输入:nums [1] 输出:[1]示例 3:输入:…

网站备案查询是什么意思宁波企业seo推广

jvm gc阻塞时长 占比这篇文章着眼于转义分析,特别是jvm在运行的程序中执行转义分析需要多长时间。 我做了一些观察,但目前还没有全部解释。 作为介绍,让我们绕道看看jvm -Xcomp中一个鲜为人知且使用更少的标志(我们将看到这是一件…

河北省建设厅网站6做网站的哪里便宜

文章目录 🍔需求🎄思路⭐代码⭐效果🛸注意 在 Java 中,读取文件通常涉及以下几个步骤: 打开文件:首先需要创建一个文件对象,表示要读取的文件。这个文件对象可以包含文件路径、文件名等信息。 …

网站建设与管理的认识廊坊市建设局网站

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

唯美谷智能网站建设系统企业网站建设规划ppt

DevOps名词定义梳理 极限编程座右铭:如果它令你很受伤,那么就做更多的练习(If it hurts, do it more often) 经常人们会把这些名词用错: 构建:就是把源代码制成成品的过程,这个过程一般会有单元…

沈阳网站建设那家好青岛网站维护公司

在PyTorch的torchvision.transforms库中,有许多常用的图像变换函数可用于数据增强和预处理。下面列举了一些常用的函数及其用法: Resize(size): 调整图像大小为给定的尺寸。 transform transforms.Resize((256, 256))RandomCrop(size, paddingNone): 随…

做瞹瞹爱视频网站北京vi设计招聘

滑动窗口与堆结合 堆与滑动窗口问题的结合 LeetCode239给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位,返回滑动窗口中的最大值。  对于最大值、K个最大这种场…

厦门亚龙网站建设社区网站建设公司

为什么80%的码农都做不了架构师?>>> ASP.NET3.5 企业级项目开发 -- 第二章 数据访问层(DAL)的开发 前言:本篇主要讲述数据访问层的开发,而且为了大家交流,已经创建企业项目开发团队&…

建站快车环保部网站建设项目重大变动

目录 5.7 获取组合计划Get Composite Schedule-概述 1. 目的 2. 消息类型 3. 消息格式 GetCompositeSchedule.req GetCompositeSchedule.conf 4. 使用场景 5.7 获取组合计划Get Composite Schedule-原文译文 5.7 获取组合计划Get Composite Schedule-概述 在OCPP 1.6协议中,第…

wordpress加载时间两秒谷歌排名网站优化

热应力 热膨胀子节点 热膨胀输入类型 假如直接知道热膨胀大小,可以直接对热应变进行赋值。 约束与载荷 对于自由膨胀,可以添加抑制刚体运动。 案例分析 在参数部分,设定体积参考温度Tref,假定在25[degC]模型无热应变。 APP开发器-…

越秀网站建设策划网站制作沈阳

定义不同模式主题 自定义颜色 输入框 委托和协议 扩展 协议 http 请求 调用api 闭包

域名注册服务网站查询游戏网页设计模板

今早接到同事电话,说安装oracle 11g客户端的时候,在检查先决条件的时候,报错,说内存不足,但是本机的内存是2G,肯定够用:如图: 找了一圈,原来Oracle执行先决条件检查是依赖…

对网站做数据统计的目的是什么优化方案官方网站

新版地址:添加安全规则 新网站界面改动比较大,记录一下这个地址便于下次直接添加安全组规则

公司网站的建设要注意什么网站需要流量

老套路,一图胜千言,框图可能有点随意,后面我会解释 先描述下背景,编程语言是QT5 C,在Modbus线程内有一个死循环,一直在读8个线圈的状态,该线程内读到的消息会直接发送给UI线程,UI线程会解析Modb…

手机网站 制作技术企业门户网站开发平台的设计与实现

​上一篇文章种蚂蚁先生跟大家详细分析了产品成本的组成,其主要分为材料成本和制造成本两个部分。 然而要得到制造成本,则必须有标准工时数据。那么标准工时究竟是什么呢?​标准工时制: 标准工时是在标准工作环境下,进…

厦门seo网站关键词优推广佛山专业网站制作设计

实验要求: 结对开发伙伴: 姓名:陶雨洁 博客地址链接:http://www.cnblogs.com/Amyheartxy/p/6736268.html 一、设计思想 其实在课堂上,老师已经点出了一点思路,已经很接近于答案,具体思路如下&am…

上海网站开发与wordpress 评论倒序

状态机这个概念已经在网上的博客和论坛中都已经说烂了,随便一搜都有一大堆。相关的废话就不多说了,在这里主要是分享一下如何可视化的设计状态机,如何增强项目的灵活性。这里通过一个生活中的电梯来了解一下状态机。 电梯逻辑如下图&#xf…

加盟型网站制作中型电商网站维护费用

系列介绍 我一直在写关于AgileEAS.NET平台的一系列文章,也一直在推广AgileEAS.NET平台,本来也无意于独立的写这么一个系列,最早我是混杂在AgileEAS.NET平台中进行介绍的,即介绍平台的同时介绍平台以及应用平台进行开发所涉及的一些…