2 我是大龙啊

尚未进行身份认证

暂无相关简介

等级
TA的排名 18w+

套路解决递归问题

相信不少同学和我一样,在刚学完数据结构后开始刷算法题时,遇到递归的问题总是很头疼,而一看解答,却发现大佬们几行递归代码就优雅的解决了问题。从我自己的学习经历来看,刚开始理解递归思路都很困难,更别说自己写了。我一直觉得刷算法题和应试一样,既然是应试就一定有套路存在。在刷题中,我总结出了一套解决递归问题的模版思路与解法,用这个思路可以秒解很多递归问题。递归解题三部曲何为递归?程序反复...

2019-10-20 22:20:11

C++设计模式

https://www.cnblogs.com/chengjundu/p/8473564.html

2019-09-01 23:20:00

C++类型转换

https://blog.csdn.net/fuming0210sc/article/details/25685711

2019-09-01 23:00:12

智能指针

本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用。为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写了,但是我们不能避免程序还未执行到delete时就跳转了或者在函数中没有执行到最后的d...

2019-09-01 22:48:50

数据库的锁

转自: https://blog.csdn.net/aluomaidi/article/details/52460844什么是事务(Transaction)?是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永...

2019-08-29 18:59:58

关系型数据库与非关系型数据库

一、关系型数据库    关系型数据库,是指采用了关系模型来组织数据的数据库。    关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。    简单来说,关系模型指的就是二维表格模型,而一个关系型数据库...

2019-08-29 18:00:08

联合索引最左前缀匹配

前言之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,最近面试时和面试官交流,发现遗漏了些东西,这里自己整理一下这方面的内容。最左前缀匹配原则在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:对列col1、列col2和列col3建一个联合索引KEY test_col1_col2_col3 on ...

2019-08-29 11:16:48

最大递增子序列

【题目】:给定数组arr,返回arr的最长递增子序列。【例子】:arr=[10,22,9,33,21,50,41,60,80],返回的最长递增子序列为[10,22,33,41,60,80]长度为6思路:动态规划dp[i]为以下标为i的元素结尾的子数组的长度。开始将dp所有元素初始化为1。为得到dp[i],需向前遍历,找到比a[i]小而且使dp[i]最大的那个数。/*. 生成长度为N...

2019-08-16 10:59:17

最少数量货物装箱问题

题目描述有重量分别为3,5,7公斤的三种货物,和一个载重量为X公斤的箱子(不考虑体积等其它因素,只计算重量)需要向箱子内装满X公斤的货物,要求使用的货物个数尽可能少(三种货物数量无限)输入描述:输入箱子载重量X(1 <= X <= 10000),一个整数。输出描述:如果无法装满,输出 -1。如果可以装满,输出使用货物的总个数。示例1输入4输出-1说明无法装满...

2019-08-14 16:51:11

寻找距离最小的点对

问题描述:给定平面上N个点的坐标,找出距离最近的两个点。解决方法:参考编程之美书上所介绍的解法三(分治思想)。方法框架: 1. 将点按照x坐标排序,找到中间点M将所有点分成两个部分,Left和Right。找出Left和Right区域分别最小的两点距离DisL, DisR, 则最短距离为DisMin=Min(DisL, DisR);在所有节点中找到x属于(M.x-DisMin,...

2019-08-13 16:10:28

最长回文子串--动态规划(O(N^2))

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad”输出: “bab”注意: "aba"也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”回文串的定义我就不啰嗦了。对于这道题,我的第一反应是用动态规划方法解。假设字符串s的长度为length,建立一个length*length的矩阵dp。dp[i][...

2019-08-09 16:43:40

求最大回文子串长度的一种方法(非最优,时间复杂度为O(N^2))

#include "iostream"#include "string"#include "sstream"#include "vector"#include "algorithm"using namespace std;int LongestPalindrome1(string s, int n){ int i, j, max, c; if (s =="" || n <...

2019-08-09 13:57:02

魔法深渊

题目描述前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬上此深渊。已知深渊有N层台阶构成(1 <= N <= 1000),并且每次月神仅可往上爬2的整数次幂个台阶(1、2、4、…),请你编程告诉月神,月神有多少种方法爬出深渊输入描述:输入...

2019-08-08 16:02:21

将满二叉树转换为求和树

将满二叉树转换为求和树给满出二叉树,编写算法将其转化为求和树什么是求和树:二叉树的求和树, 是一颗同样结构的二叉树,其树中的每个节点将包含原始树中的左子树和右子树的和。二叉树:10/ -2 6/ \ / \8 -4 7 5求和树:20(4-2+12+6)/ 4(8-4) 12(7+5)/ \...

2019-08-08 14:02:15

数组右移

下面我们来看下题目的要求。题目要求:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N)O(N),且只允许使用两个附加变量。题目解答我们来自己给个例子,来帮助自己思考。如数组为[1, 2, 3, 4, 5, 6, 7, 8],循环移位4次。 原始序列:[1, 2, 3, 4, 5, 6, 7, 8] 右移1位:[8, 1, 2, 3, 4, 5, 6, 7] ...

2019-08-07 15:13:52

小数转分数

理论在这里https://blog.csdn.net/puqutogether/article/details/43267101#include "iostream"#include "vector"#include "string"#include "math.h"#include "algorithm"using namespace std;int gcd(long x, l...

2019-08-06 16:03:14

求最大公约数

最大公约数两种求法#include "iostream"#include "algorithm"using namespace std;int flag = 0;//解法1:辗转相除法//假设用f(x,y),x > y,表示x,y的最大公约数,取k = x/y,b = x%y//则x = ky+b,如果一个数能同时整除x,y则必能同时整除y,b;int gcd(int x,...

2019-08-06 00:02:50

最大乘积子数组

最大乘积子数组这个问题可以采用和求序列的最大和子数组同样的动态规划,不同的是此类问题除了记录以上一个为结尾的子序列的最大乘积外还应记录最小乘积,因为下一个可能是负数,负负得正。核心代码如下以当前数为结尾的子序列的乘积的最大值和最小值cur_max = max(max(last_max * a[i], last_min*a[i]),a[i]);cur_min = min(min(last_...

2019-08-05 22:03:17

超级好的Django学习视频

http://space.bilibili.com/252028233/video

2019-08-01 14:56:18

malloc的实现原理

malloc是C语言最常用的标准库函数之一,用于在程序运行中动态地申请内存空间。我们都会使用它,其函数原型为:extern void *malloc(unsigned int num_bytes);那么它是怎么实现的呢?不同的编译环境中对它的实现可能不同。比如glibc(The GNU C Library)就有自己对malloc库函数的实现方法,并且是开源的。如果让我们自己实现malloc功能...

2019-07-31 10:35:36

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。