自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星星的博客

一闪一闪亮晶晶,满天都是小星星。那颗小星星就是我,我就是那颗小星星。

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

原创 论 $*、$@、“$*“、“$@“的区别

https://blog.csdn.net/XquanZeng/article/details/90510992

2023-05-31 10:04:44 110

原创 定时开关机cmd命令

设置定时关机

2022-09-06 09:25:27 697

原创 bat批处理手动自动设置ip

bat批处理手动自动设置ip。

2022-07-24 23:04:56 1479

原创 时间盲注,布尔盲注脚本

sql盲注

2022-07-01 23:24:03 365

原创 leetcode 141. 环形链表

官解class Solution {public: int num = 0; int pos; bool hasCycle(ListNode *head) { if(head == nullptr || head->next == nullptr) return false; ListNode *fast = head->next,*low = head; while(fast != low){

2020-12-18 17:30:13 68 1

原创 牛客小白月赛29

题目#include <bits/stdc++.h>using namespace std;int op[500005], a[500005];int main(){ int n; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d%d", &op[i], &a[i]); int and1 = (1 << 20) - 1, xor1 = 0

2020-12-16 19:25:43 115

原创 牛客小白月赛28 D

题目#include<bits/stdc++.h>using namespace std;int main(){ int t; scanf("%d",&t); long long x,y; for(int i = 0; i < t; i++){ scanf("%lld%lld",&x,&y); if(x < 2*y || (y & (x - 2 * y))) pri

2020-12-16 19:24:33 87 1

原创 leetcode 136. 只出现一次的数字

官解class Solution {public: int sum; int singleNumber(vector<int>& nums) { sum = nums[0]; for(int i = 1; i < nums.size(); i++){ sum ^= nums[i]; } return sum; }};

2020-12-16 19:16:57 51

原创 122. 买卖股票的最佳时机 II(贪心,dp)

官解class Solution {public: int maxProfit(vector<int>& prices) { int n = prices.size(); int ans = 0; for(int i = 1; i < n; i++){ ans += prices[i] - prices[i - 1] > 0 ? prices[i] - prices[i - 1] : 0;

2020-12-15 13:49:53 55

原创 leetcode 89格雷编码

官解class Solution {public: vector<int> grayCode(int n){ vector<int> v; v.push_back(0); int head = 1; for(int i = 0; i < n; i++){ for(int j = v.size() - 1; j >= 0; j--){ v.pu

2020-12-09 16:04:08 82

原创 leetcode 687最长同值路径

树的最长路径代表的意思是树的两个结点之间的边的条数,刚开始我理解错题目的意思了,以为求的是最多联通的结点数。比如说这组数据:[1,null,1,1,1,1,1,1,null,1]它的最长路径见下图:class Solution {public: int ans = 0; int longestUnivaluePath(TreeNode* root) { solve(root); return ans; } int solv

2020-12-09 00:14:08 121

原创 返回所有的最长回文子串(O(n))

用马拉车算法将回文半径p[i]求出来,回文字串的长度就是p[i]-1,起始的下标就是(i - p[i])/2,遍历一次p[i]数组将所有最大长度的字符串存到vector就可以了。#include<bits/stdc++.h>using namespace std;string solve(string s,vector<string> &v){ string news = "$#"; for(int i = 0;i < s.length();

2020-12-08 00:32:08 165

原创 leetcode78子集

官解 vector<vector<int>> v; vector<int> t; void dfs(vector<int> &nums,int i){ if(i == nums.size()){ v.push_back(t); return ; } t.push_back(nums[i]);

2020-12-07 22:06:59 52

原创 leetcode 61 旋转链表

class Solution {public: ListNode* rotateRight(ListNode* head, int k) { if(head == nullptr) return nullptr; if(k == 0) return head; ListNode *s = new ListNode(-1); ListNode *p = head; int len = 1; while(p

2020-12-07 18:06:35 47

原创 leetcode 59 螺旋矩阵2

class Solution {public: vector<vector<int>> generateMatrix(int n) { if(n == 0) return {}; vector<vector<int>> v(n,vector<int>(n,0)); int up = 0,right = n - 1,down = n - 1,left = 0; int size

2020-12-07 18:06:04 44

原创 leetcode 59 螺旋矩阵2

class Solution {public: vector<vector<int>> generateMatrix(int n) { if(n == 0) return {}; vector<vector<int>> v(n,vector<int>(n,0)); int up = 0,right = n - 1,down = n - 1,left = 0; int size

2020-12-07 16:37:41 63

原创 leetcode 54 螺旋矩阵

vector<int> spiralOrder(vector<vector<int>>& matrix) { if(matrix.size() == 0) return {}; vector<int> v; int x = -1,y = 0; int mx = matrix[0].size(); int my = matrix.size(); int...

2020-12-07 15:42:04 58

原创 leetcode 53 最大字段和

class Solution {public: int maxSubArray(vector<int>& nums) { int pre = 0,max1 = INT_MIN; for(auto &x: nums){ pre = max(x,pre + x);//只取x大还是把前面的最大值也加起来大 max1 = max(max1,pre);

2020-12-07 14:15:49 73

原创 vector size capacity

2020-12-07 13:46:30 99

原创 leetcode 46全排列

官解class Solution {public: vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> v; dfs(v,nums,0,nums.size()); return v; } void dfs(vector<vector<int&g

2020-12-07 13:10:21 57

原创 leetcode 43 字符串相乘

官解string multiply(string num1, string num2) { if(num1 == "0" || num2 == "0") return "0"; int l1 = num1.size(),l2 = num2.size(); vector<int> v(l1 + l2,0); for(int i = l1 - 1; i >= 0; i--){ int a = num1[i] - '0';

2020-12-07 00:45:48 94

原创 leetcode 33 搜索旋转排序数组

官解我们将数组从中间分开成左右两部分的时候,一定有一部分的数组是有序的。可以对有序的部分二分class Solution {public: int search(vector<int>& nums, int target) { int n = nums.size(); int l = 0,r = n - 1,mid; while(l <= r){ mid = (l + r) >&

2020-12-06 01:26:18 101

原创 leetcode 23 合并K个有序链表

class Solution {public: ListNode* mergeKLists(vector<ListNode*>& lists) { if(lists.size() == 0) return nullptr; ListNode *temp = nullptr; for(int i = 0; i < lists.size(); i++) temp = mergeTwoLists(temp,lists[i]);

2020-12-05 22:39:56 65

原创 leetcode 21 合并两个有序链表

官解class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode *prehead = new ListNode(-1); ListNode *pre = prehead; if(l1 == nullptr) return l2; if(l2 == nullptr) return l1; while(l1

2020-12-05 00:56:39 94

原创 判断一个点是否在矩形里面

利用叉乘的性质,已知矩形ABCD,通过判断(AB×AP)*(CD×CP) >= 0可以判断出P点是否在AB和CD两条直线之间,同理可知是否在AD和BC之间二维叉乘公式即二阶行列式:x1y2-x2y1;#include<bits/stdc++.h>using namespace std;struct point{ int x; int y;};int getcross(point a,point b,point p){ return (b.x - a.

2020-12-04 23:26:52 1116

原创 leetcode 16 最接近三数之和

官解class Solution {public: int threeSumClosest(vector<int>& nums, int target) { int size = nums.size(); sort(nums.begin(),nums.end()); int best = 0x3fffffff; auto update = [&](int sum){ if(abs(

2020-12-04 19:59:23 74

原创 二维vector迭代器访问以及初始化的问题

初始化:vector<vector<int> > v(100, vector<int>(100,0));vector<vector<int> > v;注意:不能通过下标访问,因为刚开始里面没有元素v.push_back(1);printf("%d",v[0]);//正确vector<int> v(100,0));printf("%d",v[0]);//正确 // vector<vector<int&g

2020-12-04 16:30:49 391

原创 leetcode 15 三数之和

官解 vector<vector<int>> threeSum(vector<int>& nums) { int size = nums.size(); vector<vector<int> > v; sort(nums.begin(),nums.end()); for(int i = 0; i < size; i++){ int k = siz

2020-12-04 16:20:38 52

原创 leetcode 1两数之和

官解class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> hashtable; for (int i = 0; i < nums.size(); ++i) { auto it = hashtable.find(target - nums[i]);

2020-12-04 15:38:50 102 1

原创 leetcode 14 最长公共前缀

官解class Solution {public: string longestCommonPrefix(vector<string>& strs) { if (!strs.size()) { return ""; } int length = strs[0].size(); int count = strs.size(); for (int i = 0; i < l

2020-12-04 15:15:34 168

原创 leetcode 11 盛最多水的容器

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

2020-12-04 14:10:40 50

原创 leetcode 9 回文数

官解class Solution{public: bool isPalindrome(int x) { bool result; if (x < 0) { return false; } stringstream ss; ss << x; string str, reversedStr; ss >> str

2020-12-04 14:06:19 45

原创 leetcode 7 整数反转

官解:class Solution {public: int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10; if (rev > INT_MAX/10 || (rev == INT_MAX / 10 && pop > 7)) return 0;

2020-12-04 14:01:40 50

原创 leetcode 8 字符串转换整数 (atoi)

官解刚开始理解错题目的意思了,越做到后面越乱,基本上把这道题的坑都踩了,还好人还在。思路:(1)先找到第一个合法的字符,ind注意初始化一定也要是-1,如果不是-1,当输入空字符串的时候会有问题.(2)把连续的数字拼接成一个新的字符串(3)计算这个字符串的值,注意不能先把值计算出来再去添加符号,那样在计算的时候可能就越界了。#include<bits/stdc++.h>using namespace std; int myAtoi(string s) { string s

2020-12-01 23:12:52 109

原创 函数重载时的const(函数前,参数前,函数后)

bool operator < (const node &a,const node &b) { return a.id > b.id;}加引用是为了防止对象之间的复制,节省内存开销,提高程序运行效率。加const是为了不让被调用函数改变传递给它的参数的对象的值。并且加上const会使得函数调用更灵活(能够处理const和非const对象,否则只能接受非const数据)const bool operator < (node &a,node &b

2020-12-01 20:13:18 276

原创 leetcode 4 寻找两个正序数组的中位数

官解class Solution {public: int getKthElement(const vector<int>& nums1, const vector<int>& nums2, int k) { /* 主要思路:要找到第 k (k>1) 小的元素,那么就取 pivot1 = nums1[k/2-1] 和 pivot2 = nums2[k/2-1] 进行比较 * 这里的 "/" 表示整除

2020-12-01 17:08:29 175

原创 快手2020校园招聘秋招笔试--工程C试卷(21题)滑动窗口解决字串

病毒检测时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M小明最近在做病毒自动检测,他发现,在某些library 的代码段的二进制表示中,如果包含子串并且恰好有k个1,就有可能有潜在的病毒。library的二进制表示可能很大,并且子串可能很多,人工分析不可能,于是他想写个程序来先算算到底有多少个子串满足条件。如果子串内容相同,但是开始或者结束位置不一样,则被认为是不同的子串。注:子串一定是连续的。例如"010"有6个子串,分别是 "0, “1”, “0”, “01”

2020-12-01 14:45:28 134

原创 letcode 2两数相加

官解class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode *head = nullptr,*tail = nullptr; int carry = 0; while(l1 || l2){ int n1 = l1 != nullptr ? l1->val:0; int n2 =

2020-11-30 23:56:40 65

原创 leetcode 767重构字符串

#include<bits/stdc++.h>using namespace std;class Solution {public: string reorganizeString(string S) { int len = S.length(); if(len < 2) return ""; else{ vector<int> v(26,0); int maxcount = -

2020-11-30 21:22:28 64

原创 c++匿名函数的使用

2020-11-30 21:21:27 203

空空如也

空空如也

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

TA关注的人

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