首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    判断子序列

    判断子序列 给定一个长度为 n 的整数序列 a1,a2,…,an 以及一个长度为 m 的整数序列 b1,b2,…,bm。 请你判断 a 序列是否为 b 序列的子序列。...子序列指序列的一部分项按原有次序排列而得的序列,例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5} 的一个子序列。 输入格式 第一行包含两个整数 n,m。...输出格式 如果 a 序列是 b 序列的子序列,输出一行 Yes。 否则,输出 No。...Yes 思路分析: 设计两个数字a,b 利用for循环遍历两个数组 思路就是看一下这个遍历b数组的时候 这个a数组是否会走完 如果这个a数组走完了 那么就代表的是 这个长度更小的a数组是b数组的子序列...for (int i = 0, j = 0; i < m && j < n; ++ i) { // 首先判断的是 两个数组的元素是否相等 如果想的的话

    43500

    动态规划:判断子序列

    392.判断子序列 题目链接:https://leetcode-cn.com/problems/is-subsequence/ 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。...字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。...注意这里是判断s是否为t的子序列。即t的长度是大于等于s的。 有同学问了,为啥要表示下标i-1为结尾的字符串呢,为啥不表示下标i为结尾的字符串呢? 用i来表示也可以!...这里大家已经可以发现,在定义dp[i][j]含义的时候为什么要表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。...dp[i][j]表示以下标i-1为结尾的字符串s和以下标j-1为结尾的字符串t 相同子序列的长度,所以如果dp[s.size()][t.size()] 与 字符串s的长度相同说明:s与t的最长相同子序列就是

    97530

    js判断是否是子元素

    文本俺将跟大家介绍,如何判断一个当前点击的元素,是否是指定元素的子元素。 解决思路: 俺给父元素指定了一个id,并使用这个循环检查当前元素是否属于它的子元素。...BODY'){ if (obj == parentObj){ return true; } obj = obj.parentNode; } return false; } 方法二:jquery代码 //判断...:当前元素是否是被筛选元素的子元素 jQuery.fn.isChildOf = function(b){ return (this.parents(b).length > 0); }; //判断:当前元素是否是被筛选元素的子元素或者本身...方法三: const isDescendant = (el, parentId) => { let isChild = false if (el.id === parentId) { //判断是否是其本身...} else { //处理不是子元素的情况 } }) 在while循环中,俺使用赋值运算符=进行迭代,直到不再有父节点,在本例中为el.parentNode返回null时, while

    14.8K00

    LeetCode-392-判断子序列

    # LeetCode-392-判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。...字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。...t从头开始到j的子字符串的子序列 状态转移公式: 当char[i]==char[j]时,则字符i一定是j的子序列,如果0~i-1子字符串是0~j-1子字符串的子序列,则dp[i][j]=true,也就是说当前的字符匹配上了...=char[j]时,即判断当前0~i子字符串是否是0~j-1的子字符串的子序列,即dp[i][j]=d[i][j-1]。...如ab,eabc,虽然s的最后一个字符串和t中的最后一个字符不相等,但是ab是eab的子序列,所以ab也是eabc的子序列 初始化:空字符串一定是t的子字符串的子序列,所以dp[0][j]=true #

    60510
    领券