自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三九_感冒灵的博客

编程小白,轻喷

  • 博客(71)
  • 收藏
  • 关注

原创 LeetCode-1791. 找出星型图的中心节点

找出星型图的中心节点有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。示例 1:输入:edges = [[1,2],[2,3],[4,2]]输出:2解释:如上图所示,节点 2 与其他每个节点都相连,所以节点 2 是中

2021-03-16 18:53:17 279

原创 LeetCode-1790.仅执行一次字符串交换能否使两个字符串相等

1790. 仅执行一次字符串交换能否使两个字符串相等给你长度相等的两个字符串 s1 和 s2 。一次 字符串交换 操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。如果对 其中一个字符串执最多一次字符串交换就可以使两个字符串相等,返回 true ;否则,返回 false 。示例 1:输入:s1 = “bank”, s2 = “kanb”输出:true解释:例如,交换 s2 中的第一个和最后一个字符可以得到 “bank”示例 2:输入:s1 = “at

2021-03-16 18:47:09 320

原创 LeetCode-867. 转置矩阵(Transpose Matrix)

转置矩阵给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:m == matrix.lengthn == matrix[i].len

2021-02-25 11:45:42 302

原创 LeetCode-832. 翻转图像

翻转图像给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解释:首先翻转每一行: [[0,1,1],[1

2021-02-24 13:05:35 163

原创 LeetCode-766. Toeplitz Matrix(托普利茨矩阵)

托普利茨矩阵给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是托普利茨矩阵 。示例1输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”, “[3, 3]”, “[4]”。各条对角线上的所有元

2021-02-22 11:22:13 158

原创 LeetCode-697. Degree of an Array(数组的度)

数组的度给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3], [2,

2021-02-20 14:06:11 110

原创 LeetCode-995. K连续位的最小翻转次数(Minimum Number of K Consecutive Bit Flips)

K连续位的最小翻转次数在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。示例 1:输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。示例 2:输入:A = [1,1,0], K = 2输出:-1解释:无论我们怎样翻转大小为 2 的子数组,我们都不

2021-02-20 13:51:04 204

原创 LeetCode-480. Sliding Window Median(滑动窗口中位数)

滑动窗口中位数中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个长度为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。示例:给出 nums = [1,3,-1,-3,5,3,6,7],以及 k = 3。

2021-02-20 12:38:34 184

原创 LeetCode-888.Fair Candy Swap(公平的糖果棒交换)

公平的糖果棒交换爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是鲍勃必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。示例 1:输入:A = [1,1], B = [

2021-02-01 13:11:04 135

原创 LeetCode-839. Similar String Groups(相似字符串组)

相似字符串组如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,"tars" 和 "rats" 是相似的 (交换 0 与 2 的位置); "rats" 和 "arts" 也是相似的,但是 "star" 不与 "tars","rats",或 "arts" 相似。总之,它们通过相似性形成了两个关联组:{"tars", "rats", "arts"} 和 {"star"}。注意,"tars" 和 "a

2021-01-31 19:49:06 174

原创 LeetCode-778.Swim in Rising Water(水位上升的泳池中游泳)

水位上升的泳池中游泳在一个 N x N 的坐标方格 grid 中,每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。现在开始下雨了。当时间为 t 时,此时雨水导致水池中任意位置的水位为 t 。你可以从一个平台游向四周相邻的任意一个平台,但是前提是此时水位必须同时淹没这两个平台。假定你可以瞬间移动无限距离,也就是默认在方格内部游动是不耗时的。当然,在你游泳的时候你必须待在坐标方格里面。你从坐标方格的左上平台 (0,0) 出发。最少耗时多久你才能到达坐标方格的右下平台 (N-1,

2021-01-31 19:20:52 199

原创 LeetCode-面试题62. 圆圈中最后剩下的数字

圆圈中最后剩下的数字解经典约瑟夫环问题设f(n,m)f(n,m)f(n,m)输出的是最后结点的index,则根据规律我们有f(n)={0,n=1((m%n)+f(n−1,m))%n,elsef(n)=\begin{cases}0,&n=1\\((m\%n)+f(n-1,m))\%n,&else\end{cases}f(n)={0,((m%n)+f(n−1,m)...

2020-03-30 18:17:52 211

原创 LeetCode-892. Surface Area of 3D Shapes( 三维形体的表面积)

三维形体的表面积Surface Area of 3D Shapes解整体思路是统计有多少个立方体,总表面积是立方体的数量 × 6,但是因为相邻的会互相盖住,统计一下被盖住的面,然后减去被盖住的面。class Solution {public: int surfaceArea(vector<vector<int>>& grid) { ...

2020-03-26 17:56:53 161

原创 LeetCode-999. Available Captures for Rook(车的可用捕获量)

车的可用捕获量Available Captures for Rook解题目本身很简单,但是要注意题目描述的理解“返回车能够在一次移动中捕获到的卒的数量”直接模拟就可以。class Solution {public: int numRookCaptures(vector<vector<char>>& board) { int c...

2020-03-26 17:31:43 146

原创 LeetCode-409. Longest Palindrome(最长回文串)

最长回文串Longest Palindrome解若回文串长度为偶数,那么回文串中所有字符出现次数必为偶数若回文串长度为奇数,那么除中间字母外,其他字母出现次数也为偶数因此,统计sss中各字母出现次数,若为偶数则直接加在retretret上,若为奇数,减1后加在retretret上。最后判断回文串长度跟sss长度若相等,则直接返回若小于,则可以从剩下的字母中任取一个当做中间...

2020-03-23 18:47:36 133

原创 LeetCode-876. Middle of the Linked List(链表的中间结点)

链表的中间结点Middle of the Linked List解方法一:数组/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * };...

2020-03-23 10:53:52 173

原创 LeetCode-面试题40. 最小的k个数

面试题40. 最小的k个数解方法一:暴力法直接排序class Solution {public: vector<int> getLeastNumbers(vector<int>& arr, int k) { sort(arr.begin(), arr.end()); vector<int>ret(arr...

2020-03-20 18:44:23 109

原创 LeetCode-1160. Find Words That Can Be Formed by Characters(拼写单词)

拼写单词Find Words That Can Be Formed by Characters解方法一:哈希表对于一个单词 wordwordword,只要其中的每个字母的数量都不大于charscharschars中对应的字母的数量,那么就可以用charscharschars中的字母拼写出wordwordword。class Solution {public: int cou...

2020-03-18 18:36:20 137

原创 LeetCode-836. Rectangle Overlap(矩形重叠)

矩形重叠Rectangle Overlap解方法一:位置检查检查不重合的时候。class Solution {public: bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) { return !(rec1[2] <= rec2[0] ||...

2020-03-18 18:05:25 148

原创 LeetCode-300. Longest Increasing Subsequence(最长上升子序列)

最长上升子序列Longest Increasing Subsequence解方法一:动态规划定义 dp[i] 为考虑前 i 个元素,以第 i 个数字结尾的最长上升子序列的长度。状态转移方程:dp[i]=max(dp[i],dp[j]+1),0≤j<i,nums[j]<nums[j]dp[i]=max(dp[i],dp[j]+1),0\leq j<i,nums[j]&...

2020-03-14 20:22:42 80

原创 LeetCode-169. Majority Element(多数元素)

多数元素Majority Element解方法一:哈希表class Solution {public: int majorityElement(vector<int>& nums) { unordered_map<int, int>hash; int max = 0, majority = 0; ...

2020-03-13 19:21:28 236

原创 LeetCode-1071. Greatest Common Divisor of Strings(字符串的最大公因子)

字符串的最大公因子Greatest Common Divisor of Strings解方法一:枚举最粗暴的遍历方法class Solution { bool isSub(string t, string s) { int lenx = (int)s.length() / (int)t.length(); string ret = ""; ...

2020-03-12 19:26:18 108

原创 面试题59 - II. 队列的最大值

面试题59 - II. 队列的最大值解双端队列借用Pumpkin大佬的GIFclass MaxQueue { queue<int> q; deque<int> d;public: MaxQueue() { } int max_value() { if (d.empty()) { ...

2020-03-11 17:36:13 91

原创 LeetCode-面试题57 - II. 和为s的连续正数序列

面试题57 - II. 和为s的连续正数序列解方法一:暴力法注意上界为 ⌊target2⌋\lfloor \frac{target}{2} \rfloor⌊2target​⌋即可class Solution {public: vector<vector<int>> findContinuousSequence(int target) { ...

2020-03-06 19:11:56 123

原创 LeetCode-1103. Distribute Candies to People(分糖果 II)

分糖果 IIDistribute Candies to People解方法一:暴力法遍历一遍,这里有一点小优化,即假设最后一名正好分完,最后再把多的糖果减去,这样少了一行判断class Solution {public: vector<int> distributeCandies(int candies, int num_people) { in...

2020-03-05 18:16:51 150

原创 LeetCode-994. Rotting Oranges(腐烂的橘子)

腐烂的橘子Rotting Oranges解广度优先搜索(BFS)class Solution {public: int orangesRotting(vector<vector<int>>& grid) { int count = 0, ret = 0; int dir_x[4] = { 0,1,0,-1 };...

2020-03-04 19:16:37 130

原创 LeetCode-面试题10.01. Sorted Merge LCCI(合并排序的数组)

合并排序的数组Sorted Merge LCCI解方法一:直接排序AB合并后再排序class Solution {public: void merge(vector<int>& A, int m, vector<int>& B, int n) { for (int i = 0; i < n; i++) { ...

2020-03-03 18:01:57 156

原创 LeetCode-206. Reverse Linked List(反转链表)

反转链表Reverse Linked List解方法一:迭代/**https://leetcode-cn.com/problems/reverse-linked-list/ * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Li...

2020-03-02 18:34:28 187

原创 LeetCode-225. Implement Stack using Queues(用队列实现栈)

用队列实现栈Implement Stack using Queues解掌握栈(先进后出)和队列(先进先出)的特点,这题就很简单class MyStack {public: /** Initialize your data structure here. */ queue<int> q; MyStack() { } /**...

2020-03-01 13:45:26 112

原创 LeetCode-278. First Bad Version(第一个错误的版本)

第一个错误的版本First Bad Version解这里我试了一下暴力搜索// Forward declaration of isBadVersion API.bool isBadVersion(int version);int firstBadVersion(int n) { for (int i = 1; i < n; i++){ if(isBa...

2019-09-24 18:57:33 112

原创 LeetCode-441. Arranging Coins(排列硬币)

排列硬币Arranging Coins解方法一:暴力法int arrangeCoins(int n){ int i = 1; while (n >= i){ n -= i; i++; } return i - 1;}结果方法二:二分法int arrangeCoins(int n){ lon...

2019-09-10 19:37:36 177

原创 LeetCode-69. Sqrt(x)(x 的平方根)

x 的平方根Sqrt(x)解方法一:暴力法

2019-09-06 15:44:02 497

原创 LeetCode-374. Guess Number Higher or Lower(猜数字大小)

猜数字大小、Guess Number Higher or Lower解方法一:暴力法// Forward declaration of guess API.// @param num, your guess// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0int gu...

2019-09-06 15:01:00 139

原创 LeetCode-367. Valid Perfect Square(有效的完全平方数)

有效的完全平方数Valid Perfect Square解方法一:暴力法bool isPerfectSquare(int num){ double i = 1; //double类型范围大,不会溢出 while (i * i < num){ i++; } return i * i == num;}结果方法二:二分法...

2019-09-05 16:52:05 252

原创 LeetCode-744. Find Smallest Letter Greater Than Target(寻找比目标字母大的最小字母)

寻找比目标字母大的最小字母Find Smallest Letter Greater Than Target解方法一:暴力法因为是升序,所以一遍遍历就可char nextGreatestLetter(char *letters, int lettersSize, char target){ if(letters[lettersSize-1] <= target){ ...

2019-09-05 13:16:25 121

原创 LeetCode-167. Two Sum II - Input array is sorted(两数之和 II - 输入有序数组)

两数之和 II - 输入有序数组Two Sum II - Input array is sorted解一开始试了暴力搜素试了二分查找,全都TLE(也许是我的方法不对)方法一:哈希将所有坐标映射到数组上,查找target - numbers[i]的坐标是否存在int Max(int a, int b){ return a > b ? a : b;}int* ...

2019-09-03 21:45:12 80

原创 LeetCode-230. Kth Smallest Element in a BST(二叉搜索树中第K小的元素)

二叉搜索树中第K小的元素Kth Smallest Element in a BST解方法一:递归中序遍历一次中序遍历即可/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *...

2019-09-01 16:56:29 156

原创 LeetCode-704. Binary Search(二分查找)

二分查找Binary Search解本题旨在复习二人查找,二分虽然简单,但是有很多细节在里面。int search(int *nums, int numsSize, int target){ int left = 0, right = numsSize - 1; while (left <= right){ int mid = left + (...

2019-08-31 17:01:44 97

原创 LeetCode-852. Peak Index in a Mountain Array(山脉数组的峰顶索引)

山脉数组的峰顶索引Peak Index in a Mountain Array解题目说了那么多,其实就是找出最大值的索引方法一:暴力法直接遍历int peakIndexInMountainArray(int* A, int ASize){ for (int i = 1; i < ASize - 1; i++){ if (A[i] > A[i -...

2019-08-31 14:59:06 119

原创 LeetCode-198. House Robber(打家劫舍)

打家劫舍House Robber解方法一:动态规划状态转移方程:f(k) = max( f(k – 2) + nums[i] , f(k – 1) )int max(int a, int b){ return a > b ? a : b;}int rob(int *nums, int numsSize){ int previous = 0; ...

2019-08-30 21:58:17 98

空空如也

空空如也

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

TA关注的人

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