算法系列
算法系列
wellzhi
这个作者很懒,什么都没留下…
展开
-
王道数据结构 栈 后缀表达式求值 ★★★★★
1. 准备一个`栈`,从`左向右`扫描后缀表达式。 2. 遇到操作数就入栈,遇到运算符则出栈两个操作数,`先出栈`的作为`右操作数`,`后出栈`的作为`左操作数`,然后运算之后把结果继续压入栈内 3. `重复以上步骤`,最后栈中的栈顶元素就是`最终计算结果`...原创 2022-07-26 18:11:56 · 601 阅读 · 0 评论 -
王道数据结构 KMP算法 求next数组
next数组值k-10001230。目标串字符ABCABCMN。目标串下标j01234567。原创 2022-07-25 18:15:07 · 1145 阅读 · 0 评论 -
王道数据结构 排序算法 堆排序 ★★★★★
堆排序每一趟将堆顶元素加入有序子序列(与待排序序列中的最后一个元素交换),并将待排序序列元素再次调整为大根堆(小元素不断"下沉")原创 2022-07-25 15:20:35 · 1225 阅读 · 0 评论 -
【AcWing 47.】二叉树中和为某一值的路径Java实现
【AcWing 47.】二叉树中和为某一值的路径Java实现原创 2022-06-17 14:59:10 · 133 阅读 · 0 评论 -
LeetCode算法题库 | 删除排序数组中的重复项
一、题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 示例 2:给定 nums = [0,0,1,1,1,2......原创 2019-06-08 09:24:57 · 927 阅读 · 0 评论 -
模拟pop和push:两个队列模拟栈、使用两个栈模拟队列
一、使用两个栈模拟队列的pop和push操作package com.digigd.cloud.dolphin.digigd.pub.test;import java.util.Stack;public class QueuePushPop { //栈1 Stack<Integer> stack1 = new Stack<Integer>(); ...原创 2019-07-18 17:59:32 · 405 阅读 · 0 评论 -
LeetCode【多线程】—— 按序打印
一、题目我们提供了一个类:public class Foo { public void first() { print("first"); } public void second() { print("second"); } public void third() { print("third"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 first() 方法线程 B 将会调用 second() 方法线程 C 将会调用 third() 方法请设计修改原创 2020-08-15 00:51:17 · 517 阅读 · 1 评论