代码随想录day5

Miniforge3部署教程,完美替代Anaconda3 大背景不介绍了,哎!直接上教程! 阅读详情

哈希表

快乐数

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
  • 如果这个过程 结果为 1,那么这个数就是快乐数。

如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

思路

1、无限循环其实就是找环的思路,可以借用链表中判断有无环的快慢指针方法
2、借助于集合判断是否有重复元素,若重复,则说明已进入循环

class Solution {
    public boolean isHappy(int n) {
        if(n == 1) return true;
        Set<Integer> set = new HashSet<>();
        set.add(n);
        while(true){
            int next = 0;
            // 求解next
            while(n > 0){
                next += (n % 10) * (n % 10);
                n = n / 10;
            }
            if(next == 1)
                return true;
            // 是否重复
            if(set.contains(next))
                break;
            set.add(next);
            n = next;
        }
        return false;

    }
}

//第二种快慢指针
class Solution {
    // 利用“快慢指针思想,找出循环”
    public boolean isHappy(int n) {
        int slow = n,fast = numSquaue(n);
        while(slow != fast){
            slow = numSquaue(slow);
            fast = numSquaue(numSquaue(fast));
        }

        return slow == 1;
        
    }   
    int numSquaue(int n){
        int sum = 0;
        while(n > 0){
            int bit = n % 10;
            sum += bit * bit;
            n = n / 10;
        }
        return sum;
    }
}

两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。
示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

思路

显而易见的是采用暴力解法可以求解,但时间复杂度过高,如何优化?
借助于Map集合,key - 值,value - 下标,在一次遍历中即可求解

class Solution {
    // 使用哈希表优化
    public int[] twoSum(int[] nums, int target) {
        int n = nums.length;
        Map<Integer,Integer> map = new HashMap<>();
        for(int i = 0;i < n;i++){
            if(map.containsKey(target - nums[i]))
                return new int[]{map.get(target - nums[i]),i};
            map.put(nums[i],i);
        }
        return new int[0];
    }
}
Postman调试海康ISAPI接口全记录:从鉴权失败到成功修改设备名的踩坑指南 本文详细记录了使用Postman调试海康ISAPI接口的全过程,从鉴权失败到成功修改设备名的实战经验。涵盖Digest认证机制、XML请求体构造、常见错误排查及代码实现过渡,帮助开发者高效解决海康设备集成中的各种问题。 阅读详情

相关推荐

宇树GO2-YOLOv5在Jetson Orin上的部署避坑实践

本文详细记录了在宇树GO2四足机器人搭载的Jetson Orin平台上部署YOLOv5目标检测模型的完整实践过程。文章重点分享了从ARM架构认知、网络连接解决方案、Archiconda环境搭建、PyTorch版本精准匹配到依赖安装与性能验证的核心步骤与避坑指南,旨在帮助开发者高效完成边缘计算环境下的算法部署。

app77的博客 669

代码随想录60期day5

【代码】代码随想录60期day5。

qq_19555169的博客 268

S4 Hana SD -信贷管理 - 02

在S4版本中,客户的信用管理数据在事务代码BP维护,业务伙伴角色是UKM000。在维护过程中,我们并不能直接输入信贷控制范围这个组织架构,而是需要输入一个信用段,并且在信用段的维度下去维护相应信用管理数据。对于信用段,可以分为主信用段(信用段是0000)和其他临时信用段,我们可以通过配置把次级信用段的客户信贷负债汇总到主信用段。当然,在后台也有配置,会把信用段和信贷控制范围这两者进行关联.3.2SPROIMG > 财务供应链管理 > 信用管理 > 信贷风险监视 > 主数据 > 创建信用段。

weixin_46525734的博客 1967

代码随想录刷题Day5

今天做完了关于双指针的题目了,总结一下,虽然主要的练习方向是双指针,在这个过程中,也零零碎碎地重新复习了一些关于C++类的知识点,比如string的初始化和比较;while的循环体的变化容易遗漏;如果类的函数定义过程中,有相似的功能块,可以试着抽象出来;在补充函数定义的时候,尤其是传入的参数是数组这样的地址变量的时候,不要轻易去改动数组的内容,最好是copy一份后再进行修改操作;

qq_57141819的博客 808

【参数不确定】敏感性分析(sensitivity analysis)

【运筹学】灵敏性分析

羊肉蛋花汤的博客 14万+

华为OD机试:使用Ascend C语言实现Matmul与LeakyReLU融合算子的全流程设计与优化解析

通过本文的详细解析,相信你已经对华为OD机试中基于Ascend C语言的Matmul+LeakyReLU融合算子的设计与实现有了深入的理解。我们不仅从理论上探讨了融合算子的核心优势,还通过实际的代码示例演示了如何一步步完成算子的实现与优化。融合算子在AI算子开发中的应用,尤其是在处理大规模矩阵计算的场景中,能够显著提升计算效率,优化内存占用,并减少数据传输的开销。通过合理的Tiling策略设计,我们还能够充分利用多核处理器的算力,进一步提升AI模型的训练与推理性能。

qq_38334677的博客 661

代码随想录day5 - 今天休息啊,强迫症。

代码随想录day5

weixin_42161901的博客 159

使用OpenCV从低对比度图像中提取圆形轮廓

希望本文能帮助您从低对比度图像中提取圆形轮在本文中,我们将探讨如何使用OpenCV库从低对比度图像中提取圆形轮廓。低对比度图像通常指的是图像中的亮度差异很小,导致物体边缘不够清晰的情况。在本文中,我们将探讨如何使用OpenCV库从低对比度图像中提取圆形轮廓。低对比度图像通常指的是图像中的亮度差异很小,导致物体边缘不够清晰的情况。通过预处理图像并应用Hough变换,我们能够在低对比度图像中准确地提取圆形轮廓。通过预处理图像并应用Hough变换,我们能够在低对比度图像中准确地提取圆形轮廓。

ByteWhiz的博客 350

代码随想录刷题day5

感悟:哈希表是无序且不重复的集合,数组也是一种简单的哈希表。哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。感悟:快速查找之前是否已经出现的数字,且不能重复,考虑哈希表。此题计算每位数上的平方和也需要讲究技巧。感悟:无序且不重复的集合,优先想到哈希表。输出结果中的每个元素一定是。编写一个算法来判断一个数。,编写一个函数来判断。1、有效的字母异位词。

LL_xjbt的博客 217

12-RK平台U-Boot启动流程

先看概述,把这一章要回答的问题摆出来,带着问题听。RK 特有的 BootROM -> MiniLoader -> SPL -> U-Boot -> Kernel。这是因为 RK 平台使用闭源的 DDR 初始化固件,需要通过 MiniLoader 来加载和运行。为什么多一层?这是 RK 平台的特殊性决定的。RK 平台使用闭源的 DDR 初始化固件,这段代码 Rockchip 不开源,只能以二进制形式提供,它需要一个载体来加载和运行,这个载体就是 MiniLoader。

内核笔记 1147

7.5华为OD机试真题 新系统 - 省超足球比赛获胜队伍计算 (Java/Py/C/C++/Js/Go)

7.5华为OD机试真题 新系统 - 省超足球比赛获胜队伍计算 (Java/Py/C/C++/Js/Go)

算法大师! 822

力扣349 代码随想录Day5 第二题

【代码】力扣349 代码随想录Day5 第二题。

2301_80653171的博客 193

RT-DETR改进有效系列目录 | 包含卷积、主干、RepC3、注意力机制、Neck上百种创新机制

Hello,各位读者们好Hello,各位读者,距离第一天发RT-DETR的博客已经过去了接近两个月,这段时间里我深入的研究了一下RT-DETR在ultralytics仓库的使用,旨在为大家解决为什么用v8的仓库训练的时候模型不收敛,精度差的离谱的问题,我也是成功的找到了解决方案,对于ultralytics仓库进行多处改进从而让其还原RT-DETR官方的实验环境从而达到一比一的效果。同时本人一些讲解视频和包含我所有创新的RT-DETR文档。

Snu77的博客 3万+

力扣 242 代码随想录Day5 第一题

【代码】力扣 242 代码随想录Day5 第一题。

2301_80653171的博客 251

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

力扣1 代码随想录Day5 第三题

【代码】力扣1 代码随想录Day5 第三题。

2301_80653171的博客 273

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

代码随想录Day5

快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。题意:给定两个数组,编写一个函数来计算它们的交集。

HNTZB的博客 864

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Day5 代码随想录 刷题记录

今日共完成3题,总用时2h10mins。整体效率较高,对于链表结构的理解有所加深。

windyyyyyyyyyyy的博客 352

代码随想录Day5:哈希表与双指针算法实战解析

哈希表和双指针是算法与数据结构中的核心概念,广泛应用于数据处理和性能优化场景。哈希表通过键值映射实现快速查找,其O(1)时间复杂度特性在字母统计、缓存系统等场景表现优异;双指针技术则通过协同遍历有效解决链表环检测、有序数组去重等问题。本文以LeetCode经典题型为例,深入剖析哈希表在字母异位词检测中的优化技巧,以及双指针在快乐数判定中的巧妙应用。通过五步拆解法和三维调试法,开发者可以系统提升算法实现与问题排查能力,这些方法在电商平台敏感词过滤、支付系统订单号校验等真实业务中具有重要工程价值。

weixin_30851867的博客 424

代码随想录算法day5

哈希值比较少、特别分散、跨度非常大,使用数组就造成空间的极大浪费。总结一下,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!创建了一个HashSet,该集合不允许重复元素且没有顺序保证。操作这些集合的方法包括添加、删除、检查元素以及遍历集合等。由于基于哈希表,HashSet提供了高效的性能。

weixin_48485132的博客 2140

代码随想录Day5总结

链表 leetcode go 数据结构

evilwave的专栏 137

代码随想录|day5

做了一些改进的尝试,嘻嘻。说明:此篇为阅读学习刷题notes,参考内容均标注链接。用法速览:1.2.

donge520的博客 985

代码随想录算法训练营Day5 | Leetcode 242有效的字母异位词 、349两个数组的交集、202快乐数、1两数之和

快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出。如果这个过程 结果为 1,那么这个数就是快乐数。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。编写一个算法来判断一个数 n 是不是快乐数。

叽里呱啦大王的博客 1142

代码随想录算法训练营day5

代码随想录day5

weixin_44520607的博客 408

代码随想录Day5|

142.环形链表II。

zdmh1234的博客 1808

代码随想录day5--哈希表基础

当我们遇到要。

weixin_66278978的博客 1094
上一篇: 01-创建简单的Bean容器
下一篇: 代码随想录day6
Strongwind_
博客等级 码龄7年 139粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值