| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> ARTS挑战第十六周 -> 正文阅读 |
|
[数据结构与算法]ARTS挑战第十六周 |
Algorithm【回溯法】剑指 Offer 34. 二叉树中和为某一值的路径选择列表:对于当前节点来说,选择左右两个节点是其选择列表 【后序遍历】 124. 二叉树中的最大路径和helper 函数返回以root为终点的单边最大路径和: |-- 先计算分别以左右子节点为终点的最大路径和分别为left,right |-- helper 函数根据left、right的正负以及大小,返回最大单边路径和 |-- 顺便记录以root为根节点的带拐(人字形)最大路径和(全局变量) 【后序+先序】297. 二叉树的序列化与反序列化序列化【后序遍历】+ 反序列化【前序遍历】 【DFS】341. 扁平化嵌套列表迭代器dfs 方法遍历嵌套列表,函数输入不同于一般的树遍历(根节点),而是一个列表 |–对于列表中的所有元素 ? |–当遍历到叶子节点时,将叶子节点加入结果集 ? |-- 否则当前元素还是一个列表,则需要递归处理这个列表 对于hasnext 方法,判断 当前迭代器是否是end()即可 对于next 方法,则返回当前迭代器的值并位移一位 【翻转链表】25. K 个一组翻转链表25. K 个一组翻转链表 递归过程,函数返回的是反转后的head节点,处理完前k个元素后,对于后面n-k个元素的处理,只是链表长度变化了,处理逻辑完全一样,只需要将前k个元素的最后一个元素指向 后面n-k个元素反转后的头节点 ? 函数出口:当前链表长度小于k,则不用处理,直接返回头节点。边界条件,当前节点为空。 ? 函数逻辑: ? |–如果当前节点为空,则返回 ? |–找出第k+1个节点,如果找不到则说明长度不够,则直接返回 ? |–反转从head到第k个节点的链表(prev初始为null) ? |–将head->next = reverseKGroup(第K+1个节点,k) ? |–返回head Review常见限流算法python time.time vs time.clock在unix-based os上,time.time 是wall clock 时间,time.clock是cpu时间(在当前进程上花的cpu时间)
在windows os 上,time.time 和 time.clock 都是wall clock时间
Tips
Share |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 19:51:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |