Linux下的几款内存泄漏检测工具 发表于 2018-12-24 | 更新于: 2018-12-24 | 分类于 Linux 字数统计: 3,373 | 阅读时长 ≈ 13 原文链接 Linux下编写C或者C++程序,有很多工具,但是主要编译器仍然是gcc和g++。最近用到STL中的List编程,为了检测写的代码是否会发现内存泄漏,了解了一下相关的知识。 所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memo ... 阅读全文 »
滑动窗口的最大值 发表于 2018-12-10 | 更新于: 2019-02-12 | 分类于 LeetCode 字数统计: 319 | 阅读时长 ≈ 2 问题描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4 ... 阅读全文 »
Linux编程之进程间通信 发表于 2018-12-08 | 更新于: 2018-12-08 | 分类于 Linux 字数统计: 4,153 | 阅读时长 ≈ 17 进程通信概念进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。那么释放的资源可能是其他进程需要的,然而进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。进程通过与内核及其它 ... 阅读全文 »
旋转数组的最小数字 发表于 2018-12-08 | 更新于: 2019-02-12 | 分类于 LeetCode 字数统计: 915 | 阅读时长 ≈ 4 问题描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 解决方案咋 ... 阅读全文 »
Linux系统编程之线程 发表于 2018-12-05 | 更新于: 2018-12-05 | 分类于 Linux 字数统计: 2,401 | 阅读时长 ≈ 10 线程的概念回顾进程在介绍线程之前,我们先来回顾下进程,进程的定义就是指一个具有独立功能的程序在某个数据集上的一次动态执行的过程,是系统进程资源分配和调度的基本单元。 一次任务的运行可以并发激活多个进程,这些进程相互合作完成该任务的一个最终目标。 操作系统对进程的描述:PCB(进程控制块)Linu ... 阅读全文 »
Vim中Ctrl+s问题 发表于 2018-12-03 | 更新于: 2018-12-03 | 分类于 Linux 字数统计: 190 | 阅读时长 ≈ 1 习惯了在IDE环境下写代码而突然换到VIM中的人看过来,这是需要注意的坑,我们习惯在VIM中写完进行CTRL + S进行保存,然后就卡住不动了,你最有可能的操作就是关闭当前打开的VIM,但是关闭后我们的代码就没有了,哈哈,刚写的代码没了你是什么心情,我就是一遍一遍的踩到这个坑才研究了下CTRL ... 阅读全文 »
字符串替换 发表于 2018-12-02 | 更新于: 2019-02-12 | 分类于 LeetCode 字数统计: 284 | 阅读时长 ≈ 1 问题实现一个简单的字符串替换函数。原串中需要替换的占位符为”%s”,请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。 给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原 ... 阅读全文 »
微信红包 发表于 2018-12-02 | 更新于: 2019-02-12 | 分类于 LeetCode 字数统计: 629 | 阅读时长 ≈ 3 问题春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。 给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。 若没有金额超过总数的一半,返回0 ... 阅读全文 »
Linux下死锁的产生,预防,避免,检测及解除 发表于 2018-11-28 | 更新于: 2018-11-28 | 分类于 Linux 字数统计: 3,069 | 阅读时长 ≈ 10 死锁的定义所谓死锁就是指在多道程序系统中,一组进程中的每个进程都无期限的等待被该组进程中的另一个进程所占有且永远不会被释放的资源,这种现象称系统处于死锁状态,简称死锁。处于死锁状态的进程成为死锁进程。 如上面的图。 系统发生死锁会大量浪费系统资源甚至会导致整个系统崩溃 死锁的产生的原 ... 阅读全文 »