自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

crazyliu的博客

一个脱离高级趣味的人

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

原创 C++ const 总结

C++const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,可以减少奇怪的BUG。1. 修饰普通成员变量对于指针和引用类型,const一般分为顶层const和底层const。顶层const就是表示自己本身是常量,不能改变。底层const就是表示自己所引用的或指向的是常量,不能改变自己指...

2019-05-25 16:38:39 157

原创 C++ 虚函数

一般继承(无虚函数覆盖)#include<iostream>using namespace std;class Base { public: virtual void f() { cout << "Base::f" << endl; } virtual void g() { cout << "Bas...

2019-05-23 12:44:33 101

原创 LeetCode: 矩阵置0

给定一个mxn的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]示例2:输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5]]...

2019-05-13 11:05:08 410

原创 深入解析二分查找

在写代码的过程中经常会用到二分查找,不论是刷题还是写业务代码。虽然它的思想简洁,作用强大,但不一定你就能很好的掌握它。过去一直被二分查找和二分查找的变种的边界条件困扰,今天一并整理他们的边界条件。1. 二分查找int binary_search_equal(int *nums, int size, int target){ int temp; int left = 0, righ...

2019-05-10 16:53:20 382

原创 LeetCode:在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,1...

2019-05-08 12:20:03 171

原创 LeetCode: 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->...

2019-05-08 09:30:59 110

原创 LeetCode: 搜索二维矩阵

编写一个高效的算法来判断mxn矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。示例1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]target = 3输出: true示例2:输...

2019-05-08 08:54:18 155

原创 LeetCode: 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3→1,3,23,2,1→1,2,31,1,5→1,5,1首先,我们观察到对于任何给定序列的降序,没有可能的下一个更...

2019-05-06 16:42:02 188

原创 LeetCode: 括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n=3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]冥冥中感觉到应该用递归,但是就是提炼不出递归的不变式,递归真是个简单而强大的东西,不过要真正掌握却很难!class Solutio...

2019-05-03 15:05:22 132

原创 LeetCode: 四数之和

给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合...

2019-05-03 14:33:06 167

原创 LeetCode: 最接近的三数之和

给定一个包括n个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).class Solution {p...

2019-05-03 14:15:42 106

原创 LeetCode: 三数之和

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]这道题其实不难,一定...

2019-05-03 12:32:46 141

原创 LeetCode: 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。class Solution {p...

2019-05-02 19:26:16 116

原创 LeetCode: 盛最多水的容器

给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2019-05-02 18:57:49 146

原创 LeetCode: 后序遍历

给定一个二叉树,返回它的后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]进阶:递归算法很简单,你可以通过迭代算法完成吗?/** * 递归版本 * Definition for a binary tree node. * struct TreeNode { * i...

2019-05-02 18:44:37 200

原创 LeetCode: 前序遍历

给定一个二叉树,返回它的前序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶:递归算法很简单,你可以通过迭代算法完成吗?/** * 递归版本 * Definition for a binary tree node. * struct TreeNode { * in...

2019-05-01 12:17:44 375

原创 LeetCode: 中序遍历

给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?/** * 递归版本 * Definition for a binary tree node. * struct TreeNode { * int val;...

2019-05-01 12:08:46 310

原创 LeetCode:字符串转换整数 (atoi)

请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...

2019-05-01 11:21:53 156

空空如也

空空如也

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

TA关注的人

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