随笔分类 -  数据结构

传统数据结构算法
摘要:大家好,非常感谢关注到该博客园,由于个人原因,后期主要将知乎作为写作和记录平台,感兴趣的请移步到 个人知乎 有问题可以在那边提问,谢谢! 阅读全文
posted @ 2022-08-02 16:39 忆凡人生 阅读(314) 评论(0) 推荐(0)
摘要:目录 剑指 Offer 58 - I. 翻转单词顺序/151. 翻转字符串里的单词 剑指 Offer 58 - II. 左旋转字符串 剑指 Offer 38. 字符串的排列(字符串和回溯) 剑指 Offer 67. 把字符串转换成整数/8. 字符串转换整数 (atoi) 字符串有很多内置操作:比如 阅读全文
posted @ 2020-10-11 17:30 忆凡人生 阅读(168) 评论(0) 推荐(0)
摘要:目录 剑指 Offer 57 - II. 和为s的连续正数序列 剑指 Offer 57. 和为s的两个数字 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 剑指 Offer 53 - II. 0~n-1中缺失的数字 剑指 Offer 48. 最长不含重复字符的子字符串/3. 无重复字符的最 阅读全文
posted @ 2020-10-11 17:29 忆凡人生 阅读(125) 评论(0) 推荐(0)
摘要:目录 算法概述 冒泡排序(Bubble Sort) 选择排序(Selection Sort) 插入排序(Insertion Sort) 希尔排序(Shell Sort) 归并排序(Merge Sort) 快速排序(Quick Sort) 堆排序(Heap Sort) 计数排序(Counting So 阅读全文
posted @ 2020-10-05 22:29 忆凡人生 阅读(415) 评论(0) 推荐(0)
摘要:目录 面试题59 - I. 滑动窗口的最大值/239. 滑动窗口最大值 面试题59 - II. 队列的最大值 剑指 Offer 13. 机器人的运动范围 队列:普通队列满足,先进先出,目前也支持双端出的队列形式。 一、面试题59 - I. 滑动窗口的最大值/239. 滑动窗口最大值 1.1 问题 给 阅读全文
posted @ 2020-10-05 22:27 忆凡人生 阅读(283) 评论(0) 推荐(0)
摘要:目录 739. 每日温度 面试题30. 包含min函数的栈/155. 最小栈 剑指 Offer 31. 栈的压入、弹出序列/946. 验证栈序列 简介:栈的特点是先进后出。 一、739. 每日温度 1.1 问题 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过 阅读全文
posted @ 2020-10-05 22:26 忆凡人生 阅读(574) 评论(0) 推荐(0)
摘要:目录 122. 买卖股票的最佳时机 II 134. 加油站 一、122. 买卖股票的最佳时机 II 1.1 问题 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易( 阅读全文
posted @ 2020-10-05 22:25 忆凡人生 阅读(301) 评论(0) 推荐(0)
摘要:目录 定义 基本思路 动态规划比较 举例说明-55. 跳跃游戏 一、定义 贪心算法(greedy algorithms)(《算法导论(第三版)》第 16 章也有叙述)的定义:在对问题求解时,总是做出在当前看来是最好的选择。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略 阅读全文
posted @ 2020-10-05 22:24 忆凡人生 阅读(1790) 评论(0) 推荐(0)
摘要:目录 剑指 Offer 55 - II. 平衡二叉树/110. 平衡二叉树 剑指 Offer 26. 树的子结构 (中等难度) 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 剑指 Offer 68 - II. 二叉树的最近公共祖先/236. 二叉树的最近公共祖先 剑指 Offer 36 阅读全文
posted @ 2020-08-15 22:49 忆凡人生 阅读(210) 评论(0) 推荐(0)
摘要:目录 树的简介 剑指 Offer 07. 重建二叉树/105. 从前序与中序遍历序列构造二叉树 剑指 Offer 27. 二叉树的镜像/226. 翻转二叉树 剑指 Offer 55 - I. 二叉树的深度/104. 二叉树的最大深度 剑指 Offer 34. 二叉树中和为某一值的路径/113. 路径 阅读全文
posted @ 2020-08-15 22:48 忆凡人生 阅读(375) 评论(0) 推荐(0)
摘要:目录 剑指 Offer 54. 二叉搜索树的第k大节点 剑指 Offer 28. 对称的二叉树/101. 对称二叉树 剑指 Offer 32 - II. 从上到下打印二叉树 II/102. 二叉树的层序遍历 剑指 Offer 32 - III. 从上到下打印二叉树 III 剑指 Offer 32 - 阅读全文
posted @ 2020-08-15 22:48 忆凡人生 阅读(239) 评论(0) 推荐(0)
摘要:目录 121. 买卖股票的最佳时机/面试题63. 股票的最大利润 面试题19. 正则表达式匹配/10. 正则表达式匹配 剑指 Offer 60. n个骰子的点数 剑指 Offer 46. 把数字翻译成字符串 一、121. 买卖股票的最佳时机/面试题63. 股票的最大利润 1.1 问题: 给定一个数组 阅读全文
posted @ 2020-08-15 22:45 忆凡人生 阅读(542) 评论(0) 推荐(0)
摘要:目录 递归 迭代 一、递归 一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合. 递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己. 1.1 阅读全文
posted @ 2020-06-02 23:17 忆凡人生 阅读(793) 评论(0) 推荐(0)
摘要:目录 面试题14- I. 剪绳子/343. 整数拆分 面试题42. 连续子数组的最大和/53. 最大子序和 面试题47. 礼物的最大价值 一、面试题14- I. 剪绳子/343. 整数拆分 1.1 问题: 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的 阅读全文
posted @ 2020-06-02 23:16 忆凡人生 阅读(343) 评论(0) 推荐(0)
摘要:目录 最长公共子序列 编辑距离 最长上升子序列 结合上一篇文章,再继续尝试解决动态规划题目 一、1143. 最长公共子序列 1.1 问题: 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的 阅读全文
posted @ 2020-05-23 06:48 忆凡人生 阅读(643) 评论(0) 推荐(0)
摘要:目录 定义 动态规划的步骤 例题分析 算法对比 总结 一、定义 1.1 定义 把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划 --百度定义 动态规划算法(Dynamic Programming-DP)是通过拆分问题,定义问题状态和状 阅读全文
posted @ 2020-05-23 06:46 忆凡人生 阅读(3655) 评论(0) 推荐(0)