自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++成员初始化列表高效原因

当使用成员初始化列表时,类类型成员放在初始化列表里,可明显提高效率。初始化列表中的代码,可以看做是被编译器安插到构造函数体内的这些代码实在任何用户自己的构造函数体代码之前被执行的,要区分用户代码和编译器插进来的代码。给出示例代码class X {public: int m_i; X(int value = 0) :m_i(value) { ...

2019-08-13 16:04:55 1301

转载 剑指offer【12 13 15 16 18 19】

12 矩阵中的路径题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。例如a b ce s fc s ad e e这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"...

2019-08-05 10:34:13 156

原创 【学习笔记】僵尸进程,孤儿进程,守护进程

孤儿进程:父进程先于子进程结束,则子进程成为孤儿进程,子进程的父进程成为init进程,称为init进程领养孤儿进程。#include <stdio.h>#include <unistd.h>#include <sys/wait.h>int main(void){ pid_t pid; pid = fork(); if (p...

2019-07-29 16:27:38 125

原创 LeetCode 207. 课程表【C++ 实现】

题目描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能...

2019-07-29 10:39:24 745

原创 LeetCode198. 打家劫舍 [c++实现]

题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷...

2019-07-26 10:49:16 105

原创 LeetCode 152. 乘积最大子序列【C++实现】

题目描述给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路变量da保存当前最大值变量xiao保存当前最小值(因为有负数可能会出...

2019-07-26 10:15:01 197

原创 LeetCode 169. 求众数 [C++]

题目描述给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2class Solution {public: int majorityElement(vector<i...

2019-07-25 10:57:46 164

原创 LeetCode 617. 合并二叉树(C++实现)

描述给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入:Tree 1 Tree 2 ...

2019-07-22 14:53:20 277

原创 Leetcode105. 从前序与中序遍历序列构造二叉树

描述根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7/** * Definition for a binary tree no...

2019-07-22 14:31:01 81

原创 剑指offer【题3-题11】c++实现

3数组中的重复数字class Solution { public: // Parameters: // numbers: an array of integers // length: the length of array numbers ...

2019-07-15 10:48:16 144

原创 LeetCode 160. 相交链表(c++实现)

思路统计两个链表的长度,并记录两个链表尾结点,判断是否相同。比较链表长度,让较长的链表走|lenA-lenB|步数,使得两个俩表剩余部分长度相等两个链表一起走,走到相同节点,即相交节点。实现class Solution {public: ListNode * getIntersectionNode(ListNode *headA, ListNode *headB) { if ...

2019-07-14 11:36:44 154

原创 LintCode 185 矩阵的之字型遍历(c++实现)

描述给你一个包含 m x n 个元素的矩阵 (m 行, n 列), 求该矩阵的之字型遍历。样例样例 1:输入: [[1]]输出: [1]样例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10, 11, 12]]输出: [1, 2, 5, 9, 6, 3, 4, 7, 10, 11, 8, 12]思路1 采用分圈处理的方法。在子矩...

2019-07-14 10:56:53 204

原创 LeetCode128. 最长连续序列(c++)

给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-consecutive-sequenceclas...

2019-07-07 11:36:17 710

原创 【学习笔记】设计模式之单例模式(c++)非线程安全,线程安全,c++11,懒汉饿汉,pthread_once

本文总结自李建忠老师的设计模式课程class Singleton{private: Singleton(); Singleton(const Singleton& other);public: static Singleton* getInstance(); static Singleton* m_instance;};Singleton* ...

2019-07-05 16:55:30 329

原创 lintecode79 最长公共子串(c++实现)

最长公共子串中文English给出两个字符串,找到最长公共子串,并返回其长度。样例样例 1:输入: “ABCD” and “CBCE”输出: 2解释:最长公共子串是 "BC"样例 2:输入: “ABCD” and “EACB”输出: 1解释: 最长公共子串是 'A' 或 'C' 或 'B'class Solution {public: /**...

2019-07-05 16:16:39 529

原创 leetcode 102 二叉树的层次遍历103. 二叉树的锯齿形层次遍历

102 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \15 7返回其层次遍历结果:[[3],[9,20],[15,7]]/** * Definition for ...

2019-06-30 10:33:30 88

原创 【学习笔记】设计模式之观察者模式

本文是学习李健忠老师的设计模式课程总结的学习笔记动机在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”–一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好的抵御变化使用面向对象技术,可以将这种依赖关系弱化,从而实现软件体系结构的松耦合。场景:文件分割器需求:提供进度条,显示分割进展class IProgr...

2019-06-29 21:50:25 111

原创 剑指offer 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { * int val; * ...

2019-06-28 15:42:29 70

转载 数据预处理之中性化

在使用因子进行选股时,经常会因为其它因子的影响,而导致选出来的股票具有一些我们不希望看到的偏向。比如说,市净率pb会与市值有很高的相关性,这时如果我们使用未进行市值中性化的市净率,选股的结果会比较集中。同时朝阳行业和夕阳行业的市盈率在大致上也有一定的特点,比如银行股的市盈率特别的低,而互联网行业的市盈率就特别的高,也就是说行业对估值因子也有影响,如果未进行行业中性化那么我们得到的结果是具有一些行业...

2019-06-28 15:35:43 4712

原创 lintcode 110 最小路径和

题目描述给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径class Solution {public: /** * @param grid: a list of lists of integers. * @return: An integer, minimizes the sum of all numbers along its ...

2019-06-27 20:16:11 230

转载 epoll的使用

epollepoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了...

2019-06-27 20:02:18 135

空空如也

空空如也

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

TA关注的人

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