摘要:
有一个整型数组arr 和一个 大小为w的窗口从数组的最左边滑倒最右边,窗口每次向右边滑动一个位置 如果数组长度为n, 窗口大小为w, 则一共产生 n-w+1 个窗口的最大值 请实现一个函数: 输入 整型数组 arr, 窗口大小 w 输出 一个长度为 n-w+1 的数组res res[i] 表示每一种 阅读全文
摘要:
最近这段时间正在积极准备面试,复习到操作系统部分,本篇文章就介绍操作系统基础内容,参考第四版《计算机操作系统》这本文章总结了面试中常考、常用到的基本知识点,希望对准备面试的同学和想回顾操作系统知识点的程序员们有所帮助,不对的地方欢迎指正! 一、操作系统引论 操作系统目标 1:方面性,2:有效性,3: 阅读全文
摘要:
阅读全文
摘要:
用一个栈实现另一个栈的排序 一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序。只允许申请一个栈。除此之外可以申请新的变量,但不能申请额外数据结构 思路: 将要排序的栈记为 stack, 申请的数组栈记为help。 stack上执行pop操作, 弹出的元素记为cur 如果cur <= 阅读全文
摘要:
一个栈一次压入 1 2 3 4 5 那么从栈顶到栈底分别为 5 4 3 2 1. 将这个栈转置后,从栈顶到栈底为 1 2 3 4 5 实现栈中元素的逆序 要求只能用 递归函数实现 代码: 这个代码是这么理解: 最后一层递归 空的时候 return result=1 last此时就是1了 然后push 阅读全文
摘要:
编写一个类,用两个栈实现队列,支持队列的基本操作(add poll peek) 栈的特点是先进后出,而队列是先进先出。用两个栈正好能把顺序反转过来实现类似队列的操作 具体实现: 一个栈作为压入栈,在压入数据时候,在压入数据时只往这个栈中压入,记为 stackPush 另一个栈只作为弹出栈,在弹出数据 阅读全文
摘要:
实现一个特殊的栈,在实现栈的基本功能基础上,再实现返回栈中最小元素的操作。 思路: 在设计上 使用两个栈,一个用来保存当前栈中的元素,其功能和一个正常的栈没有区别。记为 stackData 另一个栈用来保存每一步的最小值,这个栈记为 stakMin 压入数据规则: 假设当前数据为 newNum 先将 阅读全文
摘要:
给定一棵二叉树的头节点head, 按照两种标准分别实现二叉树边界节点的逆时针打印 标准一 头节点为边界节点 叶节点为边界节点 如果节点在其所在的层中是最左或者最右边,那么也是边界节点 标准二 头节点作为边界节点 叶节点位边界节点 树左边界延伸下去的路径为边界节点 树有边界延伸下去的路径为边界节点 阅读全文
摘要:
用递归解决的问题都能用非递归解决 这是因为无非就是利用函数栈来保存信息,如果自己申请的数据结构来代替栈,也可以实现相同功能。 实现非递归的先序遍历: 1 申请一个栈 stack 2 然后将头节点head压入stack 3 从stack中弹出栈顶节点 cur, 打印cur的节点值。 再将cur的右孩子 阅读全文
摘要:
递归: 下面用图形的方式解释一下这个递归的执行过程,可能有些同学对于这个过程不是很了解: 如果是这个样子的二叉树: 首先是这样:对于每行逻辑代码 我做了个标记 对于函数的的调用时需要入栈 进栈的 阅读全文