- 博客(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
375
原创 Leetcode 299 猜数字游戏
题目描述: 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls", 公牛), 有多少位属于数字猜对了但是位置不对(称为 "Cows", 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。 给你一个秘密数字secret 和朋友猜测的数字guess ,请你返回对朋友这次猜测的提示。 提..
2021-11-08 17:13:17
86
原创 LeetCode 1218 最长定差子序列
一、 拿到这个题后,自己的思路是,遍历数组中的每一个元素,看看它属不属于已知的等差数列的后一元素(需要遍历已知的所有数列),如果属于,则将该元素添加到后面,如果不属于,该元素自成一个队列,等待后面元素的到来。 想到了用二维的vector,样例能过,简单的数据也能过,当数据很大时就超时了(毕竟这个方法用了双重循环) 右边拖动条还能继续拖 :( 超时的代码: class Solution { public: int longestSubsequence(vector<in...
2021-11-05 21:39:20
136
原创 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
115
原创 数据结构——双向链表
一、双向链表结点结构体 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
765
原创 数据结构——链表 Ⅰ
一、基本认识 1.定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 2. 优点: ①插入和删除不必改变其他元素,只需改变指针,复杂度O(1); ②不用像数组一样需要预先知道数据大小,链表结构可以充分利用计算机内存空间; 3.缺点: ①查找结点或访问结点效率低,需要O(n)的时间..
2021-11-02 21:02:31
2488
原创 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
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人