
数据结构
<?php?>
改变世界前,先改变自己!
展开
-
Leecode 棒球比赛
//你现在是棒球比赛记录员。 //给定一个字符串列表,每个字符串可以是以下四种类型之一: //1.整数(一轮的得分):直接表示您在本轮中获得的积分数。 //2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。 //3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。 //4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该被移除。 // //每一轮的操作都是永久性的,可能会对前一轮和后一轮产生影响。原创 2020-06-05 16:57:57 · 188 阅读 · 0 评论 -
Leecode下一个更大的值 I
//给定两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个//比其大的值。//// nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。//////// 示例 1://// 输入: nums1 = [4,1,2], nums2 = [1,3,4,2].//输出: [-1,3,-1]//解释://原创 2020-06-05 16:17:53 · 165 阅读 · 0 评论 -
单调栈
概念单调栈就是栈内元素递增或者单调递减的栈,并且只能在栈顶操作。单调栈的维护是O(n)的时间复杂度,所有元素只会进进栈一次性质单调栈里面的元素具有单调性;元素加入栈前会把栈顶破坏单调性的元素删除;使用单调栈可以找到元素向左遍历的第一个比他小的元素(单增栈),也可以找到元素向左遍历第一个比他大的元素(单减栈);一般使用单调栈的题目具有以下的两点:a. 离自己最近(栈的后进先出的性质)b. 比自己大(小)、高(低);适用问题要知道单调栈的适用于解决什么样的问题,我们首先需要知道单调栈的作原创 2020-06-05 15:48:38 · 206 阅读 · 1 评论 -
Leecode最小栈
//设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。////// push(x) —— 将元素 x 推入栈中。// pop() —— 删除栈顶的元素。// top() —— 获取栈顶元素。// getMin() —— 检索栈中的最小元素。////////// 示例://// 输入://["MinStack","push","push","push","getMin","pop","top","getMin"]//[[],[-2],[0],[原创 2020-06-05 00:22:09 · 159 阅读 · 0 评论 -
Leecode有效的括号
//给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。//// 有效字符串需满足:////// 左括号必须用相同类型的右括号闭合。// 左括号必须以正确的顺序闭合。////// 注意空字符串可被认为是有效字符串。//// 示例 1://// 输入: "()"//输出: true////// 示例 2://// 输入: "()[]{}"//输出: true////// 示例 3://// 输入: "(]"//输出:原创 2020-06-04 23:11:13 · 121 阅读 · 0 评论 -
PHP简单实现栈结构
栈结构一、栈的定义、特点1、定义:栈又称为栈或者堆叠,是计算机科学中的一种特殊的串列形式的抽象数据类型,特殊之处在于只允许在链表或者数组的一端堆栈顶端指针,又称 “top”)加入数据push(压栈)和输出数据pop(弹栈),另外栈也可以使用一维数组和链表来实现。2.栈的特点:a.先进后出(后进先出),也就是说,我们只能在栈顶端push(压栈)加入数据,也只能在栈顶端pop(弹栈)删除数据;b.栈除了top(栈顶)和base(栈底)之外,其他的每个元素都有一个前驱和后继;<?phpcla原创 2020-06-04 20:45:53 · 343 阅读 · 0 评论