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

西宁网站建设哪家公司好seo优化的搜索排名影响因素主要有

西宁网站建设哪家公司好,seo优化的搜索排名影响因素主要有,廊坊做网站的,长沙住房和建设局网站【LeetCode】152、乘积最大子数组 文章目录 一、dp1.1 dp1.2 简化代码 二、多语言解法 一、dp 1.1 dp 从前向后遍历, 当遍历到 nums[i] 时, 有如下三种情况 能得到最大值: 只使用 nums[i], 例如 [0.1, 0.3, 0.2, 100] 则 [100] 是最大值使用 max(nums[0…i-1]) * nums[i], 例…

【LeetCode】152、乘积最大子数组

文章目录

  • 一、dp
    • 1.1 dp
    • 1.2 简化代码
  • 二、多语言解法

一、dp

1.1 dp

从前向后遍历, 当遍历到 nums[i] 时, 有如下三种情况 能得到最大值:

  1. 只使用 nums[i], 例如 [0.1, 0.3, 0.2, 100] 则 [100] 是最大值
  2. 使用 max(nums[0…i-1]) * nums[i], 例如 [1, 3, 2, 100], 则 [1, 3, 2, 100] 是最大值, 因为 nums[0…i-1] 的 [1, 3, 2] 是最大值
  3. 使用 min(nums[0…i-1]) * nums[i], 例如 [-1, 3, -2, -100], 则 [-1, 3, -2, -100] 是最大值, 因为 nums[0…i-1] 的 [-1, 3, -2] 是最小值, 最小值乘以最小值得到最大值

所以, 每一步, 都取上述三种情况的最小值和最大值. 逐步向后递推.

// go
func maxProduct(nums []int) int {ans := nums[0]mi, ma := nums[0], nums[0] // 初始值var curmin, curmax int // 临时值, 提前申请, 避免重复申请for i := 1; i < len(nums); i++ {v := nums[i]curmin = min(v, min(ma*v, mi*v))curmax = max(v, max(ma*v, mi*v))mi, ma = curmin, curmaxans = max(ans, ma)}return ans
}

算法讲解071【必备】子数组最大累加和问题与扩展-下

参考
关于「无后效性」

  • 某个阶段的状态一旦确定了,那么此后的过程不再受之前曾经的状态和决策的影响
  • 不管你过去经历过什么状态,做过什么决策,未来和过去无关
  • 当前的状态是此前历史的一个综合给出的结果,历史影响你也只是造就了你当前的状态,通过当前状态去影响你未来的进程

1.2 简化代码

为了简化代码, 可以不从1开始遍历
通过设置 mi, ma 为 1, 1, 即可从0开始遍历了
参考

func maxProduct(nums []int) int {ans := nums[0]mi, ma := 1, 1var curmi, curma intfor _, v := range nums {curmi = min(v, mi*v, ma*v)curma = max(v, mi*v, ma*v)mi, ma = curmi, curmaans = max(ans, ma)}return ans
}

二、多语言解法

C p p / G o / P y t h o n / R u s t / J s / T s Cpp/Go/Python/Rust/Js/Ts Cpp/Go/Python/Rust/Js/Ts

// cpp
class Solution {
public:int maxProduct(vector<int>& nums) {int ans = nums[0];int mi = 1, ma = 1;for (int v : nums) {int curmi = min({v, v*mi, v*ma});int curma = max({v, v*mi, v*ma});mi = curmi;ma = curma; // 注意 c++ mi, ma = curmi, curma 有问题/*`mi, ma = curmi, curma;` 在 C++ 中是有问题的。这是因为 C++ 不支持这种同时赋值的语法。C++ 中的逗号运算符不会像 Python 或 Golang 那样实现多重赋值;相反,它会依次执行每个表达式,并返回最后一个表达式的值。因此,`mi, ma = curmi, curma;` 实际上只会对 `ma` 进行赋值,而不是同时对 `mi` 和 `ma` 赋值。*/ans = max(ans, ma);}return ans;}
};
// go 同上
# python
class Solution:def maxProduct(self, nums: List[int]) -> int:ans = nums[0]mi, ma = 1, 1for v in nums:curmi = min(v, v*mi, v*ma)curma = max(v, v*mi, v*ma)mi, ma = curmi, curmaans = max(ans, ma)return ans
// rust
impl Solution {pub fn max_product(nums: Vec<i32>) -> i32 {let mut ans = nums[0];let mut mi = 1;let mut ma = 1;for v in nums {let curmi = v.min(v*mi).min(v*ma);let curma = v.max(v*mi).max(v*ma);mi = curmi;ma = curma;ans = ans.max(ma);}ans}
}
// js
/*** @param {number[]} nums* @return {number}*/
var maxProduct = function(nums) {let ans = nums[0];let mi = 1;let ma = 1;for (const v of nums) {let curmi = Math.min(v, v*mi, v*ma);let curma = Math.max(v, v*mi, v*ma);mi = curmi;ma = curma;ans = Math.max(ans, ma);}return ans;
};
// ts
http://www.ds6.com.cn/news/108911.html

相关文章:

  • 化妆网站模板下载免费怎么推广一个app
  • 网站建设系统服务机构百度手机助手下载正版
  • 网站开发前端是什么精品成品网站源码
  • java和php做网站谁好seo怎么才能优化好
  • 郑州锐途网站建设长沙网站开发制作
  • 做网站服装app企业网站营销的优缺点
  • 静安网站建设免费b站推广入口
  • 在别的公司做的网站可以转走吗福建搜索引擎优化
  • 怎么做推广网站怎么登录百度app
  • 企业整套vi设计都包含哪些西安企业seo外包服务公司
  • 武汉做商城网站建设seo网站推广案例
  • 福田做商城网站建设哪家公司便宜点网络优化公司有哪些
  • 网站设计公司建设优化排名
  • 有没有帮人做简历的网站免费发布信息网站大全
  • vs 团队网站开发百度知道合伙人官网登录入口
  • 耀华建设管理有限公司网站站长工具推荐网站
  • 纯js做网站网络推广公司收费标准
  • wordpress开启多站点功免费网络推广平台有哪些
  • 做美国市场哪个网站好西安网站seo外包
  • 中小企业网站建设框架衡水网站seo
  • ps做网站效果图尺寸如何今日十大头条新闻
  • 制作网站民治网站制作专业
  • 策划文案的网站域名网站
  • 常州网站建设企业网站网络广告推广平台
  • 网站建设_网站设计 app制作企业网站开发多少钱
  • 为什么要建设公安公众服务网站seo网站怎么优化
  • 万网网站建设教程seo关键词排名公司
  • 两个网站共用一个数据库最新营销模式有哪些
  • 贵德网站建设公司网站免费推广的方法
  • 做网站的开发环境淘宝关键词指数