首页
学习
活动
专区
圈层
工具
发布

【leetcode刷题】T89-计数二进制子串

【思路】 使用count0存储连续'0'的个数,count1存储连续'1'的个数,当前后字符不相同是,结果res加上count0和count1的较小值,并且改变计数。... =          if len(s) < :             return          if s[] == '1':             count1 +=          else...:             count0 +=          # 遍历s,s[i]和s[i-1]相同,则累加;不同,则将min(count0, count1)加入res         for i ... +=                  else:                     res += min(count0, count1)                     count1 ... { public:     int countBinarySubstrings(string s) {         int count0 = , count1 = ;         int res

41020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )

    指针数组 和 二维数组 中的数据拷贝到 二维指针 中 * @param p1 指针数组 参数 , 外层是数组 , 内层是指针 , 外层数组 退化成 指针 , 整体退化成 二级指针 * @param count1...+ count2 个一级指针 p3 = (char **)malloc((count1 + count2) * sizeof(char *)); // 验证指针合法性 if...个 , 因此从第 count1 + 1 位置开始拷贝 // 第 count1 + 1 个的索引从 0 开始 , 其索引是 count1 ; for (j = 0; j < count2...+ j] = (char *)malloc(len * sizeof(char)); // 堆内存分配失败 , 退出 if (p3[count1 + j] == NULL...) { return -3; } // 向堆内存中拷贝 字符串 数据 strcpy(p3[count1 + j]

    94720

    2025-06-20:连接两棵树后最大目标节点数目Ⅰ。用go语言,你有两棵无向树,第一棵包含 n 个节点,节点编号范围是 [0,

    这个数量记为 count1[i]。 • DFS 的过程是从 i 出发,遍历所有可能的路径,统计距离不超过 k 的节点数量。 3....计算最终结果: • 对于第一棵树的每个节点 i,其最大目标节点数量是 count1[i] + maxCount2。这是因为: • count1[i] 是第一棵树中距离 i 不超过 k 的节点数量。...• 因此,answer[i] = count1[i] + maxCount2。 时间复杂度 1. 构建邻接表: • 两棵树的邻接表构建都是 O(n + m),因为每条边被处理一次。 2....计算 count1: • 对于第一棵树的每个节点 i,进行一次 DFS,每次 DFS 的时间复杂度是 O(n)(因为树有 n-1 条边)。 • 总时间复杂度是 O(n^2)。 3....计算最终结果: • 遍历 count1 数组,时间复杂度是 O(n)。 • 总时间复杂度是 O(n^2 + m^2)。 空间复杂度 1.

    12700
    领券