I_l_I
码龄7年
关注
提问 私信
  • 博客:443,794
    443,794
    总访问量
  • 92
    原创
  • 2,060,586
    排名
  • 95
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
  • 加入CSDN时间: 2017-10-30
博客简介:

zw_ss

博客描述:
技术博客
查看详细资料
个人成就
  • 获得283次点赞
  • 内容获得55次评论
  • 获得768次收藏
  • 代码片获得190次分享
创作历程
  • 2篇
    2019年
  • 88篇
    2018年
  • 2篇
    2017年
成就勋章
TA的专栏
  • c语言
    14篇
  • 数据结
    11篇
  • C++
    32篇
  • Linux
    11篇
  • 算法
    16篇
  • 二叉树
    2篇
  • 链表
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

jsoncpp-0.10.7.rar

发布资源 2020.05.03 ·
rar

opencv4.2_2.rar

发布资源 2020.05.02 ·
rar

百度Ocrlib.rar

发布资源 2020.05.02 ·
rar

Linux:线程安全

什么是线程安全?当我们多线程对临界资源,或者全局变量静态变量,(多线程执行流共享的资源)进行操作时,容易造成的问题。因为在cpu足够的情况下,多个线程的运行也可能是并行的,因此对临界资源的访问,就会造成争抢操作,然而这种争抢操作,会造成数据的二义性问题,因此线程安全,就是讨论如何保证线程对临界资源的安全访问。解决线程安全问题的方法同步与互斥操作,同步就是对临界资源访问的时序可控性,互...
原创
发布博客 2019.01.26 ·
966 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Linux:多线程概念

线程的概念1.什么是线程?线程是cpu进行调度的基本单位,简单的来说,线程就是进程里面的进程,不过线程共享了进程的虚拟地址空间,而且公用了进程的代码段和数据段,线程是进程里面的一个执行流(cpu调度的基本单位是线程,线程是真正执行一段程序的执行单位),所以有的人说线程是运行在进程上面的。2.进程和线程的区别(1)进程是资源竞争的基本单位(2)线程是cpu运行调度的基本单位(3)线程...
原创
发布博客 2019.01.22 ·
423 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

(剑指offer)求二进制中1的个数(C++)

题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:通过题目描述,我们首先对题目的要求进行分析,首先我们考虑位运算的右移,然后与1相与,但是我们要考虑到当系统给的数字为负数时,单纯的采用右移的方式,会出现错误,因为负数的右移最高位补位会补1所以肯定会出现错误。所以我们采取不同的方法,定义一个flag=1,对flag进行左移,然后与该数相与,当结果为1的时候count++...
原创
发布博客 2018.12.02 ·
779 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(牛客)第一个只出现一次的字符(c++)

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解题思路:1.利用C++的map形成键值对,每一个字符对应一个相应的键值对,遍历字符串,当出现了一个字符串时,对他相应的键值对++,然后依据字符串的顺序进行查找,当出现第一个值为1的字符,就是第一个只出现一次的字符。2.利用has...
原创
发布博客 2018.12.02 ·
1573 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

简单理解RAII(C++)

1.什么是RAII?RAII即"资源获取即初始化" 他是一种方法,定义一个类来封装资源的分配和释放,在类的构造函数中来实现资源的分配和初始化,在类的析构函数中实现资源的释放和清理,是C++中一种管理资源,避免资源泄漏的方法。因为在C++中任何类构造的对象最终都会调用析构函数销毁。2.RAII的分类RAII对资源分配的所有权可分为常性类型和变性类型,代表为boost:shared_ptr&lt...
原创
发布博客 2018.11.17 ·
2202 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

leetcode:654最大二叉树(C++)

给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:1.二叉树的根是数组中的最大元素。2.左子树是通过数组中最大值左边部分构造出的最大二叉树。3.右子树是通过数组中最大值右边部分构造出的最大二叉树。4.通过给定的数组构建最大二叉树,并且输出这个树的根节点。例如:思路:我们先找到数组里面的最大数,把他设置为根节点,然后递归传入最大数的左边的数组,然后继续找最大的数,...
原创
发布博客 2018.11.13 ·
1279 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

leetcode118杨辉三角(C++)

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]class Solution {public: vector<vector<int>> generate(int numRows) {...
原创
发布博客 2018.11.12 ·
364 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode:98. 验证二叉搜索树(C++)

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: f...
原创
发布博客 2018.11.11 ·
1327 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

leetcode:459重复的字符串(C++)

题目描述:给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:
原创
发布博客 2018.11.10 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

利用消息队列实现简单聊天程序

本篇利用消息队列的特性实现简单的聊天程序,msgsnd发送数据,msgrcv接收数据来实现聊天功能,消息队列详情。数据接收端msgrcv//这是一个以system V消息队列实现的聊天程序客户端//// 1.创建消息队列//// 2.从消息队列中获取一个数据,打印出来//// 3.从标准输入中获取一个数据,组织成消息队列节点发送//// 4.删除消息队列//// 接...
原创
发布博客 2018.11.10 ·
5692 阅读 ·
9 点赞 ·
0 评论 ·
42 收藏

利用管道实现进程间的单向通信

管道是进程间通信的最原始方式,今天我们利用管道的进程间通信,来实现简单的进程间单向通信首先我们需要了解命名管道的一些特性命名管道的使用与创建然后创建一个fifo_c的文件来实现输入数据和发送数据 /*这是一个命名管道的实现,往命名管道中写入数据,并且发送给另一个进程 * 1. 创建一个命名管道 * int mkfifo(const char*pathname,m...
原创
发布博客 2018.11.10 ·
787 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

进程间通信(二)命名管道fifo

命名管道:管道的一个限制就是只能用在亲缘进程之间,如果我们想在不相关的进程间进行数据交换,可以使用FIFO文件来进行,它叫做命名管道。命名管道:文件系统可见,是一个特殊类型(管道类型)的文件。命名管道可以应用在同一主机的任意进程间通信。命名管道的创建:(1)在命令行的创建$ mkfifo filename;(2)在程序里创建int mkfifo(const char*filen...
原创
发布博客 2018.11.10 ·
446 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode:26. 删除排序数组中的重复项(C++)

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。函数应该返回新的长度 5, 并且...
原创
发布博客 2018.11.08 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Leetcode:395至少有K个重复字符的最长子串(C++)

找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入:s = "aaabb", k = 3输出:3最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了...
原创
发布博客 2018.11.08 ·
669 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode:541反转字符串

给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。示例:输入: s = “abcdefg”, k = 2输出: “bacdfeg”要求:该字符串只包含小写的英文字母。给定字符串的长度和 k 在[1, 10000...
原创
发布博客 2018.11.07 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode:k个一组翻转链表

题目说明:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2-...
原创
发布博客 2018.10.29 ·
403 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode:925长按键入

题目:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例一:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和 'e' 被长按。...
原创
发布博客 2018.10.29 ·
341 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多