![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Z-Abraham
这个作者很懒,什么都没留下…
展开
-
蓝桥杯2021模拟赛 删除字符
题目描述给定一个单词,请问在单词中删除 t个字母后,能得到的字典序最小的单词是什么?输入描述输入的第一行包含一个单词,由大写英文字母组成。第二行包含一个正整数 t。其中,单词长度不超过 100,t小于单词长度。输出描述输出一个单词,表示答案。输入输出样例示例 1输入LANQIAO3输出AIAO思路: 删除t个字母,要得到字典序最小的单词,只要在 t + 1 个长度内删除 t 个序号最大的字母,得到的就是字典序最小的单词#include <stdio.h>原创 2021-12-19 16:02:32 · 868 阅读 · 1 评论 -
蓝桥杯 特别数的和
题目描述小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n中,所有这样的数的和是多少?输入描述输入格式:输入一行包含一个整数 n(1≤n≤10^4)。输出描述输出一行,包含一个整数,表示满足条件的数的和。输入输出样例示例输入40输出574C语言代码如下:#include<stdio.h>bool chec原创 2021-12-12 17:49:43 · 4503 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列简单题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue"原创 2021-11-28 20:40:36 · 50 阅读 · 0 评论 -
剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径中等题目:给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。示例 1:输入:board = [["A","B","C","E"],["原创 2021-11-14 19:56:01 · 71 阅读 · 0 评论 -
剑指 Offer 33. 二叉搜索树的后序遍历序列
剑指 Offer 33. 二叉搜索树的后序遍历序列题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。二叉搜索树: 根节点的值大于其左子树中任意一个节点的值,小于其右节点中任意一节点的值参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出原创 2021-11-07 13:40:13 · 56 阅读 · 0 评论 -
剑指offer 26.树的子结构
剑指offer 26.树的子结构题目: 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A =原创 2021-10-31 14:48:09 · 126 阅读 · 0 评论 -
剑指 Offer 56 - I. 数组中数字出现的次数
剑指 Offer 56 - I. 数组中数字出现的次数题目: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]来源:力扣(LeetCode)链接:剑指 Offer 56 - I. 数组中数字出现的次数思原创 2021-10-24 15:17:51 · 71 阅读 · 0 评论 -
LeetCode 455.分发饼干(贪心算法)
LeetCode 455.分发饼干(贪心算法)题目: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入: g = [1,2,3], s = [1,1]输出: 1解释:原创 2021-10-15 18:40:49 · 257 阅读 · 0 评论 -
LeetCode 32.最长有效括号
LeetCode 32.最长有效括号题目: 给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。思路: 用栈来解决问题(需要注意要始终保持栈底元素为没有左括号匹配的右括号的下标)。当遇到每个’ ( ’ 时,我们把他的下标放入栈中;当遇到每个’ ) ’ 时,我们先弹出栈顶元素,再判断栈为不为空:如果不为空,说明当前右括号的下标减去栈顶元素存放的值即为当前有效子串的长度如果为空,说明当前右括号没有和他匹配的左括号,我们把他的下标放入栈底。(就算之前已经有了原创 2021-10-07 16:33:37 · 83 阅读 · 0 评论 -
剑指offer 22.链表中倒数第k个节点
剑指offer 22.链表中倒数第k个节点题目描述题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。...原创 2021-09-21 14:04:45 · 99 阅读 · 0 评论