当前位置: 首页 > news >正文

每日一题——LeetCode1566.重复至少K次且长度为M的模式

方法一 暴力枚举

var containsPattern = function(arr, m, k) {const n = arr.length;for (let l = 0; l <= n - m * k; ++l) {let offset;for (offset = 0; offset < m * k; ++offset) {if (arr[l + offset] !== arr[l + offset % m]) {break;}}if (offset === m * k) {return true;}}return false;
};

消耗时间和内存情况:

方法二: 计数法

var containsPattern = function(arr, m, k) {let len = arr.length;if(m * k > len) return false;let count = 0, total = m * (k - 1);for(let i = 0; i < len-m; i++) {if(arr[i] === arr[i + m]) {count++;if(count === total) return true;} else {count = 0;}}return false;
};

消耗时间和内存情况:

方法三 正则匹配

var containsPattern = function(arr, m, k) {return new RegExp(`((\\d,){${m}})\\1{${k - 1}}`).test(arr.join(',')+',');
};

消耗时间和内存情况:

http://www.lryc.cn/news/310311.html

相关文章:

  • 代码随想录刷题笔记-Day27
  • 【小沐学GIS】QGIS安装和入门使用
  • 黑马程序员——接口测试——day03——Postman断言、关联、参数化
  • Unreal触屏和鼠标控制旋转冲突问题
  • Vins-Moon配准运行
  • MSCKF3讲:后端理论推导(上)
  • 群控代理IP搭建教程:打造一流的网络爬虫
  • 【IO流系列】字符流练习(拷贝、文件加密、修改文件数据)
  • 华为云磁盘挂载
  • 通过大语言模型理解运维故障:评估和总结
  • SVN教程-SVN的基本使用
  • 【MySQL】数据查询——DQL基本数据库查询
  • 机器人持续学习基准LIBERO系列9——数据集轨迹查看
  • uniapp中canvas的基础使用
  • 中科大计网学习记录笔记(十七):拥塞控制原理 | TCP 拥塞控制
  • 老隋蓝海项目有人盈利的吗?怎么做比较好些呢?
  • 递归与递推(蓝桥杯 c++)
  • ArduinoTFTLCD应用
  • 《秦时明月》IP新高度:与陕西历史博物馆共同书写文化传承新篇章!
  • 2、事件机制、DOM操作、jquery对尺寸操作、jquery添加和删除
  • YOLOv6-Openvino和ONNXRuntime推理【CPU】
  • C语言:结构体(自定义类型)知识点(包括结构体内存对齐的热门知识点)
  • springboot240基于Spring boot的名城小区物业管理系统
  • Day13:信息打点-JS架构框架识别泄漏提取API接口枚举FUZZ爬虫插件项目
  • AJAX 学习笔记(Day1)
  • leetcode 740.删除并活得点数
  • 寻找峰值[中等]
  • 【ESP32 IDF】key按键与EXTI中断
  • Find My运动相机|苹果Find My技术与相机结合,智能防丢,全球定位
  • 零拷贝技术深入分析