
C++
sozn
一动不想动,我是一个机器人
展开
-
阻塞,非阻塞,多路复用,异步,同步最专业解释
监听多个channel或者socket,用户线程只需要处理accept或者复制数据,只能配合非阻塞使用,因为如果用阻塞,那selecter的select方法就只能在所有监听的套接字都有事件后才能返回,会一直阻塞,属于同步。用户线程注册个回调函数就去忙自己的事,等待数据和复制数据都交给别的线程去做,所以异步一定是多线程,单线程没法异步IO,等复制数据完成,别的线程调用回调函数告诉用户线程。用户态的线程暂停,等待内核线程等待数据,复制数据完成再返回,属于同步。原创 2024-08-11 16:17:49 · 224 阅读 · 0 评论 -
c++ sort函数cmp比较参数传入
自用原创 2023-10-13 23:47:39 · 764 阅读 · 0 评论 -
cin,cin.get(),getline()
我势必扫清我对c++的各种疑惑,重拾csdn水文之任结论:cin在获得需要接受的东西之前,对缓冲区里的空格和换行符不会理睬(但是会把它们从缓冲区删去),但如果达到了可以结束接受的时候,空格和换行符都会让cin不再接收,并且把空格和换行符继续留在缓冲区但是getline()对于缓冲区里的每一个都会采取相同的标准,空格会接收,\n会自动转换成\0,并结束接收缓冲区的内容是aaa a\n,getline()会接收空格,并且把\n换成\0,然后结束接收int main_test_cin_getline(原创 2022-04-21 15:56:35 · 631 阅读 · 1 评论 -
xdoj判断堆栈出栈序列是否有效c++
我在leetcode上写过类似的题,这个代码在xdoj上只能得***50***分,跪求各位大佬挑挑毛病。#include<stack>#include<iostream>#include<vector>using namespace std;int main(){ vector<int>poped; stack<int>s; int n,t; cin>>n; int n1=n;原创 2021-11-18 16:18:04 · 602 阅读 · 0 评论 -
leetcode 701 二叉搜索树的插入操作 C++ 递归和迭代
leetcode 701 二叉搜索树的插入操作 C++递归和迭代原创 2021-08-09 10:47:35 · 126 阅读 · 0 评论 -
leetcode 203 移除链表元素 C++
leetcode 203 移除链表元素 C++原创 2021-08-08 21:13:05 · 123 阅读 · 0 评论 -
leetcode 21 合并两个有序链表 C++
leetcode 21 合并两个有序链表 C++原创 2021-08-08 20:38:39 · 116 阅读 · 0 评论 -
leetcode 141 环形链表 C++
leetcode 141 环形链表 C++原创 2021-08-08 20:10:05 · 123 阅读 · 0 评论 -
leetcode 242 有效的字母异位词 C++
leetcode 242 有效的字母异位词 C++原创 2021-08-08 19:42:21 · 88 阅读 · 0 评论 -
leetcode 383 赎金信 C++
leetcode 383 赎金信 C++原创 2021-08-08 18:53:48 · 207 阅读 · 0 评论 -
leetcode 387 C++数组做法
leetcode 387 C++数组做法原创 2021-08-08 17:35:38 · 77 阅读 · 0 评论 -
leetcode 73 矩阵置零 C++ 两种解法
leetcode 73 矩阵置零 C++ 两种解法原创 2021-08-08 12:19:48 · 193 阅读 · 0 评论 -
leetcode 112路径总和
leetcode 112其实leetcode上的题解和评论都很好的,找题解不用到csdn来,我是想把自己做过的题都记录下来才来写这个class Solution {public: bool hasPathSum(TreeNode* root,int targetSum) { if(!root) return false; if(root->left==nullptr&&root->right==nullptr) {原创 2021-08-08 09:25:09 · 274 阅读 · 0 评论 -
leetcode 102 C++AC
leetcode102原创 2021-08-07 18:17:26 · 118 阅读 · 0 评论 -
leetcode 118
leetcode 118class Solution {public: vector<vector<int>> generate(int numRows) { vector<vector<int>>ret(numRows); for(int i=0;i<numRows;++i) { ret[i].resize(i+1); ret[i][0]=1;原创 2021-08-06 16:41:42 · 74 阅读 · 0 评论 -
leetcode 566
leetcode 566class Solution {public: vector<vector<int>> matrixReshape(vector<vector<int>>& mat, int r, int c) { int x=0,y=0; int m=mat.size(),n=mat[0].size(); vector<vector<int>>tam(r,ve原创 2021-08-06 16:04:43 · 70 阅读 · 0 评论 -
leetcode 121
leetcode 121dp? my answerclass Solution {public: int maxProfit(vector<int>& prices) { int bd=prices[0],sd=0; int max_num=0; for(int i=1;i!=prices.size();++i) { sd=prices[i]; if(sd<原创 2021-08-06 15:09:51 · 92 阅读 · 0 评论 -
leetcode350C++
leetcode 350 哈希做法没学过哈希,啥时候学一下class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { unordered_map<int,int>m; vector<int>ret; for(int n:nums1) {原创 2021-08-05 22:27:34 · 221 阅读 · 0 评论 -
leetcode 88
leetcode 88简简单单class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int j=0; for(int i=m;i!=m+n;++i) { nums1[i]=nums2[j++]; } sort(nums1.be原创 2021-08-04 22:33:38 · 72 阅读 · 0 评论 -
leetcode53 dp and 分治
leetcode531.dp动态规划class Solution {public: int maxSubArray(vector<int>& nums) { int len=nums.size(); if(len==0) return 0; if(len==1) return nums[0]; vector<int>dp(len,0); dp[0]=nums[0];原创 2021-08-03 16:59:14 · 94 阅读 · 0 评论 -
2021-07-23
leetcode46第一次写回溯的题,思想还是dfs,就是多了一步恢复原状态,之前好像也写过。每天做的有点少,得加油了class Solution {public: vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>>ret; backtrack(nums,0,ret); return ret;原创 2021-07-23 22:55:02 · 81 阅读 · 0 评论 -
2021-07-23
leetcode417最近写dfs的题很折磨,别人的题解得看半天,自己有没有什么具体的想法, 总之继续做吧从四条边上的点展开,寻找能到临近海洋的点。class Solution {public: vector<int>dir{1,0,-1,0,1}; void dfs(vector<vector<int>>& heights,vector<vector<bool>>&map,int r,int c)原创 2021-07-23 16:03:27 · 56 阅读 · 0 评论 -
2021-07-22
leetcode547第一次做这种题,有点生,借鉴class Solution {public: void dfs(vector<vector<int>>& isConnected,vector<int>&isvisited,int i){ for(int j=0;j!=isConnected.size();++j) { if(isConnected[i][j]==1&&isv原创 2021-07-22 17:27:09 · 58 阅读 · 0 评论 -
2021-07-22
leetcode695这个题实在让我觉得我是个nt, 原因是 我没看清地图数组是int类型的,我一直拿’1’和数组元素比较,提交了好几次,还以为这系统有问题,所以想自己调试一下~~,因此白花了79买leetcode的会员,希望这会员有用吧!~~~~~~令我高兴的是,这个代码完全是我自己写的,哈哈哈。class Solution {public: void dfs(vector<vector<int>>&grid,int r,int c,int nr,int n原创 2021-07-22 16:28:17 · 63 阅读 · 0 评论 -
2021-07-22
leetcode200dfs这个也是参考了别人的题解,不知道我什么时候才能独立写出题解,要把做过的题再做一遍?class Solution {public: void dfs(vector<vector<char>>& grid,int r,int c,int nr,int nc) { grid[r][c]='0'; if(r-1>=0&&grid[r-1][c]=='1') dfs(grid,r-原创 2021-07-22 12:14:46 · 67 阅读 · 0 评论 -
2021-07-21
leetcode113看了很多别人的题解,还是感觉没太懂,主要是因为dfs和bfs没彻底会用,还是得找专门的题练练。得早睡早起呀,假期学习真就靠自律呀。** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nul原创 2021-07-21 23:07:31 · 60 阅读 · 0 评论 -
2021-07-14
pat甲级1097我还用数组下标从1到n的方式遍历链表,真菜。 csdn上有的博客的题解对输入排序了,有的没排序。我还是通过参考别人的代码过了。下面代码的思路是一个数组,通过节点的标记值来分离留下的和删除的,我的想法是两个数组分别存储留下的和删除的,很明显前者更巧妙一些。#include<bits/stdc++.h>using namespace std;const int maxn=1e5+10;struct Node{ int add,key,next,num=2*maxn原创 2021-07-14 18:48:04 · 75 阅读 · 0 评论