自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CL_Fighting

不爱打代码的程序媛

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

原创 Leetcode之67. Add Binary 66. Plus One

67. Add Binary iven two binary strings, return their sum (also a binary string). The input strings are both non-empty and contains only characters 1 or 0. Example 1: Input: a = “11”, b = ...

2018-04-30 20:19:44 152

原创 Leetcode之Maximum Product Subarray

题目描述 Given an integer array nums, find the contiguous subarray within an array (containing at least one number) which has the largest product. Example 1: Input: [2,3,-2,4] Output: 6 Ex...

2018-04-30 20:08:13 287

原创 Leetcode之Remove Duplicates from Sorted List I II

26. Remove Duplicates from Sorted Array Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length. Do not allocate extra space ...

2018-04-30 19:37:39 101

原创 Leetcode之Majority Element I II

169. Majority Element 求众数 Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume that the array is non-emp...

2018-04-30 19:03:56 126

转载 C++ 向量vector详解

vector是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器,本文介绍一下使用方法。 vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:代码如下:#include<vector>;1一、vector 的初始化:可以有五种...

2018-04-28 20:50:15 515

原创 查看 CUDA和cuDNN版本 查看Nvidia

查看 CUDA cudnn 版本cuda 版本 cat /usr/local/cuda/version.txtcudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 212345查看Nvidia GPU版本nvidia-smi//10s显示一次watch -n 10 nvidia-sm...

2018-04-28 10:19:40 12125

转载 Leetcode之Single Number II

Single Number II最笨的方法就是计数,将每一个整数都看成一个长度位32的数组,然后统计32位中每一位出现1的次数。如果一个数出现3次,则其出现1的位肯定也是3次,这时如果某位出现4次,则意味着出现一次的数在该位也为1。通过分析所有的位,我们即可以找到这个出现一次的数。class Solution {public: int singleNumber(vector&lt...

2018-04-28 09:16:34 123

转载 二分搜索法Binary Search小结

二分查找法作为一种常见的查找方法,将原本是线性时间提升到了对数时间范围,大大缩短了搜索时间,具有很大的应用场景,而在LeetCode中,要运用二分搜索法来解的题目也有很多,但是实际上二分查找法的查找目标有很多种,而且在细节写法也有一些变化。根据查找的目标不同,将二分查找法主要分为以下四类:第一类: 需查找和目标值完全相等的数这是最简单的一类,也是我们最开始学二分查找法需要解决的问题,比如...

2018-04-26 11:51:37 279

原创 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 the smallest possible l...

2018-04-26 10:23:56 107

原创 upper_bound 和lower_bound 的返回值问题

upper_bound 和lower_bound是二分查找,所以效率略高,但笔者在使用的时候发现偶尔会有一些问题,所以写了这篇文章,总结了一发。首先,最形象的一句话: upper_bound(i) 返回的是键值为i的元素可以插入的最后一个位置(上界) lowe_bound(i) 返回...

2018-04-26 09:46:37 1159

原创 Leetcode之Contains Duplicate I II III

217. Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should retu...

2018-04-26 09:38:57 245

原创 Leetcode之Two Sum I II III IV

Two Sum遍历一遍数组,建立map,其中key为数组元素,value为对应的index,开始查找,如果目标减去当前值存在,说明找到了,返回两个值的index,否则继续查找,保存新的键值对。 时间复杂度:O(n)O(n)O(n)class Solution {public: vector<int> twoSum(vector<int>& n...

2018-04-25 21:51:40 151

原创 Leetcode之Best Time to Buy and Sell Stock I 和 II

121. Best Time to Buy and Sell Stock Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (i.e....

2018-04-25 21:19:22 101

原创 Leetcode之1-bit and 2-bit Characters

题目描述We have two special characters. The first character can be represented by one bit 0. The second character can be represented by two bits (10 or 11).Now given a string represented by several bi...

2018-04-25 19:49:11 138

原创 Leetcode之Find All Duplicates in an Array

题目描述 Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements that appear twice in this array. Could you do it w...

2018-04-24 20:52:21 119

原创 Leetcode之Find the Duplicate Number

题目描述 Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that there is only one duplicate n...

2018-04-24 19:28:42 166

原创 Leetcode之Find All Numbers Disappeared in an Array

今天开始我的《Leetcode》刷题计划,坚持坚持~ 在博客里记录下一些题目的解题思路和实现代码。题目描述 Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elem...

2018-04-24 10:33:58 156

原创 剑指offer之机器人的运动范围

题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?解题思路采用回溯法 机器人...

2018-04-23 20:10:27 149

转载 通过git命令行从github或服务器上克隆、修改和更新项目

项目开发时,为了方便版本管理,许多公司采用git来控制项目版本。简单介绍下:第一步:在本地新建一个文件夹,作为本地仓库,如“test”。打开git bash,进入到该文件夹目录下,如下图:第二步:将本地仓库初始化,命令:git init。如下图:第三步:将项目从github或者服务器上克隆下来,命令:git clo...

2018-04-23 14:45:18 166

原创 剑指offer之矩阵中的路径

题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串”bcced”的路径,但是矩阵中不包含”abcb”路径,因为字符串的第一个字...

2018-04-23 09:19:59 131

原创 剑指offer之滑动窗口的最大值

题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{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],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6]...

2018-04-23 08:26:49 126

原创 剑指offer之数据流中的中位数

题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。解题思路问题本身不难,关键在于采取哪种数据结构和算法: (1)如果用未排序的数组实现,那么插入的时间复杂度为O(1),查找的时间复杂度为O(n)(半快速排序法); (2)如果是排序的...

2018-04-22 17:12:19 248

转载 优先队列-堆

优先队列  队列是一个操作受限的线性表,数据只能在一端进入,另一端出来,具有先进先出的性质。有时在队列中需要处理优先级的情况,即后面进入的数据需要提前出来,这里就需要优先队列。优先队列是至少能够提供插入和删除最小值这两种操作的数据结构。对应于队列的操作,插入相当于入队,删除最小相当于出队...

2018-04-22 16:52:36 112

转载 优先队列priority_queue详解

优先队列引入优先队列是一种特殊的队列,在学习堆排序的时候就有所了解,点“击”查看。那么优先队列是什么呢? 说白了,就是一种功能强大的队列。如果不太清楚队列,可以看看我这篇博客。它的功能强大在哪里呢? 四个字:自动排序。优先队列的头文件&&声明首先,你需要#include&...

2018-04-22 16:38:56 114

原创 剑指offer之二叉搜索树的第k个结点

题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。解题思路二叉搜索树的一个重要性质就是它的中序遍历是排序的,因此这道题目只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第K大结点。 中序遍历用递归实现比较容易,但要想清楚的是遍历到一个根结点的时候要做的是什么? 中序...

2018-04-22 15:46:13 89

原创 剑指offer之序列化二叉树

题目描述 请实现两个函数,分别用来序列化和反序列化二叉树解题思路二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于 先序、中序、后序、按层 的二叉树遍历方式来进行修改。原理都是一样的(即遍历顺序不同而已,对每个结点的处理都是一样的),序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(...

2018-04-22 14:49:15 281

原创 剑指offer之按之字形顺序打印二叉树

题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。解题思路所谓“之字形”打印,第一行是从左到右打印,第二行是从右到左打印,第三行又是从左到右打印…. 即,奇数行(根为第一行)是从左到右打印,而偶数行是从右到左打印。方法一:栈(推荐)每行的节点的访问顺序是相反的,我们可...

2018-04-22 12:18:19 178

原创 剑指offer之对称的二叉树

题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。解题思路 提到二叉树,想到的就是三种不同二叉树的遍历方法,即前序遍历、中序遍历和后序遍历。在这三种遍历算法中,都是先遍历左子结点在遍历右子结点。评定是否为一颗对称树,最好想到的就是前序遍历,如果我们在定义一种类似于前序遍历的遍历方法:即先遍历父结点,再遍历...

2018-04-22 11:20:13 142

原创 剑指offer之二叉树的下一个结点

题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解题思路 1、若该结点存在右子树:则下一个结点为右子树最左子结点(如图节点 B、C、E ) 2、若该结点不存在右子树: (1)该节点为父结点的左子结点,则下一个节点为其父结点(如图节点 D、H、F ) (2)该节点为父结点的右子结...

2018-04-21 21:49:51 75

原创 剑指offer之删除链表中重复的结点

题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5解题思路需要两个指针,一个指向前一个节点pre,另一个指向当前节点p,如果遇到相等的节点,pre不动,p向后移动,直到遇到p和p.next不相等,p...

2018-04-21 21:16:28 76

原创 剑指offer之正则表达式

题目描述 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配解题思路递归实现每次分别在str 和pattern中取一个字符进行匹配,...

2018-04-21 16:54:34 147

转载 TCP和UDP的区别

TCP UDPTCP与UDP基本区别  1.基于连接与无连接  2.TCP要求系统资源较多,UDP较少;   3.UDP程序结构较简单   4.流模式(TCP)与数据报模式(UDP);   5.TCP保证数据正确性,UDP可能丢包   6...

2018-04-21 15:12:47 96

转载 C++中explicit的用法

C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生,声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造;2 是个默认且隐含的类型转换操作符。所以, 有时候在...

2018-04-21 15:04:17 86

转载 C++中std是什么意思?

std::是个名称空间标识符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定。至于为什么将cout放到名字空间std中,是因为象cout这样的对象在实际操作中或许会有好多个,比如说你自己也可能会不小心定义一个对象叫cout,那么这两个cout对象就会产生...

2018-04-21 14:16:48 18479

转载 VIM命令大全(启动、退出、插入、查找、替换、移动、撤销、删除等命令)

: 退出命令是,按ESC键 跳到命令模式,然后输入:q(不保存)或者:wq(保存) 退出。更多退出命令: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存...

2018-04-19 10:47:01 4397

转载 0X80000000与0X7FFFFFFF

给int类型赋值的话,0X7FFFFFFF代表最大值,0X80000000代表最小值INT_MAX 代表最大值, INT_MIN 代表最小值 1、先说明负数怎么储存(1) 十进制负数是以其补码储存在内存上验证:求-8在内存上以二进制形式1的个数思路是:拿变量,令值为1,与-8的二进制码的每一位做与运算,若与运算结果为1,则该位为1。结论:输入-8,结果为29。在32...

2018-04-18 19:27:29 5703

原创 剑指offer之把字符串转换成整数

题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 2147483647 0解题思路考虑输入的字符串是否是NULL...

2018-04-18 19:18:01 84

原创 剑指offer之不用加减乘除做加法

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2;第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果;第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。同样我们可以用三步...

2018-04-18 18:34:57 121

原创 剑指offer之扑克牌顺子

题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为...

2018-04-18 14:47:55 119

原创 C++数组初始化为0

局部数组:没有默认值,如果声明的时候不定义,则会出现随机数(undefined);如果声明的长度与赋值长度不相等,则有,声明的长度>赋值长度,后面用0补足,声明的长度>赋值长度,发生编译错误;全局数组:声明时不赋值,默认值为0指针new:动态获取的内存,默认值undefined初始化为0:全局数组  int arr[10];局部数组  int arr[1...

2018-04-18 14:38:03 22377 1

空空如也

空空如也

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

TA关注的人

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