- 博客(20)
- 收藏
- 关注
原创 一个01字符串,求出现0、1出现次数相等的最长子串
题目描述: 已知一个长度为N的字符串,只由0和1组成, 求一个最长的子串,要求该子串出0和1出现的次数相等。 要求算法时间复杂度尽可能的低。 比如: 1000010111000001,加粗的部分10思路:(1) 最简单的想法就是遍历所有的子串,之后判断该子串是否满足条件 N^2子串,每个子串扫一遍
2015-06-04 16:04:48 2795 1
原创 IPAddress,IPEndPoint,IPHostEntry介绍
IPAddress是.NET封装的IP地址类1、IPAddress.Parse() IPAddress newaddress1 =IPAddress.Parse("192.168.1.1");//把192.168.1.1转换为IPAddress2、IPAddress.Loopback、IPAddress.Broadcast、IPAddress.Any、IPAddress.
2015-01-06 21:43:40 824
原创 并发编程(二)取消和关闭
java没有提供任何机制来安全的终止线程(Thread.stop Thread.suspend存在严重缺陷),提供了中断,一种写作机制,能够使一个线程终止另一个线程的当前工作。任务取消:如果外部代码能在某个操作正常完成之前将其置入“完成”状态,那么就是可取消的(cancellable)取消策略:一个可取消的任务必须拥有取消策略。how 其他代码如何请求取消该任务when
2014-12-09 16:46:31 443
原创 并发编程(一) 任务执行
一、 线程中执行任务1、单个线程中串行的执行各项任务 缺点:糟糕的响应性和吞吐性2、为每个任务创建子线程特点:a,任务处理从主线程分离出来,使主线程能更快等待下一个连接,使程序在完成前面的请求之前可以接受新的连接,从而提高了响应性。 b,任务可以并行处理,从而能同时服务多个请求,程序的吞吐量得到提高。 c、任务处理代码必须是线程
2014-12-08 10:02:51 390
转载 深度理解abstract class和interface
理解抽象类abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法,请读者注意区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却
2014-10-29 17:21:57 378
原创 数据结构—双链表实现
public class doubleLinkedList { //节点类 private static class Node{ Object value; Node prev=this; Node next=this; Node(Object v){ value=v; } public String toString() { return value.t
2014-10-15 21:07:40 446
原创 数据结构—单链表
public class singleLinkedList { /** * 结点类 */ private static class Node { T nodeValue;//数据域 Node nextNode;//指针域 Node(T nodeValue,Node nextNode){ this.nodeValue=nodeValue; this.nextN
2014-10-14 21:11:02 358
转载 C++编程语言中的四个调试技巧
1、调试标记 适用预处理#define定义一个或多个调试标记,在代码中把调试部分使用#ifdef和#endif进行管理。当程序最终调试完成后,只需要使用#undef标记,调试代码就会消失。常用的调试标记为DEBUG, 语句序列:#define DEBUG#ifdef DEBUG调试代码#endif 2、运行期间调试标记 在程序
2014-08-06 10:31:03 717
原创 读书笔记—用表驱动取代冗长的逻辑选择
表驱动法是一种编程模式,从表里面查询信息而不使用逻辑语句(如if或switch)然后举了一个不使用表驱动的反例,说明不这样做会使代码可读性大大下降,这就回答了第二步。至于第三步,作者花了大量篇幅去介绍,你所看到的大部分内容实际上是第三步。读书笔记也打算用三步去介绍这个表驱动法。第一步是定义,前面已经抄了书上的一句话,已经说的很明白了,就是用查表来代替if语句或switch语句。
2014-08-05 09:44:28 489
原创 读书笔记—程序员的自我修养
一、程序的编译过程,目标文件里究竟是什么从源程序到目标文件的生成过程最简单的编译命令是gcc helloworld.c,它包含了以下几个步骤:预处理、编译、汇编、链接,下面分别简介。预处理:处理#define宏定义、#if #ifdef等条件编译指令、#include预编译指令,删除注释,添加行号和文件名标识,保留所有的#pargma编译器指令,经过预编译后的文件为
2014-08-04 09:35:44 496
原创 最长上升子序列问题
代码网上一大堆,说说思路吧,以4 2 6 3 1 5为例逐个读入数字,4 | 此时可能的队列长度为1,最大值为44 2 | 由于2 4 2 6 | 6 > 2,队列有2个,一个长度为1,最大为2,一个长度为2,最大为64 2 6 3 | 3 2,队列有2个,一个长度为1,最大为2,一个长度为2,最大为34 2 6 3 1 | 1 4 2 6 3 1 5 | 5
2014-06-16 20:37:46 422
转载 找硬币问题
考虑用最少的硬币数找n分钱的问题,假设每个硬币的值都是整数。 先证明问题具有最优子结构。假设对找n分前有最优解,而且最优解中使用了面值c的硬币,最优解使用了k个硬币。那么,这个最优解包含了对于找n-c分钱的最优解。显然,n-c分钱中使用了k-1个硬币。如果n-c分钱还有一个解使用了比k-1少的硬币,那么使用这个解可以为找n分钱产生小于k个硬币的解。与假设矛盾。 对于
2014-06-11 19:06:32 517
原创 poj 2479 Maximum sum(最大m子段,滚动数组,优化)
DescriptionGiven a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below:Your task is to calculate d(A).InputThe input consists of T(Each test case contains two lin
2014-05-23 16:47:15 443
原创 POJ 1753枚举—flip game
POJ 1753,题目链接http://poj.org/problem?id=1753,翻译一下整个题目的大概意思:有4*4的正方形,每个格子要么是黑色,要么是白色,当把一个格子的颜色改变(黑->白或者白->黑)时,其周围上下左右(如果存在的话)的格子的颜色也被反转,问至少反转几个格子可以使4*4的正方形变为纯白或者纯黑?
2014-05-13 16:20:55 480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人