自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 相关性分析研究

相关性分析

2023-03-09 10:11:11 302

原创 1360. 日期之间隔几天

一眼定真,windowsAPI,我就是调包侠!

2023-02-22 13:56:52 97

原创 1507. 转变日期格式

【代码】1507. 转变日期格式。

2023-02-21 17:48:43 88

原创 1827. 最少操作使数组递增

leetcode

2023-02-21 16:52:16 58

原创 414. 第三大的数

最简单的方法就是排序然后输出,但是首先要用set去重class Solution {public: int thirdMax(vector<int> &nums) { set<int> s; for (int i = 0; i < nums.size(); i++) { s.insert(nums[i]); if (s.size() > 3) {//维护一个空间为3的set

2022-04-27 19:47:46 120

原创 412. Fizz Buzz

class Solution {public: vector<string> fizzBuzz(int n) { vector<string>res; for(int i=1;i<=n;i++) { if(i%3==0&&i%5==0) { res.push_back("FizzBuzz"); }

2022-04-27 19:00:08 160

原创 349. 两个数组的交集

class Solution {public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2){ unordered_set<int> set(nums1.begin(), nums1.end());//利用unorder_set给nums1[1]去重 vector<int>res;//返回结果 for (int i = 0; i <

2022-04-26 09:28:36 183

原创 383. 赎金信

class Solution {public:bool canConstruct(string ransomNote, string magazine){ int hash1[26] = { 0 }; int hash2[26] = { 0 }; for (int i = 0; i < magazine.size(); i++) { hash2[magazine[i] - 'a']++; } for (int i = 0; i < ransomNote.size(); i

2022-04-25 19:45:04 114

原创 219. 存在重复元素 II

我不知道暴力会不会超时,但是我想暴力的话应该会的吧,我取巧先用map查看vector中是否有重复的元素,就感觉已经在超时的边缘疯狂试探,思路如下:先用map查看vector中是否有重复元素,若无直接return false,若有那么暴力code如下:class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<int, int>mp; for (int i

2022-04-15 10:17:27 83

原创 剑指 Offer II 022. 链表中环的入口节点

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *detectCycle(ListNode *head) { unordered_set<Lis

2022-03-20 15:16:49 208

原创 剑指 Offer II 045. 二叉树最底层最左边的值

艰难的求职刷题之路day7:整体思路,运用队列广度优先遍历,每次便利记录最左边的值,遍历完成之后也就是最底层最左边的值啦/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * T

2022-03-13 20:38:55 1879

原创 剑指 Offer II 088. 爬楼梯的最少成本

艰难的求职刷题之路day6:首先说明我是傻逼,最简单的dp我都没有想到,服了orzclass Solution { public int minCostClimbingStairs(int[] cost) { int len = cost.length; int[] dp = new int[len + 1]; dp[0] = dp[1] = 0; for (int i = 2; i <= len; i++) {

2022-03-13 20:12:21 79

原创 剑指 Offer II 052. 展平二叉搜索树

艰难的求职刷题之路day5:整体思路先中序遍历放入list中,之后在重新创建一颗树,让list的值为树的右节点,虽然整体思路简单,但是c++第一次转Java完全不知道该怎么写orz,加油吧/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * Tre

2022-03-10 19:14:12 678

原创 剑指 Offer II 009. 乘积小于 K 的子数组

艰难的求职刷题之路day4:滑动窗口overint numSubarrayProductLessThanK(vector<int>& nums, int k){ int res=0; int left=0,right=0; int total=1; for(right=0;right<nums.size();right++) { total*=nums[right]; while(total>=k&a

2022-03-04 14:33:11 107

原创 剑指 Offer II 024. 反转链表

艰难的刷题求职之路day4:头插法overclass Solution {public: ListNode* reverseList(ListNode* head) { ListNode* pre = NULL; ListNode* cur = head; while (cur) { ListNode* next = cur->next; cur->next = pre;

2022-03-04 13:30:08 48

原创 剑指 Offer II 023. 两个链表的第一个重合节点

记录艰难的求职刷题之旅day 3:get√处理两个链表是否有公共交点的新方法,这个题目我记得王道408的书上讲过的,但是我认为leetcode官方的题解更为容易理解一些(虽然这个方法第一次很不容易想到)思路如下:在这里插入代码片...

2022-03-02 14:54:26 111

原创 剑指 Offer II 004. 只出现一次的数字

记录艰难的求职刷题之旅day 2:我认为这样的题目我第一想到的就是用map这个方法好用而且容易想到,但是看了其他人的解才发现原来还能有这么多解法orz整体思路:便利vector一边并将其逐个加入map,之后便利map找到it->second为一的value对应的key的值并返回时间复杂度:便利了一遍vectorO(n),一边mapO(n),时间复杂度为O(n)空间复杂度:新建一个mapO(n),一些其他临时变量为常数级,时间复杂度为O(n)class Solution {public:i

2022-03-01 15:45:37 105

原创 剑指 Offer II 018. 有效的回文

记录艰难的求职刷题之旅day 2:整体思路还是比较简单的,利用如下函数,然后利用双指针,遇到非字母跳过,遇到字母都转换为大写or小写字母进行比较问题得以解决;ps:我是转换为小写字母isalpha :判断一个字符是否为字母,如果是则返回true,否则返回false;isdigit : 判断一个字符是否表示数字,如果是则返回true,否则返回false;isalnum : 判断一个字符是否表示数字或者字母,如果是则返回true,否则返回false;islower : 判断一个字符是否为小写字母,如

2022-03-01 11:31:58 46

原创 剑指 Offer II 012. 左右两边子数组的和相等

记录艰难的求职刷题之旅day 1:整体思路还是比较简单的,利用STL中的accumulate求和vector左边和右边之和并判断是否相等class Solution {public:int pivotIndex(vector<int>& nums){ int index=0; for(int index=0;index<nums.size();index++) { int sum1=accumulate(nums.begin()+i

2022-02-26 19:15:36 74

原创 leetcode 11. 盛最多水的容器

class Solution {public: int maxArea(vector<int>& height) { int left=0,right=height.size()-1; int res=0; while(left<right) { res=max(res,(right-left)*min(height[left],height[right]));

2021-05-10 17:48:49 58

原创 leetcode 153. 寻找旋转排序数组中的最小值

最简单的思路:int findMin(vector<int>& nums){ int mmin=INT_MAX; for(int i=0;i<nums.size();i++) { mmin=min(mmin,nums[i]); } return mmin;}震惊!!竟然通过了二分查找,寻找vector中最小值class Solution {public:int findMin(vector<int&g

2021-04-08 11:41:19 56

原创 leetcode 191. 位1的个数

不断地循环左移与n的第32-i相与,若为一那么说明n的这一位为1,否则为0class Solution {public: int hammingWeight(uint32_t n) { int res = 0; for (int i = 0; i < 32; i++) { if (n & (1 << i)) { res++;

2021-03-22 11:46:57 51

原创 leetcode 150. 逆波兰表达式求值

注意减法和除法的顺序问题class Solution {public:int evalRPN(vector<string>& tokens){ stack<int>digit; for(int i=0;i<tokens.size();i++) { if(tokens[i]!="+"&&tokens[i]!="-"&&tokens[i]!="*"&&tokens[i]!="/"

2021-03-20 11:34:46 54

原创 leetcode 1603. 设计停车系统

class ParkingSystem {public: int b, m, s; ParkingSystem(int big, int medium, int small) { b=big; m=medium; s=small; } bool addCar(int carType) { if (carType == 1) { if (b

2021-03-19 16:11:16 61

原创 leetcode 224. 基本计算器

思路:用栈来模拟括号,栈中的元素只可能为1or-1以此来进行加减class Solution {public: int calculate(string s) { stack<int> temp; temp.push(1); int sign = 1; int ret = 0; int n = s.length(); int i = 0; while (i < n)

2021-03-10 12:08:51 83

原创 leetcode 1047. 删除字符串中的所有相邻重复项

用string模拟栈,遍历整个字符串,如果不等入栈,如果相等出栈class Solution {public:string removeDuplicates(string s){ string res; for(int i=0;i<s.length();i++) { if(!res.empty()&&res.back()==s[i]) { res.pop_back(); }

2021-03-09 11:34:20 39

原创 leetcode 131. 分割回文串

class Solution {public:vector<vector<string>>res; vector<vector<string>> partition(string s) { dfs(s,{}); return res; } void dfs(string s,vector<string>ans) { if(s.length()==0) { res.push_b

2021-03-07 19:19:27 55

原创 leetcode 面试题 02.02. 返回倒数第 k 个节点

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:int kthToLast(ListNode* head, int k){ ListNode* first=head; whi

2021-03-06 13:04:07 56

原创 leetcode 232. 用栈实现队列

class MyQueue {public: /** Initialize your data structure here. */ stack<int>in,out; void transferable() { while(!in.empty()) { out.push(in.top()); in.pop(); } } MyQueue()

2021-03-05 12:31:31 62

原创 leetcode 338. 比特位计数

class Solution {public:vector<int> countBits(int num){ vector<int>res; for(int i=0;i<=num;i++) { int count=0; int index=i; while(index) { count+=index%2; index/=2;

2021-03-03 21:09:24 93 1

原创 leetcode 304. 二维区域和检索 - 矩阵不可变

leetcode惊我!!!class NumMatrix {public: vector<vector<int>> temp; NumMatrix(vector<vector<int>>& matrix) { if(matrix.size()==0) { return ; } temp.resize(matrix.size(), v

2021-03-02 20:50:32 38

原创 leetcode 303. 区域和检索 - 数组不可变

利用一个(n+1)的数组然后不断的更新前i项的和放在i+1位置中class NumArray {public: vector<int>sum; NumArray(vector<int>& nums) { sum.resize(nums.size()+1,0); for(int i=0;i<nums.size();i++) { sum[i+1]=sum[i]+nums[i

2021-03-01 19:54:04 59

原创 leetcode 896. 单调数列

记录数组中元素是上升还是下降用两个bool标记get√class Solution {public:bool isMonotonic(vector<int>& A){ bool up=true,down=true; for(int i=1;i<A.size();i++) { if(A[i-1]<A[i]) { down=false; } if(A[i-1]&

2021-02-28 18:36:25 40

原创 leetcode 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

利用二叉树的特性:左子树<根节点<右子树/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: Tree

2021-02-27 20:55:10 65

原创 leetcode 22. 括号生成

class Solution { void dfs(vector<string>& ans, string& cur, int left, int right, int n) { if (cur.size() == n * 2) { ans.push_back(cur); return; } if (left < n) {

2021-02-26 17:50:56 47

原创 leetcode 55. 跳跃游戏

我又双叒叕的发现我是傻逼了orzclass Solution {public:bool canJump(vector<int>& a){ int len=a.size(),reach=0;//reach标记当前可以到达的位置 for(int i=0;i<len;i++) { if(i>reach)//如果遍历到了跳不到的位置返回false { return false;

2021-02-25 20:29:02 56

原创 leetcode 867. 转置矩阵

class Solution {public: vector<vector<int>> transpose(vector<vector<int>>& matrix) { int m = matrix.size(), n = matrix[0].size(); vector<vector<int>> res(n, vector<int>(m)); for (in

2021-02-25 20:02:59 85

原创 leetcode 832. 翻转图像

class Solution {public: vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) { for(int i=0;i<A.size();i++) { for(int j=0;j<A[0].size();j++) { if(j<A[0].size()/2)

2021-02-24 17:22:50 53

原创 leetcode 1052 爱生气的书店老板

class Solution {public: int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int X) { int res=0,temp=0,sum=0; int left=0,right=0; while (right < customers.size()) { if (grumpy[

2021-02-23 20:32:56 72

原创 leetcode 1438. 绝对差不超过限制的最长连续子数组

流下了不学无术的泪水class Solution {public: int longestSubarray(vector<int>& nums, int limit) { multiset<int> s;//multiset是<set>库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列中可以存在重复的数。 int n = nu

2021-02-21 19:16:49 46

coco2017数据集中val集

里面包含images与标注(json与yolo格式)

2023-07-17

计算机基础知识八股文转自github

计算机基础知识八股文转自github

2023-04-28

空空如也

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

TA关注的人

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