算法day02

news2024/11/16 22:46:41

1、202. 快乐数

如上题所述:

         在该题意规则下,所有的数字变化会有两种情况,其一最后是有的会变化成恒为1的数;其二是有的数会变化会呈现成有规律的环,分别如下图所示:

        可以近似的理解为图一就是一个环,只不过该环的数字都为一;

故此解题思路如下所示:

        本题采用快慢指针,快满指针终究会在环里面相遇,当相遇到的数的数值不为一,则该数不是快乐数,反之则该数为快乐数,代码如下;

class Solution {
   
   public int squsum(int n){
    int sum = 0;
        while(n != 0){
            int temp = n % 10;
            sum += temp * temp;
            n = n / 10; 
        }
        return sum;
   }

    public boolean isHappy(int n) {
       int slow = n,fast = squsum(n);
       while(slow != fast){
        slow = squsum(slow);
        fast = squsum(squsum(fast));
       }
       if(fast == 1){
        return true;
       }else{
        return false;
       }
    }
}

2、11. 盛最多水的容器

 

有上述题意所述,采用左右双指针和单调性的规律解题:

1、定义左右双指针,从最左边和最右边取其中最小的值与指针之间的宽度进行计算其容积并记录在案;

2、有单调性规律可知,选择指针所指数据小的指针移动,并重复第一步,最后比较两次的容积,取最大值;

3、重复上述两个步骤,当左右指针重合时,该循环结束;

代码如下:

class Solution {
    public int maxArea(int[] height) {
    int left = 0,right = height.length-1,res = 0;
    while(left < right){
        int res1 = Math.min(height[left],height[right]) * (right - left);
        res = Math.max(res,res1);
        if(height[left] < height[right]){
            left ++;
        }else{
            right --;
        }
    }
    return res;
    }
}

 3、611. 有效三角形的个数

        判断三角形的简化准则:最小的两数之和大于最大的一数,则三者可以构成一个三角形;

此题我们使用前后双指针和单调性的规律来解题,算法步骤如下:

步骤一:将数组从小到大序列化;

步骤二:首先固定最右边的最大数;

        如下图所示,找到当前的左右指针,计算指针所指两数之和是否大于固定的最大值;

        情况一:当前的左右指针,计算指针所指两数之和是大于固定的最大值

由于左数+右数>max;所以有单调性可知,(1,14)范围之内的所有数+右数大于max,故此此时可以构成三角形的个数有right-left个,之后right左移;

        情况二:当前的左右指针,计算指针所指两数之和是小于固定的最大值

        由于单调性可知,left右移一个,从而进行新的判断;

步骤三:重复一二步骤的操作,知道max最大值小于到2位置时,循环结束;

代码如下:

class Solution {
    public int triangleNumber(int[] nums) {
        Arrays.sort(nums);
        int res = 0, n = nums.length;
        for(int max = n-1;max >= 2; max --){
            int left = 0,right = max - 1;
            while(left < right){
                if(nums[left] + nums[right] > nums[max]){
                    res += right - left;
                    right --;
                }else{
                    left ++;
                }
            }
        }
        return res;
    }
}

ps:本次的内容就到这里了,如果大家感兴趣话,就请一键三连哦!!! 

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

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

相关文章

Oracle 23ai rpm安装配置及问题处理

1.安装介质下载 Oracle 23ai 免费版本已经正式发布&#xff0c;Oracle官网提供免费的下载试用&#xff08;无需账号&#xff09;地址如下 官网下载和试用地址 Oracle Database 23ai Free&#xff1a; https://www.oracle.com/database/free/get-started 三种安装方式可选…

Cheetah3D for Mac - 轻松打造专业级3D作品

对于追求专业级3D作品的设计师来说&#xff0c;Cheetah3D for Mac无疑是一款不可多得的工具。 这款软件拥有强大的建模、渲染和动画功能&#xff0c;能够满足您在3D设计方面的各种需求。通过简单的操作&#xff0c;您可以轻松构建出复杂的3D模型&#xff0c;并为其添加逼真的材…

js自定义实现类似锚点(内容部分滚动)

场景&#xff1a; 效果图如上&#xff0c;类似锚点&#xff0c;但是屏幕不滚动。高度计算我不是很熟练。for循环写的比较麻烦。element plus 和Ant Design有类似组件效果。 html&#xff1a; <template><div><div style"height: 400px;" class&q…

新手如何便捷使用HTTP代理

便捷地使用HTTP代理主要涉及到设置和使用两个步骤。下面是在不同环境和使用场景下如何设置和使用HTTP代理的详细介绍: 1.浏览器设置: 打开浏览器的设置菜单&#xff0c;找到网络设置或代理设置的选项。在代理设置中&#xff0c;填写代理服务器的地址和端口号。不同的浏览器设…

Springboot+vue项目影城管理系统

摘 要 本论文主要论述了如何使用JAVA语言开发一个影城管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述影城管理系统的当前背景以及系统开发的目的&…

vue3+ant design实现表格数据导出Excel

提示:实现表格数据导出Excel 文章目录 前言 一、安装ant design? 二、引用ant design 1.搭建框架 2.获取表格数据 三、封装导出表格的代码 四、导出 1.获取导出地址 2.在下载导出事件中添加导出代码 五、全部代码 前言 今天终于有时间来更新文章了,最近公司项目比较紧…

图:广度优先遍历(BFS)和深度优先遍历(DFS)

1.工具类&#xff1a;队列和字典 export class DictionNary {// 字典的封装constructor() {this.items {}}set(key, value) {// 添加键this.items[key] value}has(key){// 判断键是否存在return this.items.hasOwnProperty(key)}get(key){// 获取键的valuereturn this.has(k…

民航电子数据库:数据库的备份与恢复

目录 前言备份库级逻辑备份示例 恢复库级的逻辑恢复示例 前言 民航电子数据库的备份与恢复 备份 库级逻辑备份 备份目标库下所有的对象 。 因此 &#xff0c;库级逻辑备份需要由备份库的管理员&#xff08;SYSDBA&#xff09;登录至备份目标库进行操作。 语法格式 &#xff1…

粤港澳青少年信息学创新大赛 Python 编程竞赛(初中部分知识点整理)

一、考试大纲梳理 知识内容 知识目标 计算机基础与编程环境&#xff0c;历史&#xff0c;存储与网络变量定义和使用基本数据类型&#xff08;整型&#xff0c;浮点型&#xff0c;字符型&#xff0c;布尔型&#xff09;&#xff0c;数据类型的转换控制语句结构&#xff08;顺序…

微服务架构与Spring Cloud

1 微服务架构 1.1 微服务架构概述 微服务架构&#xff08;Microservice Architecture, MSA&#xff09;是一种新型的服务端架构设计方案&#xff0c;通过将应用程序拆分成多个小型、自治的服务&#xff0c;实现了服务的松耦合和快速迭代。 微服务架构特征主要包括以下几个方面…

✯ ✯ ✯ 绍兴ISO27001认证:信息安全新征程✯ ✯ ✯

&#x1f308;&#x1f308;绍兴ISO27001认证&#xff1a;&#x1f353;信息安全新征程&#x1f4af; &#x1f604;大家好&#xff01;今天&#xff0c;&#x1f601;我无比激动地想要和大家分享&#x1f352;一个关于我们⭐绍兴的大新闻&#xff01;&#x1f389;&#x1f38…

Oracle-一次TX行锁堵塞事件

问题背景&#xff1a; 接用户问题报障&#xff0c;应用服务出现大量会话堆积现象&#xff0c;数据库锁堵塞严重&#xff0c;需要协助进行问题定位和排除。 问题分析&#xff1a; 登录到数据库服务器上&#xff0c;首先查看一下数据库当前的等待事件情况&#xff0c;通过gv$ses…

AI一键换装超强电商生产力工具下载

支持win版本&#xff0c;对电脑硬件有一定的要求。建议固态硬盘留足至少30 G的空间&#xff0c;显卡n卡显存至少4G。一些低端独立显卡可能还不如高配cpu集成。 程序文件比较大&#xff0c;因为涉及到大型模型。 下载链接在后面 下载链接&#xff1a; https://pan.baidu.com…

应聘项目经理,软考证书会是一个加分项吗?

加分项是必需的&#xff0c;特别是IT行业的项目经理职位。您可以在各大招聘网站上搜索项目经理职位&#xff0c;前景好、薪资高、待遇好的项目经理岗位&#xff0c;基本上都有证书的要求。非IT行业项目经理&#xff0c;可以考虑PMP证书或者其他与专业相关的证书&#xff0c;比如…

elementUI表格table文字不换行

在对应不需要换行的列加上属性&#xff1a;:show-overflow-tooltip"true" 即可

uniapp——列表分享当前话题(一个页面多个分享)

案例 分享的时候弹出对应的标题和默认第一张图片 代码 <view v-for"(item,index) in list" :key"index"><button open-type"share" :id"index" click.stop"()>{}"><image src"/static/images/cir…

马化腾用“不负众望”,来评价视为“全村希望”的视频号

我是王路飞。 2023年的视频号&#xff0c;给了腾讯足够的惊喜。 去年一年&#xff0c;视频号电商GMV实现近3倍增长&#xff08;约为1200亿&#xff5e;1500亿&#xff09;。2023年三季度&#xff0c;视频号总播放量同比增长超50%&#xff1b; 2023年视频号供给数量同比增长超…

上班不想用脑子写代码了怎么办?那就试试Baidu Comate啊宝贝

本文目录 前言1、视频编程实战1.1、熟悉代码库中的代码1.2、参考现有代码编写新代码 2、下载使用教程3、使用体验3.1、AutoWork 产品测评3.2、解决有关ajax请求后重定向问题3.3、询问编程相关知识3.3.1、cookie和session的区别与联系3.3.2、数据库中主键外键的相关知识 4、问题…

卡牌——蓝桥杯十三届2022国赛大学B组真题

样例输入 4 5 1 2 3 4 5 5 5 5样例输出 3样例说明 这 5 张空白牌中,拿2张写1,拿1张写2,这样每种牌的牌数就变为了3,3,3,4, 可以凑出 3套牌,剩下2张空白牌不能再帮助小明凑出一套。 评测用例规模与约定 对于30%的数据&#xff0c;保证n ⩽ \leqslant ⩽ 2000; 对于100%的数据…

区块链中的加密算法及其作用

区块链技术以其去中心化、不可篡改、透明公开的特性&#xff0c;在全球范围内引发了广泛的关注和讨论。其中&#xff0c;加密算法作为区块链技术的核心组成部分&#xff0c;对于维护区块链网络的安全、确保数据的完整性和真实性起到了至关重要的作用。本文将详细介绍区块链中常…