成都哪家做网站的最好,怎么进成品网站后台,肇庆网站关键词优化,wordpress获取自定义栏目2024-3-1 文章目录 [2369. 检查数组是否存在有效划分](https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/)思路#xff1a;代码#xff1a; 2369. 检查数组是否存在有效划分 思路#xff1a;
1.状态定义:f[i]代表考虑将[0,i]是否能被有效划…2024-3-1 文章目录 [2369. 检查数组是否存在有效划分](https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/)思路代码 2369. 检查数组是否存在有效划分 思路
1.状态定义:f[i]代表考虑将[0,i]是否能被有效划分有则为true没有则为false
2.状态转移:f[i]的转移有3种可能 1 由f[i-2]转移过来且nums[i-1] nums[i] 2 由f[i-3]转移过来且nums[i-2] nums[i-1] nums[i] 3 由f[i-3]转移过来且nums[i-1] nums[i-2]1;nums[i]nums[i-1]1
3.初始化:f[0]falsef[1]nums[0] nums[1]f[2]nums[0] nums[1]nums[2]||递增
4.遍历顺序:正序遍历[3,n-1]
5.返回形式:返回f[n-1]
代码 public boolean validPartition(int[] nums) {int n nums.length;boolean[] f new boolean[n];f[0] false;f[1] nums[0] nums[1];if (n 2) return f[1];f[2] (nums[0] nums[1] nums[1] nums[2]) || (nums[1] nums[0] 1 nums[2] nums[1] 1);for (int i 3; i n; i) {boolean b1 f[i - 2] nums[i - 1] nums[i];boolean b2 f[i - 3] nums[i - 2] nums[i - 1] nums[i - 1] nums[i];boolean b3 f[i - 3] nums[i - 1] nums[i - 2] 1 nums[i] nums[i - 1] 1 ;f[i] b1 || b2 || b3;}return f[n - 1];}点击移步博客主页欢迎光临~