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

做培训的网站建设织梦文章title怎么显示网站title

做培训的网站建设,织梦文章title怎么显示网站title,三种分销渠道,企业网站制作规划413. 等差数列划分 如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。 给你一个整数数组 nums ,返回数组 nums 中所有为等差数…

413. 等差数列划分

如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。

  • 例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。

给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。

子数组 是数组中的一个连续序列。

示例 1:

输入:nums = [1,2,3,4]
输出:3
解释:nums 中有三个子等差数组:[1, 2, 3]、[2, 3, 4] 和 [1,2,3,4] 自身。

示例 2:

输入:nums = [1]
输出:0
提示:
  • 1<=nums.length<=50001 <= nums.length <= 50001<=nums.length<=5000
  • −1000<=nums[i]<=1000-1000 <= nums[i] <= 10001000<=nums[i]<=1000

思路:

举个栗子:

A = [0, 1, 2, 3, 4]return: 6, for 3 arithmetic slices in A:[0, 1, 2],
[1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3, 4],
[ 1, 2, 3, 4],
[2, 3, 4]

dp[i] 表示以 A[i] 为结尾的等差递增子区间的个数。

当 A[i] - A[i-1] == A[i-1] - A[i-2],那么 [A[i-2], A[i-1], A[i]] 构成一个等差递增子区间。而且在以 A[i-1] 为结尾的递增子区间的后面再加上一个 A[i],一样可以构成新的递增子区间。

dp[2] = 1[0, 1, 2]
dp[3] = dp[2] + 1 = 2[0, 1, 2, 3], // [0, 1, 2] 之后加一个 3[1, 2, 3]     // 新的递增子区间
dp[4] = dp[3] + 1 = 3[0, 1, 2, 3, 4], // [0, 1, 2, 3] 之后加一个 4[1, 2, 3, 4],    // [1, 2, 3] 之后加一个 4[2, 3, 4]        // 新的递增子区间

综上,在 A[i] - A[i-1] == A[i-1] - A[i-2] 时,dp[i] = dp[i-1] + 1。

因为递增子区间不一定以最后一个元素为结尾,可以是任意一个元素结尾,因此需要返回 dp 数组累加的结果。

优化:

由于dp数组只需要知道上一个位置的数,所以可以用一个变量来记录就行了!

代码:(Java)

public class SeqPart {public static void main(String[] args) {// TODO Auto-generated method stubint[] nums = {1,2,3,8,9,10};System.out.println(numberOfArithmeticSlices(nums));}public static int numberOfArithmeticSlices(int[] nums) {if(nums == null ||nums.length < 3) {return 0;}int n = nums.length ;int total = 0;int dp = 0;for(int i = 2; i < n; i++) {if(nums[i] - nums[i - 1] == nums[i - 1] - nums[ i - 2]) {dp++;}else {dp = 0;}total += dp;}return total;}
}

复杂度分析:

  • 时间复杂度:O(n),其中 n 是数组 nums的长度。
  • 空间复杂度:O(1)。

注:仅供学习参考!

题目来源:力扣。

http://www.yayakq.cn/news/979305/

相关文章:

  • 宁波做外贸网站建设网站怎么设计好看的图片
  • 杭州 建设网站制作深圳做网站推广公司哪家好
  • 上海建站模板平台php视频网站开发
  • 电商网站 厦门设计一个学院网站
  • 地方门户网站推广方案网站的线下推广怎么做
  • 大连六兄弟网站建设聊城手机站网站公司电话号码
  • 宽屏网站和普通网站外贸公司销售渠道
  • 企业网站系统设计论文批量外链工具
  • 怎么做网站空间wordpress 伪静态 页面
  • wordpress 扒站上海seo网站
  • html导航网站源码网站开发 评价
  • 网站建设有没有做的必要怎么自己创建网站免费
  • 效果好的魔站建站系统seo网站优化培训公司
  • qq群推广网站免费秒进天津网站建设设计费用
  • 东莞网站建设 手机壳哈尔滨营销型网站建设
  • 专业的医疗行业网站模板自动运行wordpress
  • 建设银行北京分行网站深圳报业集团官网
  • 水利建设经济定额站网站北京十大企业公司排名
  • 中山哪里有做网站阳江网络问政平台 周报
  • wordpress站外链接页面鹤壁建设网站推广公司
  • 开一家网络公司做网站前景如何网页动态设计软件
  • 电商论坛网站模板全网vip视频网站怎么做
  • wordpress 文章列表分页wordpress站群+优化
  • 青岛哪家做网站好wordpress u盘
  • 天津市建设银行租房网站国家建设 免费论文期刊网站
  • 静态网站结构如何更新wordpress id乱码
  • 商业门户网站制作wordpress 只看到一个主题
  • 网站建设需要哪些专业技术棋牌室的网站怎么做
  • 网站建设明细价单《网站开发与应用》试题
  • 企业网站开发环境青州市住房和城乡建设局网站