自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 LRU算法

146. LRU 缓存机制 需要用到哈希表和双向链表 struct DLinkedNode{ int key, value; DLinkedNode* prev; DLinkedNode* next; DLinkedNode(): key(0), value(0), prev(nullptr), next(nullptr) {} DLinkedNode(int _key, int _value): key(_key), value(_value), prev(n

2021-03-02 16:04:25 169

原创 二进制中1的个数

解法一 i&(-i)运算的功能为返回 i 的二进制数表示为1的最低位的权值 int NumOf1(int n){ int cnt = 0; for(int i = n; i; i -= i & -i) cnt++; return cnt; } 解法二 n&(n-1) 位运算可以将 n 的位级表示中最低的那一位 1 设置为 0。不断将 1 设置为 0,直到 n 为 0。时间复杂度:O(M),其中 M 表示 1 的个数。 cl

2021-02-28 17:57:26 123

原创 leetcode 63, leetcode 64, leetcode 66, leetcode 67

63. 不同路径 II中等 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用1和0来表示。 class Solution { public: int uniquePathsWithObstacles(vector<vector<i...

2021-02-08 23:03:06 136

原创 leetcode 58,leetcode 61, leetcode 62

58. 最后一个单词的长度简单 给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World" 输出:5 示例 2: 输入:s = " " 输出:0 “a ”这种情况下,a就是最后一个单词。 class Solution { public: int lengthOfLastWord(string s)...

2021-02-07 22:52:11 112

原创 leetcode 54,leetcode 56, leetcode 57

54. 螺旋矩阵 给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。 设定每一圈的顶点值,顺时针打印。 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> res; if(matrix.empty()) r...

2021-02-06 22:56:11 102

原创 leetcode 48, leetcode 49, leetocde 50

48. 旋转图像中等 给定一个 n×n 的二维矩阵matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 class Solution { public: void rotate(vector<vector<int>>& matrix) { // 水平翻转 for(int i = 0; i < matrix.s...

2021-02-04 22:59:43 198 1

原创 leetcode 41, leetcode 42,leetcode 43

41. 缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗? 示例 1: 输入:nums = [1,2,0] 输出:3 时间复杂度:O(N),其中N 是数组的长度。空间复杂度:O(1)。 class Solution { public: int firstMissingPositive(vector<int>& nums) { ..

2021-02-03 21:50:55 97

原创 leetcode 46 全排列, leetocde 47, leetcode 51 N皇后

46. 全排列(中等) 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 用vis标记是否访问过的状态。 class Solution { public: vector<vector<int>> results; vector<int> res...

2021-02-02 21:10:13 133

原创 leetcode 38, leetcode 39, leetcode 40

38. 外观数列简单 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。 前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 第一项是数字 1 描...

2021-02-01 23:28:52 96

原创 leetcode 34 , leetcode 35,leetcode36

34. 在排序数组中查找元素的第一个和最后一个位置(中等) 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回[-1, -1]。 进阶: 你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 示例2: 输入:nums = [5,7,7,8,8,10], ...

2021-01-29 13:32:10 159 1

原创 leetcode 28, leetcode 31, leetcode 33

28. 实现 strStr()(简单) 实现strStr()函数。 给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。 示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 说明: 当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当needle是空字符串时我们应...

2021-01-28 22:34:54 118

原创 leetcode 22, leetcode 24, leetcode 25

22. 括号生成(中等) 数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 提示: 1 <= n <= 8 递归 class Solution { public: vector<string> ans; vector<string> generateParenthes.

2021-01-27 21:57:55 137

原创 leetcode 19,leetcode 20, leetcode 21

19. 删除链表的倒数第 N 个结点(中等) 给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。 进阶:用一遍扫描实现 提示: 链表中结点的数目为sz 1 <= sz <= 30 0 <= Node.val <= 100 1 <= n <= sz 快慢指针,快指针先走n步,然后快慢一起走,直到快指针走到最后,要注意的是可能是要删除头节点,这个时候可以直接返回head -> next /** * Definition for s...

2021-01-26 21:19:57 108

原创 leetcode 16, leetcode 17, leetcode 18

16 最接近的三数之和 给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。 提示: 3 <= nums.length <= 10^3 -10^3<= nums[i]<=...

2021-01-25 23:06:58 436

原创 leetcode 225 队列实现栈;232 用栈实现队列

225 队列实现栈 队列先进先出,栈先进后出。队列实现栈:插入元素的时候直接push进队列,同时记录最后一个入队的元素,此元素就是栈的top元素;队列为空的时候栈即空;比较麻烦的是pop,策略是依次取出队列最后一个元素(需要pop的元素)的元素,然后添加到队列后面,把原来队列最后面的元素放到第一个,然后pop掉;需要注意需要改变top元素的值,改成原来队列的倒数第二个元素 #include<iostream> #include<queue> using namespace st

2021-01-24 23:54:13 95

原创 leetcode 14, leetcode 15

14 最长公共前缀(简单) 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。 提示: 0 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] 仅由小写.

2021-01-24 23:41:55 126

原创 leetcode 26, leetcode 27,leetcode 283

26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 双指针应用,left指针指向下一个数据保存的位置,right指向遍历的位置,如果right 指针指向的数字跟left一样,则跳过,否则将数字保存到left位置 #include<iostream> #include<vector> using

2021-01-23 22:36:50 131

原创 leetcode 11, leetcode 12, leetcode 13

11.盛最多水的容器(中等) 示例 1: 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。 双指针方法,每次移动的是高度最小的指针。 class Solution { public: int maxArea(vector<int>& height) { int res = 0, area = 0; ..

2021-01-23 22:28:11 144

原创 leetcode 9 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 只比较一半的数就行,这样可以不用考虑溢出的问题,但这种方法最低位不能为0。 class Solution { pu.

2021-01-22 23:50:09 101

原创 leetcode 6, leetcode 7, leetcode 8

6.Z字形变换(中等) 将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z 字形排列。 比如输入字符串为 "PAYPALISHIRING"行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。 请你实现这个将字符串进行指定行数变换的函数: string convert(strin...

2021-01-21 20:14:35 133

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除