数据结构
文章平均质量分 50
passionup
这个作者很懒,什么都没留下…
展开
-
字符串-通过删除字母匹配到字典里最长单词-双指针/动态规划
通过删除字母匹配到字典里最长单词 leetcode 524给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。示例 1:输入:s = "abpcplea", dictionary = ["ale","apple","monkey","plea"]输出:"apple"示例 2:输入:s = "abpcplea", dic原创 2021-09-15 11:07:48 · 119 阅读 · 0 评论 -
数学-寻找峰值 leetcode 162
寻找峰值来源于力扣(LeetCode)峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。示例1输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例2输入:nums = [1,2,1,3,5,6,4]原创 2021-09-15 09:31:57 · 161 阅读 · 0 评论 -
栈-有效的括号字符串-栈\贪心算法
有效的括号字符串来源于leetcode给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则:任何左括号 ( 必须有相应的右括号 )。任何右括号 ) 必须有相应的左括号 ( 。左括号 ( 必须在对应的右括号之前 )。可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。一个空字符串也被视为有效字符串。示例 1:输入: "()"输出: True示例 2:输入: "(*)"输出: True示例 3:输入原创 2021-09-13 21:56:04 · 203 阅读 · 0 评论 -
栈-最小栈
最小栈leetcode设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,nu原创 2021-09-13 09:38:24 · 126 阅读 · 0 评论 -
数学-整数中1出现的次数
这里写自定义目录标题整数中1出现的次数(从1到n整数中1出现的次数)描述整数中1出现的次数(从1到n整数中1出现的次数)描述输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数例如,1~13中包含1的数字有1、10、11、12、13因此共出现6次[O(n^2)解法]class Solution {public: int countDigitOne(int n) { int count = 0; for (int i = 1; i <=原创 2021-09-12 16:29:57 · 108 阅读 · 0 评论 -
dp-装箱问题
装箱问题(来源于牛客网)一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1×1、2×2、3×3、4×4、5×5、6×6。这些产品通常使用一个 6×6×h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。输入描述:输入包含多组数据。每组数据一行,包含六个自然数,分别表示1×1至6×6这六种产品的数量。输出描述:对应每组原创 2021-09-11 20:47:39 · 213 阅读 · 0 评论 -
4.1是否同一棵二叉搜索树
1-建两棵树,判断是否相等2-不建树,判断相等3-建一棵树,再判断其他序列是否与该树一致原创 2020-04-16 12:24:37 · 173 阅读 · 0 评论 -
0-程序算法计时
1. c语言版本#include<cstdio>#include<ctime>int main() { const int maxN=1e6; /*clock_t是clock()返回值类型*/ clock_t start,stop; /*记录时间,s*/ double duration; /*clock():捕捉运行到...原创 2020-04-13 21:28:10 · 193 阅读 · 0 评论 -
数据结构习题册
2020年学习数据结构中的习题思路学习整理原创 2020-04-13 21:21:44 · 304 阅读 · 0 评论 -
绪论
1、 绪论数据的组织和问题的规模有关。解决问题的方法效率跟空间的利用效率有关解决问题的效率和算法的巧妙程度有关。抽象数据类型(Abstract Data Type)数据类型数据对象集数据集合相关联的操作集抽象 :不依赖具体的实现编译器写法:/*将n(n>1)个整数存放到一维数组R中,设计一个算法,将R中的序列循环左移P(0<p<n)个位置*/...原创 2020-02-18 18:04:11 · 177 阅读 · 0 评论 -
堆排序
堆排序先整理学的,有点乱数据结构排序算法之堆排序演示#include<iostream>using namespace std;void MaxHead(int *a,int size);void makeMaxHead(int *a,int size,int i);void swap(int &a,int &b);void prinfout(int ...原创 2019-10-16 16:10:06 · 142 阅读 · 0 评论