
算法基础
文章平均质量分 70
koping_wu
这个作者很懒,什么都没留下…
展开
-
编程题-算法-中等-leetcode-739. 每日温度
看到题目,可以想到用一个双向队列来记录对应的温度和下标值。然后遍历温度temperatures,当遍历的温度值(temp)比队首元素的温度(firstTempInQue)高,则可以得到队首元素的结果。方式二是不借助自定义的类Node,而是将队列里保存对应温度的下标值,通过下标来进行判断,当然原理其实和方式一基本一致。理解了方式一的话,方式二也就很好理解了。如果当前温度值(temp)比队首元素的温度(firstTempInQue)低,则将其放到队首。方式一比较好理解,自定义类Node和队列,进行解答。原创 2022-10-02 13:48:53 · 428 阅读 · 0 评论 -
编程题-算法-中等-牛客网-NC60 判断一个树是否是搜索二叉树和完全二叉树
编程题-算法-中等-牛客网-NC60 判断一个树是否是搜索二叉树和完全二叉树1、题目:判断一个树是否是搜索二叉树和完全二叉树2、编程解答2.1 方式一:搜索(递归+列表)、完全(非递归)2.2 方式二:搜索(递归)、完全(非递归)2.3 方式三:搜索(非递归)、完全(非递归)1、题目:判断一个树是否是搜索二叉树和完全二叉树2、编程解答1)什么是搜索二叉树?因为左子树的节点全部小于父节点,所以按照中序遍历的话,如果是搜索二叉树的话,一定是升序的。可以采用深度优先遍历,使用stack栈结构来解决。原创 2022-04-01 10:02:04 · 815 阅读 · 0 评论 -
编程题-算法-中等-牛客网-NC15 求二叉树的层序遍历
编程题-算法-中等-牛客网-NC15 求二叉树的层序遍历1、题目:NC15 求二叉树的层序遍历2、编程解答2.1 方法一:递归方法2.2 方法二:非递归方法——广度优先遍历法3、两种方法的自测代码1、题目:NC15 求二叉树的层序遍历2、编程解答2.1 方法一:递归方法第一种方法:递归方法,使用二叉树的前序遍历递归方式,再利用一个变量记录当前递归的深度,然后进行层序的遍历的记录。import java.util.*;/* * public class TreeNode { * i原创 2021-11-21 17:49:35 · 308 阅读 · 0 评论 -
编程题-算法-中等-牛客网-NC140 排序:快速排序详解(快排)
编程题-算法-中等-牛客网-NC140 排序:快速排序详解(快排)1、题目:NC140 排序2、编程解答3、快排详解4、快排复杂度、稳定性分析1、题目:NC140 排序2、编程解答排序的方式有很多种,我使用的是快速排序,代码如下:import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 将给定数组排序 * @param arr int整型原创 2021-11-15 20:26:41 · 1300 阅读 · 0 评论 -
排序算法1:归并排序的基本思想和应用示例
排序算法1:归并排序归并排序1:归并排序基本思想2:归并排序的应用:小和问题和逆序对问题2.1 小和问题和逆序对问题2.2 C++的代码示例2.3 python代码示例归并排序1:归并排序基本思想1:归并排序的过程:递归+合并 递归:每一次将数组分为左右2个子数组,然后再将左右2个子数组划分为2个子数组。base是当划分的子数组只有1个数字时,就直接返回。返回了两个base的结果之后,然...原创 2019-12-07 16:39:09 · 2736 阅读 · 0 评论