搜索到与相关的文章
数据库相关

最长不减子序列

这个题相当经典。很多题目都可以等价过来。一、简单的O(n^2)的算法很容易想到用动态规划做。设lis[]用于保存第1~i元素元素中最长不下降序列的长度,则lis[i]=max(lis[j])+1,且num[i]>num[j],i>j。然后在lis[]中找到最大的一个值,时间复杂度是O(n^2)。intLongest_Increasing(intnum[],intn){intlis[n],i,j;for(i=0;i

系统 2019-08-12 01:51:25 2332

编程技术

wcf契约版本处理与异常处理(随记)

-----------版本控制策略;必须支持向后兼容;----就是当服务端发生改变,但客户端未更新会不会发生错误;一旦契约发布,若要契约发生变化,如何不影响客户端使用;----wsdl:契约;服务契约的变化--对客户端的影响:操作签名的增加(无影响,默认缺省值)操作签名的删除(无影响,默认被忽略掉)增加新的操作(无影响,客户端不知道)删除操作、修改参数类型、修改返回值(报错)---数据契约的变化对客户端的影响添加non-required无影响;添加新的re

系统 2019-08-12 01:33:29 2332

数据库相关

insert into 后获得自动插入的id

@@identity表示最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都以@@开头,用户自定义的变量以@开头。比如有个表A,它的自增列是id。当向A表插入一行数据后,如果插入数据后自增列的值自动增加到101,则通过select@@identity得到的值就是101。使用@@identity的前提是使用了insert操作,执行select@@identity时连接没有关闭,否则得到的

系统 2019-08-12 01:32:51 2332

各行各业

谷歌浏览器的源码分析(33)

上一次说到图像缓存起来,其实很多情况下是文本的显示,也就是HTML的解释。要把网页显示出来,肯定是先从HTTP里收到网页数据,然后再使用HTML分析器来解释HTML语言,最后根据HTML来生成所有可以显示的元素,再由于这些元素生成BMP位图,这样只需要把BMP位置显示到窗口里就万事大吉了。这个过程看起来简单,其实是一个非常复杂的过程,现在就带你去深入地分析这个过程,就基本把Webkit的过程搞清楚了,同时也把chrome分析网页的过程搞清楚了。这个过程如下

系统 2019-08-12 01:32:39 2332

各行各业

2007年值得去思考的N大软件技术(1)

2006年转眼就要过去了,又到了满网尽待“N大“时。已经约定俗成,每每到这时,铺天盖地的N大回顾与展望就会跃上各大网站的头条。热热闹闹的IT技术圈,这个时候总是会被彻头彻尾的品头论足一番。我先把正在思考的N大软件技术记录下来吧,希望可以找到答案。(逐渐更新)1网络时代数据库如何存数据?数据库已经不再是存取大规模简单结构数据的时代,对于绝大多数企业来讲已经是必不可少的IT基础构建。在网络时代,企业对于文档、邮件、视频等非结构化数据的传输、存取的需求越来越迫切

系统 2019-08-12 01:32:34 2332

各行各业

简易的分布式文件系统

简易的分布式文件系统本来初期打算用Hadoop2,可是后来有限的服务器部署了SolrCloud,各种站点,发现资源不够了,近10T的文件,已经几乎把服务器的磁盘全部用光。想来想去,由于目前架构基于Scala的,所以还是用ScalaAkka实现了一个简单版本的分布式文件系统。Scala版本是2.10.3:http://www.scala-lang.org,Akka版本是2.2.3:http://akka.io。所有文件随机放在不同的服务器上,在数据库中记录了

系统 2019-08-12 01:31:55 2332

Python

CentOS安装Python3

简要说明本文使用的系统为CentOS7以安装Python3.7为例,其他的3.x的话把文章中的和Python版本有关的部分稍微修改一下就好。yum源准备更新yum:sudoyum-yupdate(参数-y用于提醒系统我们知道我们正在进行更改,免去终端提示我们要确认再继续)安装yum-utils(一组扩展和补充yum的实用程序和插件):sudoyum-yinstallyum-utils安装CentOS开发工具(用于允许从源代码构建和编译软件):sudoyum

系统 2019-09-27 17:57:32 2331

Python

Python自动生成代码 - 通过tkinter图形化操作并生成代码框架

Python自动生成代码-通过tkinter图形化操作并生成代码框架背景脚本代码Demo_CodeGenerator.pydisplay.pyFileHandler.py:脚本运行结果:脚本代码目录其它好玩的Python脚本背景在写代码过程中,如果有频繁重复性的编码操作,或者可以Reuse的各类代码,可以通过Python写一个脚本,自动生成这类代码,就不用每次手写、或者copy了。比如新建固定的代码框架、添加一些既定的软件逻辑,通讯协议、消息模板等等,再编

系统 2019-09-27 17:54:25 2331

Python

Python 正则表达式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python自1.5版本起增加了re模块,它提供Perl风格的正则表达式模式。re模块使Python语言拥有全部的正则表达式功能。compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。本章节主要介绍Python中常用

系统 2019-09-27 17:54:25 2331

Python

python 最大深度最小深度 LeetCode 104,111

python最大深度最小深度LeetCode104,111解法:1、BFS:寻找最大深度的时候,很容易想到就是,可以直接进行层次遍历,当无法在进行遍历下去的时候就是最深的深度;当寻找最小深度的时候,对每一个节点检查它是否是叶子节点,也就是检查它是否有左子树和右子树。2、DFS:每次进行遍历的时候,要判断是否是叶子节点,更新max深度的值和min深度的值。BFS版本#Definitionforabinarytreenode.#classTreeNode(ob

系统 2019-09-27 17:54:14 2331