博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2021-01-20---1.24 &&L 最大子序列和-贪心法和动态规划法
阅读量:3957 次
发布时间:2019-05-24

本文共 1237 字,大约阅读时间需要 4 分钟。

 

 

let arr = [-2,1,-3,4,-1,2,1,-5,4];function maxSubArray(arr){  let curSum = 0;  let maxSum = arr[1];  for(item of arr){    if(curSum < 0){      curSum = item;    }else{      curSum += item;    }    maxSum = maxSum > curSum ? maxSum : curSum;  }  return maxSum;}

求出当前数组中的最大值即为数组子序列最大和,可以一边形成数组一边求最大值,也可以最后求

 

function maxSubArray(nums){  let pre = 0;  let max = nums[1]  nums.forEach(el => {    pre = Math.max(el, el+pre);    max = Math.max(pre , max)  });  return max;}

 

 

var findSpecialInteger = function(arr) {  let count = 1;  let maxCount = 1;  let maxCountNum = arr[0];  let len = arr.length;  for(let i = 0; i < len; i++){    if(arr[i] === arr[i+1]){      count++;    }else{      if(count > maxCount){        maxCount = count;        maxCountNum = arr[i];        count = 0;      }    }      }  return maxCountNum;};

特别注意 i < length;  不能写 i < length-1;  那样会漏掉一种情况:出现次数最多的数字连续出现在尾部。i  < length,最后arr[i-1]和arr[i]比较;arr[i]为undefined,

 

 

1.20

6;考察:异步:事件循环机制(event loop),setTimeout内的function等到scrip标签内部事件执行完之后才执行。

 

1.21

如果console.log(a)就会报错,对于未定义的变量,typeof不会报错;

从右往左执行:a在立即执行函数内部声明的,b是未经声明的,默认为全局变量;b  = 3;

 

 

1.22

立即执行函数的形参和实参不能搞混淆。  // undefined    形参的foo实际上是obj对象。

 

 

1.23

false,此时因为return的存在,new是不起作用的;f()的执行结果就是f函数本身,所以是false;

     // true,此时的new起作用,new了f的一个实例

 

 

 

 

转载地址:http://ngtzi.baihongyu.com/

你可能感兴趣的文章
ANSI与UTF8之间的转换!std::string与UTF8之间的转换
查看>>
C++实现http下载 && 24点计算编码风格
查看>>
osg源码编译步骤
查看>>
自绘static控件,实现特殊效果
查看>>
#!/usr/bin/env python
查看>>
Linux中常用的操作命令以及vim操作命令和gdb调试命令
查看>>
windows以及linux 环境下Google Protocol Buffer 下载编译安装教程
查看>>
memcached了解使用和常用命令详解
查看>>
GDB调试各功能总结
查看>>
Protocol Buffer技术 语言规范
查看>>
"undefined reference to" 多种可能出现的问题解决方法
查看>>
Linux 线程操作函数技能总结
查看>>
Linux git 常用命令
查看>>
线程池原理及创建并C++实现
查看>>
Mysql命令教程大全
查看>>
文档类程序各个类之间的相互访问关系
查看>>
sql server中count(*),count(col),count(1)的区别
查看>>
多年来,STL容器的使用总结!
查看>>
switch()case:语句的优化
查看>>
C语言各种数据类型在系统中占的字节和取值范围
查看>>