自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wiley、Z’s blog

在不断学习的过程中提升自己

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

转载 为什么禁用拷贝(复制)构造函数

关于C++的拷贝构造函数,很多的建议是直接禁用。为什么大家会这么建议呢?没有拷贝构 造函数会有什么限制呢?如何禁用拷贝构造呢?这篇文章对这些问题做一个简单的总结。这里讨论的问题以拷贝构造函数为例子,但是通常赋值操作符是通过拷贝构造函数来实现 的( copy-and-swap 技术,详见《Exceptional C++》一书),所以这里讨论也适用于赋 值操作符,通常来说禁用拷贝构造函数的同时也会禁用赋值操作符。为什么禁用拷贝构造函数关于拷贝构造函数的禁用原因,我目前了解的主要是两个原因。第一是浅拷贝问题

2020-05-10 09:36:34 1932

原创 【leetcode】数组中的逆序对-归并算法总结

数组中的逆序对记录下这个解题的思路以及归并排序的意义思路一:暴力,双重for循环int reversePairs(vector<int>& nums) { int count = 0; int len = nums.size(); for (int i = 0; i < len - 1; ++i) { for (int j =...

2020-04-24 11:41:54 253

原创 C++ 为什么拷贝构造函数形参使用引用&类型

代码class Test{ int _Test;public: Test(int x) :_Test(x)//带参构造函数 { cout << "带参数的构造函数"<<endl; } Test(const Test&te)//拷贝构造函数 { _Test = te._Test; cout << "拷贝构造函数" <&l...

2020-04-17 17:49:45 913

原创 Leetcode 542. 01矩阵

分析一个只有0和1的矩阵,让我们求每一个1到离其最近的0的距离,其实也就是求一个距离场,而求距离场那么BFS将是不二之选。与题目1162.地图分析类似,都是多源BFS。树的BFS是单源的,图的BFS是多源的。能从一个点出发求最短距离就是BFS,借用大佬的图片BFS解题模板BFS使用队列,把每个还没有搜索到的点依次放入队列,然后再弹出队列的头部元素当作当前遍历点:如果不知道确定当前遍历...

2020-04-15 16:18:20 182

原创 leetcode 724. 寻找数组的中心索引

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索引3 (nums[3] =...

2019-12-19 22:10:04 118

原创 leetcode 717. 1比特与2比特字符

有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入:bits = [1, 0, 0]输出: True解释:唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。示例 2:输入:bits = [1, ...

2019-12-19 21:46:24 154

原创 leetcode 697.数组的度

[LeetCode] Degree of an Array 数组的度Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements.Your task is to find ...

2019-12-19 21:19:25 141

原创 类成员函数跟普通函数

在默认情况下,C++类成员函数使用的函数调用约定是__thiscall,而普通函数使用的是__cdecl。__thiscall方式被使用时,调用者(caller)把this指针传递给ECX寄存器(当CPU是x86构架), 然后从右向左把参数压入堆栈,函数结束时,由函数本身(被调用者,callee)清理堆栈;__cdecl方式,调用者从右向左把参数压入堆栈,函数结束时,由调用者清理堆栈。...

2018-04-12 09:35:25 960

原创 【Leetcode】如何刷leetcode

记录自己刷题的经历过程-按照Tag刷 链表,二叉树,回溯,图,贪心,动规,哈希表,哈希相对简单很多,建议从哈希还是刷 -难度等级从easy到hard,每道题先自己思考,实在不会的参考了一个开源的解答或者参考Discuss或者博客。 -Discuss里一般都会有高质量的解答。关键是每道题都要弄明白。 -这是一个自然的过程,做的多了就有“手感”了。 -总结一下,按tag由易到难,每道题弄清...

2018-04-07 21:42:53 1679

原创 string型大数转换二进制形式

class Str2Bit{public: std::string Str2bit( const std::string &amp;input){ std::string cpy = input; int data[1010]; // 保存10进制下的数 memset(data, 0, sizeof(data)); in...

2018-02-27 22:59:41 852

转载 C/C++中const关键字详解

为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下:常变量: const 类型说明符 变量名常引用: const 类型说明符 &引用名常对象: 类名 const 对象名常成员函数: 类名::fun(形参) cons

2018-01-30 20:48:15 197

转载 C++ 类的静态成员详细讲解

在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函

2018-01-30 20:39:21 212

转载 c++中静态函数与动态函数的区别

在C语言中,由于没有类的概念,所以没有静态成员一说,在c中static的作用主要有2个:一是隐藏功能,对于static修饰的函数和全局变量而言 二是保持持久性功能,对于static修饰的局部变量而言。 并且,因为存放在静态区,全局和局部的static修饰的变量,都默认初始化为0。C语言中使用静态函数的好处: 静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例

2018-01-30 20:30:03 2610

转载 vector 扩容为什么要以1.5倍或者2倍扩容

转载:http://blog.csdn.net/dengheCSDN/article/details/78985684 我们知道,vector 在需要的时候会扩容,在 VS 下是 1.5倍,在 GCC 下是 2 倍。那么会产生两个问题:(1)为什么是成倍增长,而不是每次增长一个固定大小的容量呢?(2)为什么是以 2 倍或者 1.5 倍增长,而不是以 3 倍或者 4 倍等增长呢?1、第

2018-01-30 20:22:58 6849

转载 C++开发Office插件:实现Word插件

http://blog.csdn.net/u011304970/article/details/72863693#reply

2017-12-07 15:40:07 3706

原创 剑指offer-006

旋转数组的最小数字 题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。class Solution {public: int minNumberInR

2016-06-15 15:37:12 279

原创 剑指offer-005

用两个栈实现队列 题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.size()<=0) {

2016-06-15 14:54:32 312

原创 剑指offer-004

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

2016-06-15 14:41:29 278

原创 《招聘一个靠谱的iOS》面试题参考答案(上)(1-6)

借鉴很多前辈的基础上整理,谢谢 原文地址:[面试题] (https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01%E3%80%8A%E6%8B%9B%E8%81%98%E4%B8%80%E4%B8%AA%E9%9D%A0%E8%B0%B1%E7%9A%84iOS%E3%80%8B%E9%9D%A2%E8%AF%95%E9

2016-06-14 18:27:47 674

原创 剑指offer-004

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

2016-06-14 15:30:01 256

原创 剑指offer-003

题目描述输入一个链表,从尾到头打印链表每个节点的值。 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ class

2016-06-14 15:09:19 240

原创 剑指offer-002

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.class Solution { public: void replaceSpace(char string[] ,int length) { if(string == NULL || length <= 0)

2016-06-14 14:29:27 381

原创 剑指offer-001

二维数组中的查找-在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public:    bool Find(vector > array,int target) {        if(array.empty()) return

2016-06-14 14:08:02 337

转载 学习笔记--linq链接数据库的几种方法

数据库学习

2015-09-27 10:20:45 471

安卓软件notes便签

一个小巧的安卓应用,很实用,里面的代码容易看懂,适合初学者学习

2015-05-26

空空如也

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

TA关注的人

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