自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Prozzz777

Hey

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

原创 Linxu性能优化基础:理解“平均负载”

简单来说,平均负载是指单位时间内,系统处在可运行状态和不可中断状态的平均进程数,也就是平均活跃数,它和CPU使用率并没有直接关系。可运行状态的进程,是指正在使用CPU或者等待CPU的进程,也就是我们常用ps命令看到的,处于R状态(Running 或Runnable)的进程。不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如尊常见的等待硬件设备的IO响应,也就是我...

2019-12-14 19:25:12 190

原创 Linxu性能优化

在一个大型的软件系统中,我们并不需要了解每个组件的所有实现细节,只要能理解它们最基本的工作原理和协作方式。性能问题并没有想象的那么难,只要了解应用程序和系统的少数几个基本原理,再进行大量的实战练习,建立起整体性能的全局观,大多数性能问题的优化就水到渠成。性能指标:“高并发”和“响应快”是我们常说的优化终极目标,而它们对应性能优化的两个核心指标,即“吞吐”和“延时”。这两个指标是从应用负载的角度...

2019-12-13 11:33:07 185

原创 2019年我的秋招之路-后台开发篇

内容后续更新。

2019-10-16 11:03:18 231

原创 C++数据库连接池设计与实现

1.什么是数据库连接池后台开发中常用的技术,在操作数据库之前,先要获得数据库连接,然后用数据库连接去进行数据库的增删改查等操作。建立连接和销毁连接都是一笔很大的性能开销,因此产生了连接池的技术。连接池与线程池一样,都是一种资源池,专门用于处理共享资源的。它可以维护一定数量的连接不销毁,当有连接申请时,从池中取出供客户使用;使用完毕则释放归还池中;当池中连接的数量不足时,还可以创建一部分连接。...

2019-09-24 11:02:33 758

原创 Mac重装OS X系统教程

1.说明本教程适合mac系统崩溃,或者硬盘损坏需要更换硬盘,或者加固态硬盘重装系统。本人在安装过程在网上看了比较多的教程,也遇到了比较多的坑,所以将最终有效的方法做个总结,让更少的人走弯路。其实windows系统重装很简单,mac系统重装也可以很简单。2.需要工具一台win电脑一个不低于8G空间的U盘官方dmg系统镜像:镜像下载osx 10.14U盘启动制作工具:TransMac h...

2019-08-25 10:52:57 2974 2

转载 C++内存管理

转载:https://www.cnblogs.com/mrlsx/p/5411874.htmlhttps://blog.csdn.net/qq_36570733/article/details/80043321c++内存主要分为5个存储区:栈(Stack):局部变量,函数参数等,由编译器自动分配和释放,栈属于计算机系统的数据结构,进栈出栈有相应的计算机指令支持,而且分配专门的寄存器存储...

2019-02-23 11:52:43 109

原创 34. Find First and Last Position of Element in Sorted Array

问题:Given an array of integers nums sorted in ascending order, find the starting and ending position of a given target value.Your algorithm’s runtime complexity must be in the order of O(log n).If t...

2019-01-22 16:35:37 115

原创 33. Search in Rotated Sorted Array

题目:Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]).You are given a target value to search. If foun...

2019-01-22 14:58:35 124

原创 160. Intersection of Two Linked Lists

1.题目Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:begin to intersect at node c1.Example 1:Input: inter...

2019-01-18 17:23:53 394

原创 23. Merge k Sorted Lists

1.问题level:hardMerge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.Example:Input:[ 1->4->5, 1->3->4, 2->6]Output: 1-&am

2019-01-17 10:38:10 141

原创 22. Generate Parentheses

1.问题Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ "((()))", "(()())", "(())()", "()(()...

2019-01-10 15:44:16 129

原创 17. Letter Combinations of a Phone Number

1.描述MediumGiven a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone butt...

2019-01-08 18:52:36 400

原创 15. 3Sum

1.题目描述:Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:The solution set must no...

2019-01-07 17:04:55 194

原创 移动语义和右值引用

左值引用:左值引用使得标识符关联到左值。左值是一个表示数据的表达式(如变量名或者解引用的指针),程序可获取其地址,最初左值可出现在赋值语句的左边,但修饰符const的出现使得可以声明这样的标识符,即不能给他赋值,但可获取其地址:int n;int *p = new int;const int b = 101;//can't assign to b,but &b is vaildi...

2018-12-25 21:18:19 241

原创 STL标准模板库

泛型编程旨在编写独立于数据类型的代码。在c++中完成通用程序的工具是模板。当然,模板使得能够按泛型定义函数或类,而stl通过通用算法更近一步。为何使用迭代器?理解迭代器是理解STL的关键所在。模板使得算法独立于存储的数据结构,而迭代器使算法独立于使用的容器类型。...

2018-12-24 16:45:34 152

原创 C++智能指针

智能指针是行为类似于指针的类对象,但是这种对象还有其他功能。常用的auto_ptr,unique_ptr和shared_ptr三种智能指针模板,可帮助我们管理动态内存分配。简单看看下面的例子:void remodel(string &str){ string *ps = new string(str); ... str = *ps; return;}这个函数是存在缺陷的...

2018-12-21 11:28:41 149

原创 C++单例模式

什么是单例模式:单例模式就是一个类只能实例化一次,即只能有一个实例化的对象的类怎么创建一个单例模式的类:先看下面的例子:class Car{public: Car() {} ~Car() {}};void main(){ Car c1; Car *pc2 = new Car;}显然上面的例子的类可有很多实例,要禁止多实例,如果把构造函数私有化,能不能行得通呢?cl...

2018-12-17 21:22:23 174

原创 C++中4个与类型转换相关的关键词分析

C++中4个与类型转换相关的关键词分别是:( 与通用的类型转换机制相比,它们能够提供更安全、更明确的类型转换)static_castreinterpret_castdynamic_castconst_cast1.dynamic_cast:处理基类到派生类的转换RTTI是运行阶段类型识别(Runtime Type Identification)的简称。这个特性让程序...

2018-12-14 17:26:13 260

原创 C++友元

友元类:什么时候希望一个类成为另一个类友元类呢?举个例子,假设需要编写一个模拟电视和遥控器的简单程序,定义了一个Tv类和Remote类表示。这两个类之间存在某种关系,电视机并非遥控器,反之亦然,所以公有继承is-a关系并不适用。遥控器也并非电视机的一部分,反之亦然,因此包含或私有继承和保护继承的has-a关系也不适用。事实上,遥控器可以改变电视机的状态,这表明应将Remote类作为Tv类的一个...

2018-12-08 13:59:59 126

原创 C++多重继承

多重继承(Multiple Inheritance)描述的是有多个直接基类的类。比如公有MI表示的也是is-a的关系。例如,可以重类B和类C派生出类D:class D :public B, public C{ ...};多重继承存在两个问题:从两个不同的基类继承同名方法(B、C中有同名的方法怎么处理);从两个或者更多相关基类那里继承同一个类的多个实例(类B 和类C都是从类A派生...

2018-12-05 22:25:16 173

原创 C++保护继承

保护继承是私有继承的变体:使用保护继承时,基类的公有成员和保护成员都将成为派生类的保护成员。和私有继承一样,基类的接口在派生类中也是可用的,但是在继承结构之外是不可用的。当从派生类派生出另一个类时,私有继承和保护继承之间的主要区别就呈现出来了。使用私有继承,第三代类不能使用基类的接口,这是因为基类的公有方法在派生类中变成了私有方法;使用保护继承,基类的公有方法在第二代中将变成受保护的,因此第三...

2018-12-03 22:22:19 3186

原创 C++私有继承

继承关系指明了派生类和基类是is-a的关系,即派生类对象是一个基类对象。另一种包含关系是has-a关系,即包含对象成员的类。实现has-a关系的一种方法是包含,另一种方法是私有或保护继承。使用私有继承,基类的公有成员和保护成员将成为派生类的私有成员,基类的方法将不会成为派生类对象公有接口的一部分,但是可以在派生类的成员函数中使用。包含将对象作为一个命名的成员对象添加到类中,而私有继承将对象...

2018-12-03 21:46:56 547

原创 访问控制:protected

protected关键字:对于外部而言,protected和private成员是相似的,只能通过public的成员函数进行访问。两者的区别只有在基类的派生类中体现:派生类可以直接访问基类的protected成员而不能直接访问基类的private成员,即对于派生类而言,protected和public是相似的。...

2018-11-28 21:34:30 165

原创 PN序列自相关特性分析

PN序列就是伪随机序列(Pseudo—Noise Code),所谓的伪就是说这个序列随机性很强,统计特性很好但并不是真正的随机数,体现PN序列具有周期性。PN序列是由通过线性反馈移位寄存器实现的,移位寄存器的级数决定了其周期性的长短。Matlab 代码:参考:https://wenku.baidu.com/view/e44cdf6227d3240c8447ef44.htmlclear all...

2018-11-28 16:04:02 14158

原创 类继承-虚函数(2)

关于指针和引用的兼容性:通常,C++不允许将一种类型的地址赋给另一终类型的指针,也不允许将一种类型的引用指向另一种类型。但是,在类继承中,我们看到了可以将派生了Derived对象的地址赋给基类指针Based*,或者将基类的引用Based&指向派生类Derived对象,只是允许的,为什么呢?首先,公有继承确定了派生类对象和基类对象是一种is-a的关系(即Derived对象都是一个Base...

2018-11-27 22:48:39 244

原创 类继承-虚函数(1)

虚成员函数虚析构函数

2018-11-26 22:48:01 155

原创 类继承-继承类的构造函数

派生类的构造函数:派生类不能直接访问基类的私有成员,必须通过基类提供的公有方法。派生类构造函数必须使用基类的构造函数。创建派生类对象时,先创建基类对象,因此基类对象应该在进入派生类构造函数之前被创建。c++使用初始化列表完成这项工作。Derived::Derived(int x,int y):Based(x){ m=y;}也可以这样:Derived::Derived(int x,...

2018-11-26 22:31:23 2270

原创 成员初始化列表语法

一个类Classy,mem1,mem2,mem3都是这个类的数据成员,则类的构造函数可以使用以下的语法来初始化成员:Classy::Classy(int n, int m) :mem1(n), mem2(m), mem3(m*n + 2){ //...}上述代码等效于初始化成员变量:mem1=n,mem2=m,mem3=m*n+2;从理论上说,这些初始化工作在创建对象是完成的,此时还...

2018-11-25 10:47:55 521

原创 类和动态内存分配(3)

定位new运算符号//main.cpp#include<iostream>#include<string>using namespace std;const int BUF = 512;class JustTest{private: string words; int number;public: JustTest(const string &a...

2018-11-24 16:59:02 189

原创 类和动态内存分配(2)

改进后的StringBad类://stringbad.h#include <iostream>#ifndef STRINGBAD_H_#define STRINGBAD_H_class StringBad {private : char *str; int len; static int num_strings; static const int CINLIM =...

2018-11-24 11:16:09 172

原创 类和动态内存分配(1)

假设我们要创建一个类,其中有一个成员表示某人的姓,最简单的就是用字符串数组来保存,开始使用14个字符的数组,发现太小,保险的方法是使用40个字符的数组,但是当创建2000多个这个样的对象时,必定会造成内存浪费。通常使用string类,该类有良好的内存管理细节。但是这样就没有机会深入的学习内存管理了。c++在内存分配方面,采用这样的策略,在程序运行时决定内存分配,而不是编译时决定。使用new和de...

2018-11-14 21:42:28 239

原创 matlab的FIR滤波器设计

1.matlab设计fir滤波器的方法2.fir1函数设计滤波器clear all; close all; clc;% 滤波器长度N=41;%采样频率fs=2000;%各种滤波器的特征频率fc_lpf=200;fc_hpf=200;fp_bandpass=[200 400];fc_stop=[200 400];%以采样频率的一般,对频率归一化wn_lpf=fc_lpf*2...

2018-10-29 16:37:33 64550 13

原创 637. Average of Levels in Binary Tree

1.问题描述Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array. Example 1: Input: 3 / \ 9 20 / \ 15 7...

2018-10-14 16:08:03 121

原创 617. Merge Two Binary Trees

1.问题描述Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.You need to merge them into a new bina...

2018-10-12 09:49:15 122

原创 matlab进行傅里叶变换fft和shiftfft

使用matlab进行傅里叶变换模拟信号进行奈奎斯特采样后成为离散的数字信号,时域分析不太方便,通常要进行频域变换更好的分析信号,matlab中的fft和shiftfft两个函数可以快速的帮助我们进行频谱分析。两个函数存在一些差别。关于fft的预备知识:由奈奎斯特采样定理知,要使信号无失真的还原,频谱不出现混叠,采样频率必须是信号(基带信号)最高频率的两倍。这里设信号频率f=100HZ,采样频...

2018-09-20 21:27:28 15248 8

原创 404. Sum of Left Leaves

1.题目描述Find the sum of all left leaves in a given binary tree.Example: 3 / \ 9 20 / \ 15 7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return...

2018-07-04 15:24:26 113

原创 257. Binary Tree Paths

1.问题描述Given a binary tree, return all root-to-leaf paths.Note: A leaf is a node with no children.Example:Input:1 / \2 3 \ 5Output: ["1->2->5", "1->3"]Explanation: All r

2018-07-03 15:31:42 95

原创 112. Path Sum

1.题目描述Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.Note: A leaf is a node with no children.Ex...

2018-07-02 20:45:55 119

原创 111. Minimum Depth of Binary Tree

1.问题描述Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.Note: A leaf is a node with no...

2018-06-29 19:34:36 105

原创 111. Minimum Depth of Binary Tree

1.问题描述Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.Note: A leaf is a node with no...

2018-06-29 19:34:33 123

空空如也

空空如也

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

TA关注的人

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