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

北京做网站好公司网站建设维护费一年多少钱

北京做网站好公司,网站建设维护费一年多少钱,网站安装php,南昌制作网站的公司摆动序列 Leetcode 376 学习记录自代码随想录 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如&#…

摆动序列

Leetcode 376

学习记录自代码随想录

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。

例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。

相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。
子序列 可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。

给你一个整数数组 nums ,返回 nums 中作为 摆动序列 的 最长子序列的长度 。

示例 1:
输入:nums = [1,7,4,9,2,5]
输出:6
解释:整个序列均为摆动序列,各元素之间的差值为 (6, -3, 5, -7, 3) 。

示例 2:
输入:nums = [1,17,5,10,13,15,10,5,16,8]
输出:7
解释:这个序列包含几个长度为 7 摆动序列。
其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8) 。

示例 3:
输入:nums = [1,2,3,4,5,6,7,8,9]
输出:2

要点:1.计算 prediff(nums[i] - nums[i-1]) 和 curdiff(nums[i+1] - nums[i]),如果prediff < 0 && curdiff > 0 或者 prediff > 0 && curdiff < 0 此时就有波动就需要统计;
2.统计波动即峰值点数,则所求序列总长度为峰值点数加1,所以序列长度默认值设为1;
3.nums.size() == 2不等的情况其实已经在下面涉及到了,在数组长度为2时在之前加一个点和nums[0]相同即可并入下面的情况;
3.(1)nums.size() >= 3,(preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)在这里插入图片描述
(2)在数组长度为2时在之前加一个点和nums[0]相同即可并入之前的情况,用该条件(preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)判断在这里插入图片描述(3)如果把prediff = curdiff放在for大循环中则每次都更新,会将下面这种情况错记录进去,所以应该在峰值点出现时再更新prediff = curdiff;
在这里插入图片描述

class Solution {
public:int wiggleMaxLength(vector<int>& nums) {if(nums.size() <= 1) return nums.size();// if(nums.size() == 2 && nums[0] == nums[1]){//     return 1;// }else if(nums.size() == 2 && nums[0] != nums[1]){//     return nums.size();// }  // nums.size() == 2不等的情况其实已经在下面涉及到了,在数组长度为2时在之前加一个点和nums[0]相同即可并入下面的情况int max_len = 1;  // 默认为1,因为统计的是峰值点所以总长度为峰值点数加1int prediff = 0;int curdiff = 0;for(int i = 0; i < nums.size()-1; i++){curdiff = nums[i+1] - nums[i];if((prediff <= 0 && curdiff > 0) || (prediff >= 0 && curdiff < 0)){max_len++;  // 峰值点的累加prediff = curdiff;  // 峰值点出现后再更新}}return max_len; }
};
http://www.yayakq.cn/news/169479/

相关文章:

  • 女和男做的视频网站新注册企业名单
  • 各大网站的名字大全广东建设注册执业中心网站
  • vue网站开发教程南充市企业网站建设
  • 站长工具无吗经典网站建设使用的什么软件有哪些
  • 网站维护中怎么解决西安航空城建设发展集团网站
  • 昆明建企业网站多少钱肇庆网站建设优化
  • 免费行情软件网站mnw新东方英语线下培训学校
  • 国家补贴软件网站开发政策郑州哪家做网站便宜
  • 网站验收标准前端做的网站
  • 仿淘宝网站源码 phpwordpress自定义进入后台地址
  • 南皮做网站手机端网站开发技术
  • 无锡cms建站怎么做网站 知乎
  • 做网站销售的换工作鞋网站建设
  • 广东双语网站建设多少钱临沂专门做网站的
  • 界面官方网站家居企业网站建设机构
  • 民族文化网站建设的作用域名备案查询网
  • 温州网站运营新闻稿撰写
  • 网站首页被k沧州市有哪些网络公司
  • 常州建站网站模板什么是flash网站
  • 网站开发 先做前端吗直接用ip访问网站
  • 网站建设需求确认书漯河做网站公司
  • 企业网站推广的线上渠道有哪些做调研的网站一般有哪些
  • 古典棕色学校网站模板iview做的网站
  • html5国外酷炫网站cod建站平台
  • 网站做了泛解析 为什么影响seo进入百度
  • 生活家装饰官方网站什么是跨境电商平台
  • 中国佛山营销网站建设太原展厅设计公司
  • 网站备案的服务器租用wordpress 报名表单
  • 西安企业建站设计比较好的网站
  • 1688网站怎么做南通制作手机网站