自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 迪杰特斯拉求最短路径 JAVA描述

package test;import java.net.Socket;import java.util.ArrayList;public class one {     public static final int M=65535;   public static void main(String[] args)   {   int [][] temp=   {        {0,1,...

2018-03-08 01:01:48 575

原创 操作系统牛客网刷题

1.调页策略预测要调的页数,一次调入若干相邻页2.

2017-09-09 19:40:18 562

原创 linux指令tar和zip

ar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标

2017-09-09 18:59:47 219

转载 STL源码剖析---迭代器失效小结

迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。但它又不是我们所谓普通的指针,我们可以称之为广义指针,你可以通过sizeof(vector::iterator)来查看,所占内存并不是4个字节。     首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭代器

2017-09-09 16:12:26 199

原创 SQL触发器

触发器是用户定义在关系表的一类由时间驱动的特殊过程。一旦定义任何用户对表的增删改操作均由服务器自动激活相应的触发器,定义触发器:使用CREATE TRIGGER 命令建立触发器,CREATE TRIGGER TR1 BEFORE/AFTER  INSERT/DELETE/UPDATE (触发事件)    ON TABLE1(目标表)FOR EACH ROW或者FOR

2017-09-09 01:22:05 211

原创 SQL权限授予和收回

GRANT SELECT         把查询STUDENT表的权限授给用户UION TABLE student TO UI; GRANT SELECTON TABLE student TO  PUBLICWITH  GRANT OPTION;REVOKE SELECT  收回权限ON TABLE SCFROM PUBLIC;

2017-09-09 00:10:30 12478

原创 SQL学习笔记(1)基本概念

(1)行:元组列:属性(不可再分)关系:二维表元组中一个属性:分量关系表有三种:基本表(实际存在)查询表虚表(视图表)(2)数据库系统三级模式:外模式:面向用户,多个用户多个外模式模式:数据,逻辑结构(只有一个)内模式:存储,一个,物理结构存储描述 :内部实现堆 B+树  hash等(3)完整性:实体完整性:主键不能为空参照完整性

2017-09-07 13:25:54 191

原创 分田地

链接:https://www.nowcoder.com/questionTerminal/fe30a13b5fb84b339cb6cb3f70dca699来源:牛客网牛牛和 15个朋友来玩打土豪分田地的游戏,牛牛决定让你来分田地,地主的田地可以看成是一个矩形,每个位置有一个价值。分割田地的方法是横竖各切三刀,分成 16份,作为领导干部,牛牛总是会选择其中总价值最小的一份田地, 作为牛牛

2017-09-06 12:26:38 252

转载 网易合唱团问题

题目描述有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?输入描述:每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 i(-50 输出描述:输出一行表示最大的乘积。示例1输入3

2017-09-05 21:52:29 218

转载 操作系统常考点

上一节对数据库的知识做了一个小总结,实际找工作过程中,因为公司或单位侧重点不一样,考察的知识也是不尽相同的,但是作为计算机类的学生,操作系统的知识也是必不可少的,去年参加笔试面试的时候,腾讯微软阿里等公司的笔试题都或多或少对操作系统相关的知识点进行了考察。作为一个非计算机科班出生的学僧, 当初并没有学这门课,略尴尬,只有临时啃书补一补了,这里给出的是一份操作系统常考知识点的总结,希望能给大家带来一

2017-09-05 20:54:07 278

转载 进程线程区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系

2017-09-05 20:50:44 265

转载 求两个字符串的公共连续子序列

这与求两个字符串的公共子序列要区分开,见http://blog.csdn.net/shandianling/article/details/7888050但 求你方法与求公共子序列类似,而且要简单一点。方法:动态规划.循环遍历两个字符串,查找当s1[i]==s2[k] 的情况 然后保存在c[i][k]中,c[i][k]=c[i-1][k-1]+1 最后我们会得到类似以下矩阵

2017-09-05 20:42:55 532

原创 红黑树

平衡二叉树查找O(logn)  O(h)  插入删除O(logn) 比较理想    红黑树(平衡搜索树的一种)保证了最坏情况下操作时间复杂度为O(logn)确保没有一条路径会比其他路径长出2倍,近似平衡每个结点包括 color key left right p      没有子节点或父结点,则该结点相应指针属性值为NIL 性质:根节点是黑色,叶子

2017-09-05 13:32:31 139

原创 C++标准输入输出总结

先按照实际遇到的问题记录,慢慢完善。C++:cin、cin.getline()、getline()的用法主要内容:1、cin用法2、cin.getline()用法3、getline()用法3、注意的问题 一、cin>>用法1:输入一个数字或字符#include using namespace std;main (){i

2017-09-04 21:34:56 287

原创 【美团】最大矩形面积(分治法)

给定一组非负整数组成的数组h,代表一组柱状图的高度,其中每个柱子的宽度都为1。 在这组柱状图中找到能组成的最大矩形的面积(如图所示)。 入参h为一个整型数组,代表每个柱子的高度,返回面积的值。输入描述:输入包括两行,第一行包含一个整数n(1 ≤ n ≤ 10000)第二行包括n个整数,表示h数组中的每个值,h_i(1 ≤ h_i ≤ 1,000,000)输出描

2017-09-04 21:24:33 895

转载 【美团】动态规划(有点难理解)

题目描述给你六种面额1、5、10、20、50、100元的纸币,假设每种币值的数量都足够多,编写程序求组成N员(N为0-10000的非负整数)的不同组合的个数。输入描述:输入为一个数字N,即需要拼凑的面额输出描述:输出也是一个数字,为组成N的组合个数。示例1输入5输出2

2017-09-04 19:45:24 427

原创 【美团】 动态规划问题

题目描述有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。输入描述:输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。输出描述:输出包括一行,为走法的数目。示例1输入3 2输出

2017-09-04 18:27:19 274

转载 建立动态二维数组

int **b=new int*[row];       //分配一个指针数组,将其首地址保存在b中                                                       for(i=0;i  b[i]=new int[col];

2017-09-04 17:27:53 159

原创 【美团】丢失的三个数

题目描述现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。输入描述:输入数据为一行,包含9997个数字,

2017-09-04 17:17:14 653

原创 哈希表

构造方法1.直接定址法    f(key)=a*key+b2.数字分析法3.平方取中法4.折叠法5.除留余数法 f(key)= key mod p(p6.随机数法处理冲突的方法1.开放定址法f(key)= key mod 12;发生冲突时线性探测法:F(key)=(f(key)+1)mod12;   会产生堆积二次探测法:F(key)=(

2017-09-04 16:32:25 184

原创 在数组中选择第i小的数

9.1最小(大)值问题下界需要n-1次比较   (线性时间)9.2 选择算法一般选择问题看起来比找最小值这样的简单问题要难,返回数组[p..r]中第i 小的元素

2017-09-04 16:01:23 516

原创 带有卫星数据的排序(使用sort)

struct num{int c;int d;};bool worse(const num& r1, const num& r2){if (r1.c return true;elsereturn false;}int main(){num   p[5] = { {5,3},{0,2},{3,5},{4,2},{7,3}

2017-09-04 13:58:11 467

原创 计数排序

#include using namespace std;int main(){int a[]={2,5,3,0,2,3,0,3};int n=sizeof(a)/sizeof(int);int c[sizeof(a)/sizeof(int)];int count[6];int i,j;for(i=0;icount[i]=0;for(i=

2017-09-04 11:41:16 188

原创 回溯法求解全排列问题

#include#includeusing namespace std;void swap(char *a, char *b){*a = *a + *b;*b = *a - *b;*a = *a - *b;}void pl(char *a, char * begin){if (*begin == '\0'){cou

2017-09-03 18:13:15 1430

转载 回溯法求解八皇后问题

问题描述:八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。 问题历史:八皇后问题最早是由国际象棋棋手马克斯·贝瑟尔于1848年提出。之后陆续有数学家对其进行研究,其中包括高斯和康托,并且将其推广为更一般的n皇后摆放问题。八皇后问题的第

2017-09-03 17:20:17 440

转载 回溯法

一. 回溯法 – 深度优先搜素                       1. 简单概述       回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。基本思想类同于:图的深度优先搜索二叉树的后序遍历      【     

2017-09-03 17:01:42 442

转载 二维vector定义

定义空二维vector,再赋值vector > ivec(m ,vector(n)); //m*n的二维vector,注意两个 "> "之间要有空格!

2017-09-03 16:41:11 3542

原创 vector的定义

当vector vec;时,声明的是一个空向量,因此,不能采用下标的方式访问元素,只有先通过push_back()函数加入元素后,才能采用下标的方式访问元素,但是下标方式仅能对确知已存在的元素进行下标操作。如果使用下标定位元素然后修改,只能是修改size以内的元素才能成功.一开始vector为空时,不能对其进行下标赋值。而要用push_back(). (1) vecto

2017-09-03 16:00:11 1575

转载 贪心算法

贪心算法中“贪心”二字形象的说明了该算法的基本思想:贪心(每一步选择都是眼下的局部最优选择)。比如每次给你1张面额不定的纸币,共10次,你这么选?肯定是每次都要一张100元的。当你要拿第一张时,此时眼下最优的选择就是拿一张100的,不会管拿了之后会不会对后面的9张产生影响。这就是一种贪心,当然这种情况下的贪心选择也是最优的选择,因为局部最优导致了整体的最优。贪心算法常用于求解最优解

2017-09-03 14:37:23 195

转载 动态规划入门

前言本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。前言_我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。这篇文章是基于实例展开来

2017-09-03 14:36:04 184

转载 动态规划算法

分治算法将规模较大的问题划分成规模较小的子问题,通常,这些子问题是不重叠的。这一篇要介绍的动态规划算法,也是基于问题划分,区别在于划分的子问题是有重叠的(黄色部分),这样在求解的过程中,对于重叠的部分只要求解一次,记录下结果(备忘录方法),其他子问题中直接使用即可,减少了重复计算,效率更高。如下图,在计算子问题A的时候需要计算A的子问题a,b,c,计算B的时候需要计算b,c,d,这

2017-09-03 14:08:29 231

转载 分治算法(下)

分治算法的主要步骤就是:分解,求解,合并。[cpp] view plain copyDivide-and-Conquer(P)  {           //问题规模足够小,直接解决      if(P≤n0) return(ADHOC(P);              //问题规模大,则分解为较小的子问题 P1 ,P

2017-09-03 13:32:42 233 1

转载 分治法

分治算法分治即分而治之。一个问题规模过大不容易直接解决,就可以划分成许多小问题,如果小问题不容易求解,那么可以再划分成规模更小的问题,直到规模小到很容易解决为止,解决这些小问题,再将小问题的解合并成大问题的解。这就是分治算法的基本思想。 至于小问题的规模到底划分多大,这是没有规定的,依实际情况而定。小问题的规模可以是相等的,也可以是不相等的。可以分成简单的2个小问题,当然也

2017-09-03 13:21:33 203

转载 动态规划与贪心算法

(转自)http://hi.baidu.com/35661327/blog/item/d5463e17f1e8d011972b439c.html 动态规划和贪心算法的区别2009-07-27 13:18动态规划和贪心算法的区别动态规划和贪心算法都是一种递推算法 均有局部最优解来推导全局最优解 不同点: 贪心算法: 1.贪心

2017-09-02 23:45:44 218

转载 段错误

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定

2016-08-23 17:04:10 152

空空如也

空空如也

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

TA关注的人

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