qt 怎么获取数组的长度

我需要添加到一個QByteArray作爲幀的4個字節 (結構([4個字節] [消息))

}

给两个整数数组 A 和 B 返回两个数組中公共的、长度最长的子数组的长度。

长度最长的公共子数组是 [3, 2, 1]

著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注奣出处。

  • dp[i][j]:以 A[i - 1]结束的子数组 和 B[j - 1]结束的子数组的最长匹配的个数因为这里是子数组每个元素要连续(区别:子序列,子序列不连续)
  • 状态:两个数组中的每一个字符
  • 选择:是否包含当前元素

说明:如果是最长子序列dp数组的含义和状态转移方程均不一样

  • dp[i][j]:A的前 i 个字符和B的前 j 個字符最长匹配的子序列
  • 0

时间复杂度:O(N * M)

该思想是基于:最长子数组在两个数组中的位置不一定相同,于是可以采取根据两数组的不同對齐方式取找最长子数组
下述代码中分两步进行:

  • 首先是A不变B的首元素依次和A中的某个元素对齐,求解最长的重复子数组求解的过程Φ如果两个字符相等,递增变量;否则将变量置为0,在这个过程中要不断更新结果数组
  • 然后是B不变A的首元素依次和B中的某个元素对齐。接下来的过程是一样的

时间复杂度:O((N +M)* min(NM))

求数组A中从 i 开始和数组B中从 j 开始的最长重复子数组,时间复杂度为O(n3

}

QByteArray是一个用来存放二进制数据的字節数组有两点,1、字节所以每个元素可以用uchar变量来保存。2、数组可以使用[]来快速的找到所需的元素。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信