| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> LeetCode 1374 - 1377 -> 正文阅读 |
|
[数据结构与算法]LeetCode 1374 - 1377 |
生成每种字符都是奇数个的字符串假设 n = 5,返回长度为 5 的字符串,保证返回的每个字符都出现奇数次,返回 5 个 a 即可或者返回 abcde 也可以 n = 4,返回 aaab n 是奇数,返回 n 个 a n 是偶数,返回 n - 1 个 a,1 个 b,不管是 a 还是 b 都有奇数个
二进制字符串前缀一致的次数? ? 给出一个二进制字符串编号是 1 ~ n,最初这个字符串的所有位上都是 0 按给定的顺序 flips,从第 0 时刻 ~ 第 n - 1 时刻依次把 当前时刻下对应字符串的位置的值 变成 1 前缀一致需要满足自身的值是 1 并且它左边的所有位的值都是 1; 如果自身是1,中间某个位置出现 0,就不满足前缀一致的情况 前缀一致说明满足当前位置到左边连续的一段都是 1 flips 数组是 1 ~ n 的排列,数据为 1 ~ n 且所有数互不相同 从前往后扫描所有变成 1 的编号,判断哪些时刻变成 1 的编号是从 1 开始的连续的一段(从前往后遍历 flips 数组,如何判断数组的哪些前缀构成了从 1 开始的连续的一段) 2????????1????????3????????5????????4 2??????? × 1??????? 2??????? √ 1??????? 2??????? 3??????? √ 1??????? 2??????? 3??????? 5 ?????? × 1??????? 2??????? 3??????? 4??????? 5??????? √ 从前往后遍历数组,记录当前 flips 数组中的最大值,如果最大值是 k,并且已经扫描了 k 个数(意味着有 k 个互不相同的数),说明前 k 个数必然是 1 ~ k 当前最大值 == 扫描数组的个数 == 下标 + 1→ 满足要求的时刻 ????????????????2??????? 1??????? 3??????? 5????? ? 4 最大值???? 2???????? 2?????? 3???????? 5??????? 5 扫描个数 1???????? 2?????? 3???????? 4??????? 5 因此满足要求的一共有 3 个时刻
通知所有员工所需的时间? ? n 名员工的 ID 是独一无二的,编号是 0 ~ n - 1 每一个点只有唯 一 一 个父节点,树结构 把 headID 看成根节点,除了根节点之外,其他所有节点都有一个父节点 从根节点往下发通知,分发通知可以看成是并行的过程,用 informTime1 的时间通知他所有的下属,过了 informTime1 时间后同一层的所有子节点会同时收到信息,收到信息后,再有一个 informTime2 的时间通知他们的所有的下属,如果没有下属就不用考虑,问通知完整个公司的所有员工一共需要多长时间? 通知需要的总时间取决于最晚通知到的员工,问从根节点开始走到所有叶子节点的距离的最长值 所有叶子节点的 informTime 是 0 示例2:只有一个主管,其他都是下属,这个主管通知他的所有员工所需要的时间是 1 分钟,所以总时间是 1 分钟 求最长路径 DFS 求当前点走到叶子节点一共要走多远,当前点往两个孩子节点走,走到底,得到的的最大值:孩子节点走到底的最大值? + 当前点的权值,回溯到根的时候,根的最大值就是要求的答案 存储图,需要找到每一个点所有的子节点,用邻接表的方式存储图:1.数组模拟邻接表? 2.二维vector存储图,变长数组 √ 数据比较大,不能用邻接矩阵存储
T秒后青蛙的位置 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:16:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |