![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode之路
文章平均质量分 56
Re-write questions during postgraduate
sdau20163940
努力学习,天天向上!
展开
-
leetcode 564. 寻找最近的回文数(贪心+模拟)
贪心原创 2022-03-02 12:51:54 · 617 阅读 · 0 评论 -
#91. 解码方法 Tag:DP
题目: 一条包含字母A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -> 26 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 (1 1 10 6) "KJF" ,将消息分组为 (11 10 6) 注意,消息不能分组为(1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06" 在映射中并不等价...原创 2021-04-22 16:16:27 · 166 阅读 · 0 评论 -
面试题 01.01. 判定字符是否唯一 Tag:数组(位运算)
题目: 注意:字符串仅包含26个英文字母!!! 地址:https://leetcode-cn.com/problems/is-unique-lcci/ 思路: 一个比较简单的题目,数据量也很小。但是如果把问题往深处想,如何不使用额外的数据结构?会有很多不同的解法。要想做到真正的提高,绝对不能仅满足于AC,我们应该尽量降低算法的时间和空间复杂度! 解法一: 思路:看到给的提示:“你能用O(NlogN)的时间复杂度解决它吗?这样的解法会是什么样呢?”立马想到快排,前后比较一下就可以!但是时间复杂原创 2021-04-21 15:53:23 · 176 阅读 · 2 评论 -
#27.移除元素 Tag:数组
给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 地址:https://leetcode-cn.com/problems/remove-element/ -----------------------------------------------------------------------...原创 2021-04-19 16:54:16 · 127 阅读 · 2 评论 -
#628. 三个数的最大乘积 Tag:数组
题目: 给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 思路: 首先介绍我的想法,很冗余、傻瓜,没时间的直接略过吧:这三个数的正负有四种可能正正正、正正负、正负负、负负负,我们使用条件判断来模拟出每一种可能,代码量可想而知,if中套if... 其次,介绍一下官方题解,对数组排一下序,对最前面三个和最后面三个去较大值,即为最终答案,仔细一想,醍醐灌顶。下面来解释一下:如果数组中全是非负数,则排序后最大的三个数相乘即为最大乘积;如果全是非正数,则最大的三个数相乘同样也原创 2021-03-15 21:01:07 · 97 阅读 · 0 评论 -
STL整理
一、stack 头文件: #include <stack> 定义:stack<data_type> stack_name; 如:stack <int> s; 操作: empty() -- 返回bool型,表示栈内是否为空 (s.empty() ) size() -- 返回栈内元素个数 (s.size() ) top() -- 返回栈顶元素值 (s.top() ) pop() -- 移除栈顶元素(s.pop(); ) push(da...原创 2021-03-08 22:11:30 · 122 阅读 · 0 评论 -
#1 两数之和
题意:给定数组,寻找两个数,这两个数满足之和为targe,输出这两个数的下标。 思路:暴力枚举,两个for循环搞定 代码: class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int n=nums.size(); for(int i=0;i<n;i++) for(int j=i+1;j<n;j原创 2021-03-08 19:20:07 · 63 阅读 · 0 评论