查找数组的最大切片 | JavaScript

2024-02-24

我需要找到包含不超过两个不同数字的数组的最大切片。

这是我的数组[1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 6, 2, 1, 8]

我对此的思考过程是找到不重复的数字并在新数组中返回它们的索引。

这是我到目前为止所拥有的:

function goThroughInteger(number) {
    var array = [];
    //iterate the array and check if number is not repeated   
  number.filter(function (element, index, number) {
    if(element != number[index-1] && element != number[index+1]) {
        array.push(index);
      return element;
    }
  })

    console.log(array);
}
goThroughInteger([1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 6, 2, 1, 8]);

我不确定下一步该去哪里,我正在努力理解这个问题 - 找到包含不超过两个不同数字的最大切片 - 这让我感到困惑。


具有单个循环的解决方案,它检查最后的值并递增计数器。

function getLongestSlice(array) {
    var count = 0,
        max = 0,
        temp = [];

    array.forEach(function (a) {
        var last = temp[temp.length - 1];

        if (temp.length < 2 || temp[0].value === a || temp[1].value === a) {
            ++count;
        } else {
            count = last.count + 1;
        }
        if (last && last.value === a) {
            last.count++;
        } else {
            temp.push({ value: a, count: 1 });
            temp = temp.slice(-2);
        }
        if (count > max) {
            max = count;
        }
    });
    return max;
}

console.log(getLongestSlice([58, 800, 0, 0, 0, 356, 8988, 1, 1]));        //  4
console.log(getLongestSlice([58, 800, 0, 0, 0, 356, 356, 8988, 1, 1]));   //  5
console.log(getLongestSlice([1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 6, 2, 1, 8])); // 10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找数组的最大切片 | JavaScript 的相关文章

随机推荐

  • Swagger API 具有查询字符串

    我想部署一个具有查询字符串的 API 这是 API v1 products q circuit breaker locale en GB pageSize 8 pageNo 1 project GLOBAL 这是我的实施方式 v1 prod
  • Linkedin API - 从 url 获取公司 ID

    有没有办法获得numeric来自 Linkedin 上公司页面 URL 的公司 ID 我将使用该 ID 来查询 Linkedin API 并获取有关该公司的更多信息 我需要从 URL 提供的信息中获取 ID 以使用它来获取与公司页面相关的其
  • 我无法使用 glb/gltf 资源在 Three.js 中显示 aoMap

    我很难让 aoMap 在 Three js 中工作 我有一个 glb 资源 在红色通道上有一个 aoMap 或其他东西 当我将它带入babylon查看器时 我可以很好地看到ao 但它不会显示在 Three js 查看器或我的项目中 我认为这
  • 如何在 SOAPEnvelope 中添加名称空间声明

    在我的肥皂应用程序中 我使用 apache cxf 这是我的代码 它将向服务器提交数据 import org apache cxf Bus import org apache cxf BusFactory import org apache
  • 组内重复序列中缺少间隙

    我们有一个包含以下数据的表 Id ItemId SeqNumber DateTimeTrx 1 100 254 2011 12 01 09 00 00 2 100 1 2011 12 01 09 10 00 3 200 7 2011 12
  • 在 Javascript 中将 CSV 转换为多维数组

    我正在使用 jQuery 的 Ajax 函数从 CSV 文件读取数据 我一直在使用一个名为的 Jquery 插件jQuery CSV http js tables googlecode com svn trunk jquery csv mi
  • Angular Material Table 基于数据源对象数组属性大小的行跨列

    即使现在在 Angular Material 7 2 版本中 我似乎也找不到有关如何在 mat table 上使用 rowspan 并保留组件功能的示例 这是我有多远 短 https stackblitz com edit angular
  • 在KeyPress事件中获取KeyCode值

    如何修复此错误 System Windows Forms KeyPressEventArgs 不包含定义 对于 KeyCode 并且没有扩展方法 KeyCode 接受第一个 System Windows Forms KeyPressEven
  • Spring Boot“不是一个实体”

    我是 Hibernate 和 SpringBoot 的新手 我的项目涉及一个搜索引擎 该引擎由 2 个独立模块 1 个两者共用的基本模块组成 其中IndexSetup类驻留 有一个用于索引的模块 JavaFx 另一个用于通过 Web 浏览器
  • “财产有 ivar 支持”?这在技术上意味着什么?

    所以 我对 Objective C 还很陌生 拿一些 iTunes U corses 做一些练习等等 但是当您使用 synthesize myProperty myIvarPropertyNameToUse 时 iOS 5 将创建一个 iv
  • 替换 javascript 数组中的字符串

    我有一个 JavaScript 数组 该数组包含包含逗号 的字符串 我希望从此数组中删除所有逗号 这可以做到吗 Yes for var i 0 i lt arr length i arr i arr i replace g
  • CSS 模块 @import 未能通过 Jest 测试套件

    我正在使用 Jest 和 Enzyme 来测试我的应用程序 我收到错误 FAIL app containers Navbar NavbarContainer test js Test suite failed to run app comp
  • 在 Perl 中读取文件时如何跳过行?

    我怎样才能做到这一点 open FILE somefile foreach
  • 为每根树枝设置翻译域

    我有一些树枝包括需要翻译的文本 目前我把这句话放在每根树枝上 trans default domain AcmeTopBundle 不过 这有点麻烦 有没有一种好方法可以为一个地方的每根树枝设置默认域 可以在原来的基础上写一个自定义的节点访
  • 没有自动换行的多行 UILabel?

    是否有可能有一个UILabel由多个组成 n 分隔行的行宽度 gt 标签宽度被截断而不是换行 假设我有一些如下所示的文本 这是一个非常长的第一行文本 太长而无法水平放置 短线 又一条短线 我希望这个出现在我的UILabel像这样 1 Thi
  • 无法导出 const 箭头函数

    ES6 新手 我试图制作一个像这样的 React 简单功能组件 Todo jsx export default const Todo todos onTodoClick gt ul todos map todo i gt li gt onT
  • 将 ArrayList 转换为 JSON - Android

    我有一个数组列表和一个单独的字符串 我想将它们转换为 JSON 格式并期望它低于 json 格式 预期格式 last sync date 2014 06 30 04 47 45 recordset contact group guid y3
  • 在 Rstudio 中使用 gtsummary 计算缺失值的百分比

    我的问题有点类似于这个one https stackoverflow com questions 63640473 calculate percent from total observations in r gtsummarytbl su
  • XSl:Variable - 检查值是否存在的条件

    使用XSLT 1 0 如何检查变量中的值是否存在 我最初从 XML 数据将值分配给变量 然后需要检查它是否存在
  • 查找数组的最大切片 | JavaScript

    我需要找到包含不超过两个不同数字的数组的最大切片 这是我的数组 1 1 1 2 2 2 1 1 2 2 6 2 1 8 我对此的思考过程是找到不重复的数字并在新数组中返回它们的索引 这是我到目前为止所拥有的 function goThrou