标签:算法
找出最小开销。 思路: 出发点的加油站编号设为0,终点的加油站编号设为n,其他加油站编号按距离依次排序。 如果0号加油站的距离!=0,则无法出发,行驶距离为0. 从起点开始,寻找规则为,如果存在油价小于本加油站的油价的,则计入, 没有就计入油价最低的。 如此循环,如果能到达终点,输出总花销;不能,输
这是悦乐书的第251次更新,第264篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第118题(顺位题号是520)。给定一个单词,你需要判断其中大写字母的使用是否正确。当下列情况之一成立时,我们将单词中大写字母的用法定义为正确: 这个单词中的所有字母都是大写字母,如“US
栈也是数据结构中重要数据结构,它分为链栈和数组栈,特性:元素先进后出,后进先出 读取也只能读取栈顶元素,栈的应用有以下几种:括号匹配,进制转换,与递归也有关系,判断回文,表达式计算(我会在以后文章专门写几篇介绍应用) 推荐在书写数据结构时,保留一个主函数进行测试 栈的源代码: import ja
题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 2: 输入: "(
题意:给出BST的前序序列,以及若干个查询。寻找BST中任意给定两个结点u,v的最低公共祖先(LCA)。 思路: 1、首先根据前序序列和中序序列构建好二叉搜索树(思考1:此处明明是BST,为何不在输入前序序列的过程中直接插入建树?这样做岂不是更方便?分析见最后) 2、利用二叉搜索树的性质寻找结点u和
概览 二叉树的链表和静态链表的定义 二叉树的遍历(先序遍历、中序遍历、后序遍历、层次遍历,前三者又分为递归和非递归) 重建二叉树 二叉排序树(BST) 完全二叉树(CBT) 平衡二叉树(AVL) 红黑树   二叉树结点的定义 struct Node{ int val; Node *
题意:由前序序列和后序序列构建二叉树(保证树的结点值均不相同),若构建的二叉树唯一,输出Yes和其中序序列;若不唯一,输出No和任意一个二叉树的中序序列。 思路:首先,假定区间下标从0开始,即[0,n-1]。 1.一开始,前序序列的第一个结点和后序序列的最后一个结点相同,且为树的根结点。这一点是确
题意:给出k个二叉搜索树的前序序列,判断该树是否为红黑树。 红黑树的定义: 结点的颜色非红即黑 根结点的颜色必须是黑色 每个叶子结点(指的是空结点,图中并没有画出来)都是黑色的 如果某个结点为红色,则它的孩子节点必须是黑色的。(表明从每个叶子到根的所有路径上不能有两个连续的红色节点。) 从任一节点
这是悦乐书的第252次更新,第265篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第119题(顺位题号是521)。给定一组两个字符串,您需要找到这组两个字符串中最长的不同子序列。最长的不同子序列被定义为这些字符串之一的最长子序列,并且此子序列不应该是其他字符串的任何子序
一个故事开头。 09年春晚,一个《不差钱》带飞了小沈阳,一夜之间大红大紫。随后一个采访中,作为师傅的本山大叔指导他这个得意门生。 原话大概意思是:“有点成就了肯定飘,你不要飘,要站在地上,不管干啥,你要记住你首先是一个二人转演员”。   算法的书籍,前前后后买了好几本,零零散散的看,效果不好,水平
题目描述: 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。
序       这一篇文章是算法专栏第一篇文章。算法这个栏目会连载常用的算法(代码为Java),欢迎大家给我留言讨论。 1.什么是算法   1.1 算法定义     通俗的讲,算法是对问题求解过程的一种描述,是为解决一类问题给出一个确定的,有限的操作序列。曾经
一.什么是括号匹配: 括号匹配就是利用计算机辨别表达式里面的括号是否书写成功 例如: {()((a)) }这就是一个正确 (()()   这就是一个错误的 二.括号匹配的算法:  众所周知,括号分为花括号,大括号,小括号,{,[,( 但读取到左边的货号的时候将,左边的括号入栈 如果读取到},)],就
题目描述 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 示例: 输入: [1,2,3,4] 输出: [24,12,8,6] 说明: 请不要使用除法,且在 O(n) 时