自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wojiushimogui的博客

正在路上的编程学习者

  • 博客(66)
  • 资源 (18)
  • 收藏
  • 关注

原创 《十月小结》

十月放假归来,发现好多事都没有做,因此,就给自己定了一个目标,早点把《剑指Offer》上面的题刷完,很庆幸自己还是坚持刷完了,刷完之后,看了一点《设计模式》,这几天又找准了新的兴奋点——《leetCode》,真心喜欢这个网站,刷题真心爽到爆,哈哈哈哈,今天刷了一下午和一晚上,虽然没有刷几个题,但是真的很开心,我会坚持刷完的。

2015-10-31 22:48:39 613

原创 《leetCode》:palindrome Number

题目描述Determine whether an integer is a palindrome. Do this without extra space.题目大意:即检测一个数是否为回文数,不开辟额外的空间思路比较简单 第一步:统计x的长度。 第二步:比较x的最高位和最低位是否相等 第三步:如果第二步的结果相等,则将x的最高位和最低位的数字去掉变为新的x,重复第一步和第二步即可。

2015-10-31 22:37:15 681 1

原创 《leetCode》:Convert String to Integer

题目描述Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cas

2015-10-31 21:33:28 1014

原创 《leetCode》:Reverse Integer

题目描述:Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321实现代码如下:#include<stdio.h>#include<stdlib.h>int reverse(int x) { long result=0;//这里设为long型,是为后面检查是否溢出in

2015-10-31 19:01:36 658

原创 《leetCode》:ZigZag Conversion

关于ZigZag的理解/*1、第i排从i开始2、 含numRows的每列相邻之间的元素的间隔为step=2*(numRows-1) 3、斜线上面的元素间隔为:step=j+step-2*i;其中j为s中的下标,i为行下标(从零开始) */ #include<stdio.h>#include<stdlib.h>#include<string.h> char* convert(char* s

2015-10-31 17:21:16 582

原创 《leetCode》:Longest Substring Without Repeating Characters

题目描述如下:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is

2015-10-31 14:25:16 596

原创 《leetCode》:add two num

题目描述如下You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a

2015-10-29 22:37:41 825

原创 《LeetCode》:Two Sum

《LeetCode》:Two Sum昨天刚说的准备去刷《程序员面试金典》上面的题,但是看了下那本书上面的题,感觉都没有什么意思,因此也就打算来刷了leetCode上面的题了。刷题的顺序选择了按照顺序来刷。今天开始了第一题:Two Sum 题目如下: 意思就是:在一个整型数组中,寻找两个数等于一个定值,返回这个数在数组中的下标,要注意的是:下标不是从0开始的。《剑指Offer》上也有类似

2015-10-29 20:40:10 730

原创 《程序员面试金典(第五版)》7.7:找出只含3/5/7因子的第K个数

从今天开始就开始完成《程序员面试经典》上面的题了,这本书是用java语言来实现的,本来也想着用java语言来实现而来使自己熟悉一下java方面的知识,但是后来想了想,发现向这样的算法题,还是直接用C语言来实现吧,若可以,我也会用java来实现。今天是《程序员面试金典(第五版)》的第一个题目。 题目如下: 有些数的因子只有3、5 、7,请设计一个算法来寻找第k个数。 满足上面条件的数为:3

2015-10-28 20:44:39 1866

原创 守护线程和线程组

守护线程Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程。 守护线程作用是:为其他前台线程的运行提供便利服务,而且仅在普通、非守护线程仍然运行时才需要,比如垃圾回收线程就是一个守护线程。当VM检测仅剩一个守护线程,而用户线程都已经退出运行时,VM就会退出,因为没有了用户线程被守护这,也就没有继续

2015-10-27 22:21:13 1002

原创 线程挂起和恢复的几种方法

线程挂起和恢复方法(1):sleep()方法此种方法比较简单,哪个线程需要挂起就在哪个线程中直接调用:Thread.sleep(挂起的毫秒数);线程挂起和恢复方式(2):join()方法在实现多线程的两种方法这篇博文中值说明了Thread类中join()的作用如下: join():用线程对象调用,如果在一个线程A中调用另一个线程B的join方法,线程A将会等待线程B执行完毕后再执行。光看这句话

2015-10-27 21:47:59 17046

原创 内部类和闭包

内部类和闭包今天在某java群中看到了这样一个内部类问题,代码如下: InnerDemo01中有一个内部类Bar,InnerDemo01中的method方法中有一个继承Bar的局部子类InnerClass。InnerClass类中调用了method方法中定义的一个局部变量。而我们一般都知道,方法中的局部变量会在执行结束后就会被释放,但是内部类访问此变量就形成了闭包。package com.wrh.

2015-10-27 20:02:16 4488

原创 Java中的线程中断:interrupt()、interrupted()和isInterrupted

使用interrupt()中断线程当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回。这里需要注意的是,如果只是单纯的调用interrupt()方法,线程并没有实际被中断,会继续往下执行。下面一段代码演示了休眠线程的中断:package com.wrh.threadInterrupt;pub

2015-10-25 20:51:04 2982

原创 《设计模式》之模板方法模式

《设计模式》之模板方法模式定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中来实现,使得子类可以不改变算法的结构即可重定义该算法中的某些特定的步骤。类型:行为类模式光看定义可能还不是很明白,举个例子可能就更清楚了,例如我们需要实现这样的一个功能:对一个数组进行排序然后输出此数组。此功能包括两个步骤:先排序后输出,这就是我们算法框架的思想。由于排序的方法有很多种:快排、归并排序、冒泡等,因此我们

2015-10-25 16:44:15 574

原创 Java中深拷贝和浅拷贝的研究

Java中深拷贝和浅拷贝的研究这篇博文主要来研究下深拷贝和浅拷贝吧

2015-10-24 22:00:38 1629

原创 《设计模式》之原型模式

《设计模式》之原型模式定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:客户(Client)角色:使用原型对象的客户程序抽象原型(Prototype)角色:规定了具体原型对象必须实现的接口(如果要提供深拷贝,则必须具有实现clone的规定)具体原型(ConcretePrototype):从抽象原型派生而来,是客户程序使用的对象,即被复制的对象。此角色需要

2015-10-24 21:33:21 571

原创 《设计模式》之建造者模式

建造者模式定义建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。UML图建造者模式通常包括下面几个角色:builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。一般至少会有两个抽象方法,一个用来建造产品,一个是用来返回产品。ConcreteBuilder:实现Build

2015-10-24 20:25:06 708

转载 设计模式》六大原则之一:开闭原则

开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。开闭原则是面向对象设计中最基础的设计原则,它指导

2015-10-24 17:11:27 940

转载 《设计模式》六大原则之一:迪米特法则

迪米特原则定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。低耦合的优点不言而喻,但是怎么样编程才能做到低耦合呢?那正是迪米

2015-10-24 16:47:43 526

转载 《设计模式》六大原则之一:接口隔离原则

接口隔离原则定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。通俗来讲:将一个庞大的接口变更为几个较小的专用的接口所采用的就是接口隔离原则问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。

2015-10-24 16:17:44 802

转载 《设计模式》六大原则之一:依赖倒置原则

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者

2015-10-24 15:39:46 661

原创 《设计模式》六大原则之一:里氏替换原则

《设计模式》六大原则:里氏替换原则1 什么是里氏代换原则里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data Abstraction and Hierarchy》里面提出来的,主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承,以及其中的蕴涵的原理。2002年,我们前面单一职责原则中提到的软件

2015-10-24 15:18:11 770

转载 《设计模式》六大原则之一:单一职责原则

单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改

2015-10-24 14:10:25 614

转载 设计模式中类的关系

设计模式中类的关系在java以及其他的面向对象设计模式中,类与类之间主要有6中关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。依赖(Dependence)- - - - - - ->依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的

2015-10-24 13:10:46 625

原创 《设计模式》之抽象工厂模式

《设计模式》之抽象工厂模式概念抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。“一对多”的关系。UML各个类的角色与工厂模式类似。抽象工厂模式与工厂方法模式的区别抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法

2015-10-23 22:50:31 453

原创 《设计模式》之工厂方法

《设计模式》之工厂方法前面介绍了简单工厂模式,这种模式的关键、核心在于工厂,他负责根据用户的需求返回相应的产品实例对象,这种设计模式的缺点就在于:工厂的责任太大,当工厂不能够工作之后,整个设计就基本瘫痪不遵守“开闭原则—对扩展开放,对修改关闭”,当需要增加一个新的产品类的时候,就需要修改工厂类的代码当产品类达到一定的程序的时候,这个工厂的代码将非常庞大,不利用维护。因此,就有了工厂方法模式概

2015-10-23 20:46:09 578

原创 《设计模式》之简单工厂模式

《设计模式》之简单工厂模式简单工厂模式Simple Factory根据提供给它的数据(就是参数),返回一个类的实例。通常它返回的类都有一个公共的父类(或者接口对象)。简单工厂模式的UML图 简单工厂的作用是实例化对象,而不需要客户了解这个对象属于哪个具体的子类。简单工厂实例化的类具有相同的接口或者基类,在子类比较固定并不需要扩展时,可以使用简单工厂。采用简单工厂的优点是可以使用户根据参数获得对应的

2015-10-22 22:37:50 527

原创 《设计模式》之装饰者模式

《设计模式》之装饰者模式看了很多博文,感觉自己都没有彻底理解清楚装饰者模式,总是感觉还差点什么。定义装饰者模式:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。Decorator模式的工作原理是:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。 装饰者模式隐含的是通过一条条装饰链去实现具体对象,每一条装饰链都始于

2015-10-22 21:21:45 619

转载 《设计模式》之策略模式

《设计模式》之策略模式看了许多关于讲解《策略模式》的,发现还是这篇讲的比较好,容易理解。因此也就转载过来了。 原文地址:http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个

2015-10-22 19:37:35 564

原创 《设计模式》之单例模式

单例模式的特点 1、只能有一个实例 2、给外部的所有对象提供这一实例。单例模式有如下几种 1、饿汉式单例模式 2、懒汉式单例模式 3.双重检查式单例模式 4.类级内部类单例模式下面将进行详细的介绍。饿汉式单例模式public class HungrySingle { //构造函数私有 private HungrySingle(){

2015-10-20 21:27:56 487

原创 《剑指Offer》面试题:寻找链表中倒数第k个结点

题目 寻找链表中倒数第k个结点此题比较简单,代码如下/*思路:假设链表的结点数为N,当k<=N时,寻找链表的倒数第K个结点就是寻找链表的第N-k个结点。 */#include<stdio.h>#include<stdlib.h>struct ListNode{ int data; struct ListNode* pNext;};//建立一个链表,当输入为-1时就停

2015-10-20 19:35:56 669

原创 Java中static{}块、{}块和普通代码块的研究

普通代码块普通代码块就是在方法或者是在语句中用{}定义的代码块 普通代码块和方法中其它语句的执行顺序与其出现的顺序一致:即先出现先执行。package com.wrh.codeblock;public class CommonCodeBlock { public static void main(String[] args) { //普通代码块的研究 {

2015-10-19 21:16:55 804

原创 Java中子类是否可以继承父类的static变量和方法而呈现多态特性

静态方法通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制: 它们仅能调用其他的static 方法。 它们只能访问static数据。 它们不能以任何方式引用this 或super。无论是static修饰的变量,还是static修饰的方法,我们都知道他们是属于类本身的,不是属于某一个对象的,当声明一个

2015-10-19 19:45:29 19399 10

原创 《剑指Offer》面试题:用两个队列实现一个栈

思路 假设有两个队列Q1和Q2,当二者都为空时,入栈操作可以用入队操作来模拟,可以随便选一个空队列,假设选Q1进行入栈操作,现在假设a,b,c依次入栈了(即依次进入队列Q1),这时如果想模拟出栈操作,则需要将c出栈,因为在栈顶,这时候可以考虑用空队列Q2,将a,b依次从Q1中出队,而后进入队列Q2,将Q1的最后一个元素c出队即可,此时Q1变为了空队列,Q2中有两个元素,队头元素为a,队尾元素为b

2015-10-19 18:27:55 651

原创 《剑指Offer》面试题:用两个栈来实现一个队列

题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。/*输入:每个输入文件包含一个测试样例。对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。接下来的n行,每行输入一个队列操作:1. PUSH X 向队列中push一个整数x(x>=0)2. POP 从队列中pop一个数。输出:对应每个测试案例

2015-10-19 17:02:53 619

原创 《剑指offer》面试题:将数组中的奇数放在数组前半部分

题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分, 所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路 借助一个数组来进行寻找并拷贝。/*输入:每个输入文件包含一组测试案例。对于每个测试案例,第一行输入一个n,代表该数组中数字的个数。接下来的一行输入n个整数。代表数组中的n个数。输出:对应每个测试

2015-10-18 14:28:52 1170

原创 《剑指Offer》面试题:重构二叉树

题目描述: 输入某二叉树的前序遍历和中序遍历的结果, 请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。思路 根据前序遍历的数组,arr[0]为根节点,在中序遍历中找到值等于arr[0]的位置index,则index的左边为此节点

2015-10-18 13:48:06 1520 1

原创 《剑指Offer》和为定值的两个数

题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。思路一 按顺序进行扫描,时间复杂度为O(n*n) /*输入:每个测试案例包括两行:第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1 <= n <= 10^6,k为int第二行包含n个整数,每个数组均为int类型。输出:对应每

2015-10-17 22:13:44 795

原创 《剑指Offer》小结和博文索引

今天是2015年10月17日20:08:23,差不多就算是完成了《剑指Offer》上面的题目了,听说最新版的《剑指Offer》还有部分新添加的题,以后找工作前夕来回顾《剑指Offer》上面的题时再来完成吧。为准备按顺序整理出《剑指Offer》上的题目与其对应的完成的博文,发现还有一些题目居然没有完成也,继续完成吧。还以为完成了,来安排其他的计划的。面试题1:赋值运算符函数 面试题2:实现Singl

2015-10-17 21:00:26 588

原创 《剑指Offer》面试题:树中两结点最低公共祖先

题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先。思路 这类的题目,方法蛮多的,思路也不难理解,基本都是各种遍历的变种,主要是写代码,尤其基于递归的代码。 首先如果是二叉排序树自然不用说了,判断的一句就是该节点的值是否位于输入的这两个节点之间,可以用前序遍历来做。 如果是普通的树或者二叉树,解题思路是一样的,可以考虑前序遍历,得到两个路径,用链表或数组

2015-10-17 19:24:07 773

系统仿真学报排版格式

系统仿真学报排版格式

2017-05-08

google三大论文中文版

google三大论文中文版,欢迎下载

2016-12-01

分布式Java应用基础与实践

分布式Java应用基础与实践的pdf版,这本书只有淘宝有盗版,这里提供电子档

2016-11-20

guava-18.0.jar

guava-18.0.jar

2016-10-23

坦克大战的某一个版本

这是本人写坦克大战时完成过程中的一个版本,这个版本完成到了可以随机产生多个敌方坦克了

2016-06-22

坦克大战(发射多颗子弹的版本)

这是本人在写坦克大战中实现了坦克可以发送多颗子弹的版本,如果你需要,可以下载。

2016-06-21

python图像处理库PIL

python图像处理库PIL,可能有的人需要

2015-12-17

python识别验证码的库pytesser

可能有的人需要,特此提供,用法说明:直接将其解压缩后将将文件夹放在你即将要运行的程序相同的目录下。

2015-12-17

Java并发编程实战

Java并发编程实战完整版 高清噢 带标签噢 欢迎下载

2015-10-25

matlab2012b与vs2010交叉调用时的编译环境设置

matlab2012b与vs2010交叉调用时的编译环境设置,是别人的一篇论文,感觉可能有人需要,特上传供大家下载使用

2015-08-25

电子科技大学研究生算法课的作业的答案

这是电子科技大学研究生算法课程的几次作业的答案,供大家下载参考

2015-05-15

Java设计模式详解总结和例子

这是java设计模式的23中的详解,供大家下载学习

2015-05-15

DSP学习的一些例子程序

这是与我的关于DSP的课程资料相对应的一些例子程序,可以便于我们对其进行进一步的学习

2015-05-15

Qt入门教程

这是关于Qt开发从0开始的一些讲义,由浅入深

2015-05-15

读取心电图txt格式文件数据并且显示的app

这个一个读取心电图数据的app,大家可以在手机的存储txt文件的数据,并修改代码中的文件地址,即可运行app看到心电图就在我们的手机上面刷新显示出来了

2015-05-15

MIT-BIH的心电图数据将V5导联的数据提取出来的txt的数据文件

最近在做一个关于心电图处理的App,需要MIT-BIH一个导联的并且以分号“;”将数据分开的的全部数据,因此也就写了一个小程序将原有的按时间和幅度存放的txt文件变成了我所需要的,现在上传上来供大家下载

2015-05-15

空空如也

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

TA关注的人

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