刷题
文章平均质量分 55
小葵向前冲
这个作者很懒,什么都没留下…
展开
-
近期刷题。
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 ‘A’ 表示此位为 10 , ‘B’ 表示此位为 11。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。原创 2022-09-08 15:32:30 · 302 阅读 · 0 评论 -
vs模板、c++基础
#pragma once#include<iostream>#include<vector>#include<algorithm>using namespace std;int main() { system("pause"); return 0;}原创 2022-05-17 20:05:34 · 177 阅读 · 0 评论 -
[编程题]字符串最后一个单词的长度
class Solution {public: int lengthOfLastWord(const char *s) { int count =0; int len = strlen(s); for(int i=len-1; i>=0; i--){ if(s[i] == ' '){ if(count) break; }e.原创 2022-05-10 20:58:24 · 73 阅读 · 0 评论 -
给出两个整数n和k,返回从1到n中取k个数字的所有可能的组合
class Solution {public: /** * * @param n int整型 * @param k int整型 * @return int整型vector<vector<>> */ vector<vector<int> > combine(int n, int k) { // write code here vector<vecto.原创 2022-05-10 20:27:26 · 925 阅读 · 0 评论 -
[编程题]得分最大
#include<bits/stdc++.h>using namespace std;void process(long long n,long long k){ vector<long long>ans; //从最后一步开始往上走,最后一步的取值范围是[pow(2,k-1),pow(2,k)) for(long long i=pow(2,k-1);i<pow(2,k);i++){ long long distance=n; /原创 2022-05-09 21:38:35 · 599 阅读 · 0 评论 -
数据结构【字符串】相关代码(数据结构笔试、复测、Leecode、牛客)
提示:这些是自己整理 可以借鉴 也可能存在错误 欢迎指正字符串基础知识题目简单中等1.大数加法最长公共子串基础知识题目简单中等1.大数加法描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。数据范围:s.length,t.length≤100000,字符串仅由’0’~‘9’构成要求:时间复杂度 O(n)思路:大整数相加,就可以按照整数相加的方式,从个位开始,逐渐往上累加,换到字符串中就是从两个字符串的末尾开始相加。class Solution {.原创 2022-04-24 18:25:05 · 1912 阅读 · 0 评论 -
数据结构【数组、矩阵】相关代码(数据结构笔试、复测、Leecode、牛客)
数组简单两数之和合并两个有序的数组中等最长无重复子数组简单两数之和描述给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。(注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到)解题思路:两个for循环(缺点:超时)哈希表<取值, 下标>class Solution {public: /** * * @param numbers in原创 2022-04-24 17:20:49 · 1591 阅读 · 0 评论 -
关于排序的相关代码(数据结构笔试、复测、Leecode、牛客)
提示:这些是自己整理 可以借鉴 也可能存在错误 欢迎指正基础排序经典排序:基础应用简单中等最小的K个数描述:给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000 要求:空间复杂度O(n) ,时间复杂度 O(nlogn)解题思路:- 要求范围内的排序+输出- 可用排序(折半插入排序.原创 2022-04-24 15:23:53 · 1154 阅读 · 0 评论 -
数据结构【图】相关代码(数据结构笔试、复测、Leecode、牛客)
图相关知识图的搜索bfsdfs进阶最小生成树Kruskal算法最短路径拓扑排序相关知识图的搜索bfsdfs进阶最小生成树Kruskal算法思想:每次知道候选边中权值最小的边,并入生成树中(不能构成环—并查集)**执行过程:**将图中边按照权值从小到大排序,然后从最小边开始扫描,并检测当前边是否为候选边,即是否该边的并入会构成回路。并查集---使用数组存储(树的双亲存储结构)class Solution {public: /** * 代码中的类名、方法名、参数名原创 2022-04-22 16:38:11 · 255 阅读 · 0 评论 -
动态规划(数据结构笔试、复测、Leecode、牛客)
动态规划基础介绍简单跳台阶连续子数组最大和[NOIP2001]装箱问题完全背包中等三角形最小路径和最长上升子序列(一)最长公共子序列(一)[模板] 背包基础介绍简单跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。递归class Solution {public: int jumpFloor(int number) { if(number <= 1) retu原创 2022-04-22 11:19:33 · 241 阅读 · 0 评论 -
基础算法(数据结构笔试、复测、Leecode、牛客)
基础算法查找二分查找递归枚举分治排序贪心双指针查找二分查找又叫折半查找class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param target int整型 * @return int整型 */ int search(vector<int>&a原创 2022-04-21 10:21:32 · 222 阅读 · 0 评论 -
数据结构【树】相关代码(数据结构笔试、复测、Leecode、牛客)
图基础介绍树基础二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历二叉树的层次遍历按之字形顺序打印二叉树二叉树的最大深度二叉树中和为某一值的路径(一)二叉搜索树与双向链表对称的二叉树合并二叉树二叉树的镜像判断是不是二叉搜索树判断是不是完全二叉树判断是不是平衡二叉树二叉搜索树的最近公共祖先在二叉树中找到两个节点的最近公共祖先进阶基础介绍树二叉树主要性质:非空二叉树上叶子结点数等于双分支结点数加1。二叉树的第i层上最多有2i−1(i≥1)2^{i-1}(i≥1)2i−1(i≥1)个结点。高度(或深度原创 2022-04-20 14:48:16 · 797 阅读 · 0 评论 -
数据结构【栈、队列】相关代码(数据结构笔试、复测、Leecode、牛客)
栈基础介绍相关算法基础【模板】栈栈的压入、弹出序列有效括号序列逆波兰表达式求值点击消除表达式求解进阶基础介绍栈是一种只能在一端进行插入或删除操作的线性表。特点:先进后出分类:顺序栈和链栈相关算法基础【模板】栈定义、进栈、出栈#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 5;int st[N];int top = -1;int main(){ int n; c原创 2022-04-18 21:09:44 · 905 阅读 · 0 评论 -
排序相关代码(数据结构笔试、复测、Leecode、牛客)
排序基础概念基础排序插入类排序直接插入折半插入希尔排序交换类排序冒泡排序快速排序选择类排序简单选择排序堆排序归并类排序进阶应用基础概念基础排序插入类排序直接插入排序、折半插入排序、希尔排序直接插入基本思想:每趟将一个待排序的关键字按照大小插入到已排好的部分有序序列的适当位置中时间复杂度O(n2)O(n^2)O(n2)空间复杂度O(1)O(1)O(1)vector<int> MySort(vector<int>& arr) { //原创 2022-04-18 15:55:36 · 451 阅读 · 0 评论 -
链表相关代码(数据结构笔试、复测、Leecode、牛客)
提示:这些是自己整理 可以借鉴 也可能存在错误 欢迎指正链表数据结构介绍链表1. 模板链表2. Reverse Linked List(反转链表)3.合并两个排序链表4. 删除链表的节点数据结构介绍链表链表存储结构 :以指针指向来表示数据元素之间的逻辑关系。(单)链表是由节点和指针构成的数据结构,每个节点存有一个值,和一个指向下一个节点的指针,因此很多链表问题可以用递归来处理。1. 模板链表请你实现一个链表。操作:insert x y:将y加入链表,插入在第一个值为x的结点之前。若链原创 2022-04-15 10:51:07 · 670 阅读 · 0 评论