• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






zhouj-learn

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2

2022年10月14日

《剑指offer》day09
摘要: 题目描述 思路 动态规划+自下而上 记录每个元素对应的包含了当前元素的连续和的最大值,最后取一个全局最大的 自下而上的话就没有必要保留,一边求一边更新即可 递归的话也可以不用记录,弄一个全局变量实时更新 状态转换方程:f(n)=f(n-1)+nums[n]>nums[n]?f(n-1)+nums[n 阅读全文
posted @ 2022-10-14 15:46 程序员狗剩 阅读(23) 评论(0) 推荐(0)
 
《剑指offer》day08
摘要: 斐波那契数列 题目描述 思路 动态规划+哈希表+递归 动态规划 维基百科定义: 动态规划(英语:Dynamic programming,简称 DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子 阅读全文
posted @ 2022-10-14 12:18 程序员狗剩 阅读(30) 评论(0) 推荐(0)
 

2022年10月12日

《剑指offer》day07
摘要: 树的子结构 题目描述 思路 遍历比对 遍历每个节点,看看它的子树的开头部分,也可能是一整棵,能不能完全匹配上目标 一些要注意的细节: B为空可直接返回false,这是题干,A为空也可直接返回false,这是题干隐含信息 比对过程中,递归到B为空则必定返回true,递归到A为空且B不为空则返回fals 阅读全文
posted @ 2022-10-12 21:25 程序员狗剩 阅读(19) 评论(0) 推荐(0)
 

2022年10月11日

《剑指offer》day06
摘要: 从上到下打印二叉树 题目描述 思路 队列 这个其实是树的基本操作之一,层序遍历,也叫广度优先遍历,可以通过队列的先进先出来实现 代码实现 /** * Definition for a binary tree node. * public class TreeNode { * int val; * T 阅读全文
posted @ 2022-10-11 15:25 程序员狗剩 阅读(23) 评论(0) 推荐(0)
 
day01
摘要: 查找 二分查找 手写代码 自己语言描述算法 判断查找次数 语言描述 前提:有已排序数组 A(假设已经做好) 定义左边界 L、右边界 R,确定搜索范围,循环执行二分查找(3、4两步) 获取中间索引 M = Floor((L+R) /2) 中间索引的值 A[M] 与待搜索的值 T 进行比较 ① A[M] 阅读全文
posted @ 2022-10-11 09:55 程序员狗剩 阅读(29) 评论(0) 推荐(0)
 

2022年10月10日

《剑指offer》day05
摘要: 二维数组的查找 题目描述 思路 二叉搜索树法 如果对二叉搜索树比较熟悉,你就会发现改数组有二叉树的特征,于是就可以采用二叉树找值的算法 应用在本题中,如果目标数比标志数大,就行+1,小则列-1,循环终止条件为不匹配,且要变动的索引抵达边界 代码实现 class Solution { public b 阅读全文
posted @ 2022-10-10 16:04 程序员狗剩 阅读(18) 评论(0) 推荐(0)
 
《剑指offer》day04
摘要: 数组中重复的数字 题目描述 思路 set集合 set集合是不允许有重复元素的,根据这个特点可以实现去重、判定重复 构建索引字典 字典 暂时理解为和map是一个东西,都是构建key与value的一一对应关系 本题中元素种类少于数组容量,所以是肯定可以构建出索引与容量的一一对应关系的,这是一种模式 而构 阅读全文
posted @ 2022-10-10 09:40 程序员狗剩 阅读(15) 评论(0) 推荐(0)
 

2022年10月8日

《剑指offer》day03
摘要: 替换空格 题目描述 思路 原地修改 适用于c++这种字符串可变的语言,可以直接使用双指针法 双指针法 先将原空间扩容至结果所需大小,然后两个指针分别指向旧的和新的的尾部,往前移动,遇到需要替换的则替换后加入,否则直接加入。 从前往后的话插入未知后面的内容都会移动,时间复杂度增大,故从后往前。 主要是 阅读全文
posted @ 2022-10-08 15:45 程序员狗剩 阅读(23) 评论(0) 推荐(0)
 
《剑指offer》day02
摘要: 从尾到头打印链表 题目要求 思路 逆置法 将链表逆置再打印即可,注意,返回值不计入空间复杂度!!! 辅助栈法 利用栈的先进后出特性,顺序遍历链表并将指入栈,然后将栈的元素给数组即可 数组法 由于数组可随机存取,故可以得到链表的长度后申请一个数组然后再顺序遍历链表并将值从数组后往前插入。 代码 逆置法 阅读全文
posted @ 2022-10-08 13:30 程序员狗剩 阅读(18) 评论(0) 推荐(0)
 

2022年10月7日

《剑指offer》day01
摘要: 用两个栈实现队列 题目要求 思路 栈的特性是先进后出,而队列的特性是先进先出,用栈实现队列的话就需要一个辅助栈来逆置原来的栈序列。 代码 class CQueue { Stack<Integer> stackTail,stackHead; public CQueue() { stackTail = 阅读全文
posted @ 2022-10-07 15:15 程序员狗剩 阅读(20) 评论(0) 推荐(0)
 
上一页 1 2