| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> LeetCode_前缀和_哈希表_中等_523.连续的子数组和 -> 正文阅读 |
|
[数据结构与算法]LeetCode_前缀和_哈希表_中等_523.连续的子数组和 |
1.题目给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 如果存在,返回 true ;否则,返回 false 。 示例 1: 示例 2: 示例 3: 提示: 来源:力扣(LeetCode) 2.思路(1)前缀和数组 (2)前缀和数组 & 同余定理 & 哈希表 ① 同余定理: ② 这里承接思路 1 代码中的前缀和数组 preSum,
③ 定义哈希表 hashMap,key 对应 preSum[i] % k,value 对应 i ④ 遍历过程如下: ⑤ 如果遍历结束仍未找到符合要求的子数组,则最后返回 false。 这里需要注意的是,由于在计算 preSum[j] % k = (preSum[j - 1] + nums[j]) % k 时,当前的 preSum[j] 只与 preSum[j - 1] 和 nums[j] 有关,且 nums[j] 已知,所以在代码中可以直接使用变量来代替数组,这样可以降低空间复杂度。 3.代码实现(Java)
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:32:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |