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

网站建设初级工程师市场调研的四个步骤

网站建设初级工程师,市场调研的四个步骤,网站构建器,怎么做网站后端https://leetcode.cn/problems/wiggle-subsequence/description/ 只要不满足摆动条件,就不更新count和prediff 当 prevDiff 取等号时,比如 prevDiff 0,在这种情况下,如果 currDiff > 0,说明从持平状态转变为上升…

https://leetcode.cn/problems/wiggle-subsequence/description/

只要不满足摆动条件,就不更新count和prediff

当 prevDiff 取等号时,比如 prevDiff == 0,在这种情况下,如果 currDiff > 0,说明从持平状态转变为上升状态,这是一种有效的摆动起始情况;同理,如果 currDiff < 0,则是从持平状态转变为下降状态,也属于有效的摆动起始情况。例如序列 [1, 1, 2],第一个 1 到第二个 1 时 prevDiff = 0,第二个 1 到 2 时 currDiff > 0,这种从持平到上升的情况应该被视为摆动的开始,所以需要包含 prevDiff == 0 的情况

从摆动子序列的定义角度:摆动子序列要求序列中的元素按照一定的规律交替出现上升和下降。当序列中只有一个元素时,它可以被看作是一个特殊的摆动子序列,虽然不存在真正意义上的上升或下降交替,但它本身可以作为摆动子序列的起始点或基础,具有唯一性和确定性,符合摆动子序列的最小单元概念,所以定义其摆动数为 1。

class Solution {public int wiggleMaxLength(int[] nums) {int len=nums.length;if(len==1) return 1;if(len==2){return nums[0]==nums[1]?1:2;}int count=1;int prediff=0;int curdiff=0;for(int i=1;i<len;i++){curdiff=nums[i]-nums[i-1];if(curdiff>0){if(prediff<=0){count++;prediff=curdiff;}}else if(curdiff<0){if(prediff>=0){count++;prediff=curdiff;}}else{//平坡,跟上个数一样,不改变}}return count;}
}

动态规划

https://gitee.com/programmercarl/leetcode-master/blob/master/problems/0376.%E6%91%86%E5%8A%A8%E5%BA%8F%E5%88%97.md

// DP
class Solution {public int wiggleMaxLength(int[] nums) {// 0 i 作为波峰的最大长度// 1 i 作为波谷的最大长度int dp[][] = new int[nums.length][2];dp[0][0] = dp[0][1] = 1;for (int i = 1; i < nums.length; i++){//i 自己可以成为波峰或者波谷dp[i][0] = dp[i][1] = 1;for (int j = 0; j < i; j++){if (nums[j] > nums[i]){// i 是波谷dp[i][1] = Math.max(dp[i][1], dp[j][0] + 1);}if (nums[j] < nums[i]){// i 是波峰dp[i][0] = Math.max(dp[i][0], dp[j][1] + 1);}}}return Math.max(dp[nums.length - 1][0], dp[nums.length - 1][1]);}
}

很容易可以发现,对于我们当前考虑的这个数,要么是作为山峰(即 nums[i] > nums[i-1]),要么是作为山谷(即 nums[i] < nums[i - 1])。

设 dp 状态dp[i][0],表示考虑前 i 个数,第 i 个数作为山峰的摆动子序列的最长长度 设 dp 状态dp[i][1],表示考虑前
i 个数,第 i 个数作为山谷的摆动子序列的最长长度 则转移方程为:

dp[i][0] = max(dp[i][0], dp[j][1] + 1),其中0 < j < i且nums[j] <
nums[i],表示将 nums[i]接到前面某个山谷后面,作为山峰。 dp[i][1] = max(dp[i][1], dp[j][0]

  • 1),其中0 < j < i且nums[j] > nums[i],表示将 nums[i]接到前面某个山峰后面,作为山谷。 初始状态:
http://www.dtcms.com/wzjs/441148.html

相关文章:

  • 企业做网站推广产品需要多少钱seo网站推广服务
  • 南联网站建设北京seo网站管理
  • 专业定制网站建设智能优化百度关键词指数工具
  • 群晖wordpress设为首页优化关键词方法
  • 做网站广告联盟深圳seo优化排名
  • 产教融合信息门户网站建设方案acca少女网课视频
  • 公司建网站价格自媒体代运营
  • 网站建设系统认证系统今日热点新闻事件
  • 做网站服务器多大的好整合营销案例举例说明
  • 有哪些看设计做品的网站专门做推广的软文
  • 河南网站设计十大推广app平台
  • 网站建设怎么样外贸推广渠道有哪些
  • 广告设计网站哪个好百度手机端推广
  • 申请个人网站搜索引擎广告形式有哪些
  • php主做哪种类型网站seo软件视频教程
  • 有口碑的常州网站建设写软文怎么接单子
  • 河南平顶山网站建设公司软文广告文案
  • 华为云建设网站软文技巧
  • 网站前台架构自媒体135网站
  • 厘米售卡站怎么做网站优化电池充电什么意思
  • 网站搜索功能怎样做百度网站推广关键词怎么查
  • 嘉峪关网站建设培训班
  • 广东省南粤交通投资建设有限公司网站微商引流的最快方法是什么
  • 常州市金坛建设局网站seo是啥意思
  • 网站建设计划方案黄页网站推广效果
  • wordpress 怎么样网站免费seo
  • 网站接入支付宝在线交易怎么做爱站网ip反查域名
  • 58同城网网站建设营销云
  • 邯郸建网站我想做网络推广
  • 政府网站建设比较好的网络营销策划的内容