ARTS Week 18

Algorithm

本周的算法题为 485. 最大连续 1 的个数

给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

示例 1

输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

实现代码如下:

const findMaxConsecutiveOnes = function (nums{
    // 数组转换为字符串
    const str = nums.join('')
    // 如果不存在0,则直接返回数组长度即可
    if (str.indexOf('0') === -1) {
        return nums.length
    }
    // 如果不存在1,则直接返回0
    if (str.indexOf('1') === -1) {
        return 0
    }
    // 通过0切割为各字符串数组
    const arr = nums.join('').split('0')
    // 通过比较字符长度,从长到短排序,然后获取索引为0,即可获取最大连续1的个数的值
    const maxValue = arr.sort(function (a, b{
        return b.length - a.length;
    })[0];
    return maxValue.length
};

解题思路:

首先讲nums数组转换为字符串,然后通过0切割成不同长度全为1的字符串数组,本来一开始打算使用Math.max(...arr)实现的,但是因为Math.max()在执行时,会转换为数字进行比较,而且是number类型,在转换超长字符串111时,丢失精度,最大只能返回8,无法满足解题需求。所以,调整为使用sort来实现,当b.length - a.length时,按照字符串长度从长到短进行排序;当a.length - b.length时,按照字符串长度从短到长进行排序,然后通过索引0获取最大值maxValue,至此,maxValue.length即为所求值。

Review

Cold weather exercise burns more calories

每个人都知道锻炼对保持健康是必不可少的。它可以降低患心脏病的风险,并帮助我们保持健康的体重。它还能减轻压力,让我们更快乐。医生说,在寒冷的天气里锻炼对我们更有好处。在寒冷或寒冷的天气里慢跑甚至游泳对我们的身心健康有额外的好处。原因是寒冷给我们的心脏一个更有活力的锻炼。纽约特殊外科医院的安吉拉·佩德约诺维奇医生解释了原因。她说:“在寒冷的天气里,你的心脏必须更加努力地将血液输送到全身。随着时间的推移,这有助于提高你的耐力。”

佩德约诺维奇博士说,寒冷天气的锻炼可以帮助身体以更快的速度燃烧卡路里。她说:“因为你的身体需要更努力地工作来保持核心温度,所以在寒冷的环境中锻炼实际上会增加卡路里的燃烧。”在低温下进行体育锻炼可以促进我们的新陈代谢,从而帮助我们减肥。在寒冷中,我们的新陈代谢减慢,所以我们可以保存脂肪和保暖。另一个好处是,在自然光下有助于减轻我们的压力。这对于患有季节性情感障碍(S.A.D.)的人来说尤其如此。这是一种由冬季白昼变短、变暗引起的抑郁症。这在远离赤道的人身上更为常见。

注:所以为什么说减肥最佳运动方式是游泳,一方面是上面的原因,另一方面是因为不伤膝盖,但是游完泳很容易饿,这点就很需要克制了,很多人就死在这点上哈哈哈。但是,我游了一两个月之后,发现游泳不一定就是最好的,因为水的阻力,相比慢跑,还是很难持续游起来的,没有强度心率没有达标,燃脂效率很低,效果就不够明显了。有一说一,蝶泳、自由泳这些真是难学,还是慢慢来吧。叔本华也说过保持身体健康的方式,里面就有“每日需运动两小时”和“经常洗冷水浴”。好长一段时间,因为嫌太麻烦了,冬天也是洗冷水澡的,但前提是水量要大,三下五除二就洗完了,不然真受不了。不过这些年都懈怠了,有时也觉得没必要刻意过得苦哈哈的,差不多就行了。不过,不要总是让自己身体和心态处于太安逸的环境,总归是对的。

Tip

为什么Math.max(...[ '', '','' ])的值为0?

这行代码使用扩展运算符将数组 ["", "", "", ""] 展开成参数列表,相当于 Math.max("", "", "", "")。由于 Math.max() 方法会将所有参数转换为数字再比较大小,空字符串会被转换为数字 0,因此最终比较的参数为 Math.max(0, 0, 0, 0)

在 JavaScript 中,空字符串会被转换为数字 0 是因为在进行字符串转换为数字的过程中,如果字符串包含非数字字符(除了符号、小数点等特殊字符),则会被转换为数字 0。当 JavaScript 引擎在转换字符串为数字时,会按照以下规则进行处理:

  1. 如果字符串中包含非数字字符(除了符号、小数点等特殊字符),则转换结果为 NaN(Not-a-Number)。
  2. 如果字符串为空字符串或只包含空格字符,则转换结果为数字 0。
  3. 如果字符串表示整数或浮点数形式的数字(例如 "123"、"3.14"),则会按照对应的数字进行转换。

因此,空字符串会被转换为数字 0 是因为它不包含任何数字字符,符合规则2的转换规则。

Share

代码人生攻略:程序员们如何为自己编织一份明朗未来?— InfoQ精选文章

主要分享了对大模型时代的变革、生成式AI对各技术领域的影响、大模型时代。程序员的“生存法则”变了吗?、巨头碾压,大模型小创企业有核心壁垒吗?从事开源项目的收益问题、互联网公司是否还需要CTO等问题的讨论,值得一看。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/707226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el-checkbox实现全选,反选,单选

<template><div class"box"><el-checkbox v-model"checkAll" :indeterminate"isIndeterminate" change"onAllSelectChange"> 全选</el-checkbox><div class"item" v-for"(item,index) in l…

R语言——条形图数据可视化的多种方式

本文章将会介绍如何使用R语言中的ggplot2包使用条形图进行数据可视化。将会使用一个“生产企业原材料的订购与运输”的订单数据&#xff0c;该数据来自2021数学建模国赛C题。 某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料总体可分为 A B C 三种类…

【C++那些事儿】深入理解C++类与对象:从概念到实践(上)| 揭开this指针的神秘面纱

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C那些事儿 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 1. 面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1 访问限定符…

使用 Python 和CE进行游戏修改

你好。在这篇文章中,我将向您展示如何通过使用作弊引擎编辑内存来破解游戏,并且还将用 python 编写一个程序,该程序将自动编辑内存并为我们进行破解。当我学习游戏黑客时,我注意到关于使用 python 进行游戏黑客的资源很少,而关于 c++ 的资源更多。但我是 python 的忠实粉丝…

【蓝桥杯】快读|min和max值的设置|小明和完美序列|​顺子日期​|星期计算|山

目录 一、输入的三种方式 1.最常见的Scanner的输入方法 2.数据多的时候常用BufferedReader快读 3.较麻烦的StreamTokenizer快读&#xff08;用的不多&#xff09; StreamTokenizer常见错误&#xff1a; 二、min和max值的设置 三、妮妮的翻转游戏 四、小明和完美序列 五…

AI引擎助力,CamScanner智能高清滤镜开启扫描新纪元!

文章目录 ⭐ 写在前面⭐ 突破图像处理难点&#xff1a;扫描全能王的独特优势⭐ 耳听为虚&#xff0c;眼见为实⭐ 产品背后的主要核心&#xff1a;AI-Scan助力⭐ 深度学习助力智能文档处理的国际化进程⭐ 品味智能文档处理的轻松与精准 ⭐ 写在前面 在数字化快速发展的今天&…

MySQL 篇-深入了解 DML、DQL 语言(二)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 DML、DQL 语言说明 2.0 使用 DML 实现对数据管理和操作 2.1 DML - 增添数据 insert 2.2 DML - 修改数据 update 2.3 DML - 删除数据 delete 3.0 使用 DQL 实现对…

数据界的达克摩斯之剑----深入浅出带你理解网络爬虫(Forth)

目录 3.爬虫身份识别 4.用户爬虫的例子 4.1 开源爬虫 网络爬虫的组成 控制器 解析器 资源库 3.爬虫身份识别 网络爬虫通过使用http请求的用户代理&#xff08;User Agent&#xff09;字段来向网络服务器表明他们的身份。网络管理员则通过检查网络服务器的日志&#xff0…

77. 组合(力扣LeetCode)

文章目录 77. 组合题目描述回溯算法组合问题的剪枝操作 77. 组合 题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [ [2,4], [3,4],…

ArcgisForJS如何将ArcGIS Server发布的点要素渲染为热力图?

文章目录 0.引言1.ArcGIS创建点要素2.ArcGIS Server发布点要素3.ArcgisForJS将ArcGIS创建的点要素渲染为热力图 0.引言 ArcGIS For JS 是一个强大的地理信息系统&#xff08;GIS&#xff09;工具&#xff0c;它允许开发者使用 JavaScript 语言来创建各种 GIS 应用。ArcGIS Ser…

DolphinScheduler——介绍及架构设计

目录 一、DolphinScheduler介绍 1.1 概述 1.2 特性 1.2.1 简单易用 1.2.2 丰富的使用场景 1.2.3 High Reliability 1.2.4 High Scalability 1.3 名词解释 1.3.1 名词解释 1.3.2 模块介绍 二、DolphinScheduler架构原理 2.1 系统架构图 2.2 架构说明 2.2.1 Maste…

音频混音算法的实现

最近项目有用到混音算法&#xff0c;这里用比较常见的一种&#xff0c;就是简单的加和之后做一下归一化。 是参考这个博主实现的&#xff1a; 音频混音的算法实现 下面直接贴代码&#xff1a; #include <stdio.h> #include <stdlib.h> #include <math.h&…

Python学习 day05(异常、模块导入)

异常 为什么要捕获异常 当程序遇到了BUG&#xff0c;如果不对BUG进行手动捕获&#xff0c;那么整个程序就会因为一个BUG而停止运行&#xff0c;这在有些情况下是会造成很大的损失&#xff0c;但是如果我们进行了手动捕获&#xff0c;那么整个程序会继续运行捕获异常的作用在于&…

vue-router4 (六) 命名视图

命名视图可以使得同一级&#xff08;同一个组件&#xff09;中展示更多的路由视图&#xff0c;而不是嵌套显示&#xff0c; 命名视图可以让一个组件中具有多个路由渲染出口&#xff0c;这对于一些特定的布局组件非常有用。 应用场景&#xff1a; 比如点击login切换到组件A&am…

vue3第三节(v-model 执行原理)

特殊说明&#xff1a; 以下vue3语法是基于 3.4之前版本进行使用的&#xff0c;3.4之后的版本 引入了 defineModel 宏&#xff0c;后续会介绍defineModel 1、vue3 与vue2 中v-model区别 vue3 中v-model绑定的不再是value&#xff0c;而是modelValue&#xff0c;接收的方法也不再…

使用爬虫去获取四六级成绩

使用爬虫去获取四六级成绩 今天出成绩&#xff0c;没过&#xff0c;二战六级依然惨死&#xff0c;那么我就写一个简单的爬虫&#xff0c;其实也可以封装成一个接口的&#xff0c;然后直接输入姓名 身份证好 以及四六级即可获取成绩&#xff0c;我就是简单的玩了一下哈&#xf…

2024-02-28(Kafka,Oozie,Flink)

1.Kafka的数据存储形式 一个主题由多个分区组成 一个分区由多个segment段组成 一个segment段由多个文件组成&#xff08;log&#xff0c;index&#xff08;稀疏索引&#xff09;&#xff0c;timeindex&#xff08;根据时间做的索引&#xff09;&#xff09; 2.读数据的流程 …

selenium初始学习(2)--selenium 等待

selenium 等待 为什么需要写等待呢&#xff1f; 因为我们的元素定位 可能因为一些原因报错 原因&#xff1a; 元素定位错误 动态元素 元素没有加载完成 打开新窗口/标签等 所以我们等待 就是解决第三个问题的 方式一 强制等待&#xff08;time.sleep&#xff09;&#xff1a…

论文精读--GPT3

不像GPT2一样追求zero-shot&#xff0c;而换成了few-shot Abstract Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-training on a large corpus of text followed by fine-tuning on a specific task. While typically task-agnos…

Day04:APP架构小程序H5+Vue语言Web封装原生开发Flutter

目录 常见APP开发架构 APP-开发架构-原生态-IDEA APP-开发架构-Web封装-平台 APP-开发架构-H5&Vue-HBuilderX WX小程序-开发架构-Web封装-平台 WX小程序-开发架构-H5&Vue-HBuilderX 思维导图 章节知识点&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服…