开发技巧:获取序列中的排列模式

应用情景

  • 设序列A=[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2];
  • 设序列B=[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 3];
  • A中包含的模式为:[1,2,3]、[1,2,3,1,2,3],最后的[1,2]可以看作不完整的[1,2,3],所以不会破坏规律;
  • B中包含的模式为:无,因为最后那个3使得完全没有规律了。

使用方法

var Utils = require('geoUtils');
var A = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2];
var B = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 3];
var resultA = Utils.array.findPatternsInSequence(A);
var resultB = Utils.array.findPatternsInSequence(B);
// 结果
// resultA = [
//    [1, 2, 3],
//    [1, 2, 3, 1, 2, 3]
// ]
// resultB = []

方法说明

源码在geoArrayUtils.js中

  • 使用该方法即可找到序列中存在的所有排列模式;
  • 若仅仅判断序列中是否有模式,只需要检查方法返回的数组是否为空数组。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 12,947评论 0 13
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 几十双眼睛齐刷刷的看着他,眼中充满着期待, 他站在那里良久,怒捶了一下桌子“诗都背好了吗?字会写了吗?” 陆续有几...
    萧瑶剑客阅读 3,375评论 0 2
  • 根据慕课网教程,整理相关知识如下: 一、border-widthborder-width不支持百分比,类似的还有o...
    c05436bafae5阅读 4,253评论 0 0
  • 正如Tensorflow的官网所示:TensorFlow 提供一个包含多个 API 层的编程堆栈其架构图如下。用户...
    王同学死磕技术阅读 9,530评论 1 11