- 博客(11)
- 收藏
- 关注
原创 leecode 677 键值映射
代码:class MapSum {public: MapSum() { } unordered_map<string,int> cnt; void insert(string key, int val) { cnt[key]=val; } int sum(string prefix) { int res=0; for(auto & [key
2021-11-14 10:26:33 320
原创 Leetcode 299 猜数字游戏
题目描述:你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls", 公牛),有多少位属于数字猜对了但是位置不对(称为 "Cows", 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。给你一个秘密数字secret 和朋友猜测的数字guess ,请你返回对朋友这次猜测的提示。提..
2021-11-08 17:13:17 49
原创 LeetCode 1218 最长定差子序列
一、拿到这个题后,自己的思路是,遍历数组中的每一个元素,看看它属不属于已知的等差数列的后一元素(需要遍历已知的所有数列),如果属于,则将该元素添加到后面,如果不属于,该元素自成一个队列,等待后面元素的到来。想到了用二维的vector,样例能过,简单的数据也能过,当数据很大时就超时了(毕竟这个方法用了双重循环)右边拖动条还能继续拖 :(超时的代码:class Solution {public: int longestSubsequence(vector<in...
2021-11-05 21:39:20 94
原创 407.接雨水
题目来源: leetcode 每日一题 11.3代码:typedef pair<int,int> pii; //高度,在队列中的权重class Solution {public: int trapRainWater(vector<vector<int>>& heightMap) { if(heightMap.size()<=2 || heightMap[0].size()<=2) return 0
2021-11-04 20:41:17 84
原创 数据结构——双向链表
一、双向链表结点结构体typedef struct node{ int data; struct node *pre; struct node *next;}Node;指针指向的是什么东西,指针就是什么类型。这里要有指向前一个结点的指针也需要一个指向后面结点的指针,每个结点都是struct node类型的结构体。二、双向链表结构体typedef struct DoubleList{ Node* head; Node* tail; int size;}DoubleL
2021-11-03 17:42:58 689
原创 数据结构——链表 Ⅰ
一、基本认识1.定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。2. 优点:①插入和删除不必改变其他元素,只需改变指针,复杂度O(1);②不用像数组一样需要预先知道数据大小,链表结构可以充分利用计算机内存空间;3.缺点:①查找结点或访问结点效率低,需要O(n)的时间..
2021-11-02 21:02:31 2253
原创 LeetCode 575.分糖果
一. 解题过程由于最近一直在看哈希表、map相关的知识点,看到这个题第一想法是开一个map映射,key-value即糖果种类-此种糖果的数量,存每种糖果有多少个。(有了map之后确实觉得标记数组的写法傻傻的)class Solution {public: typedef pair<int,int> PAIR; static bool cmp_by_number(const PAIR &a,const PAIR &b) { re
2021-11-01 19:45:03 128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人