- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 数组--只出现一次的字符 and 第一个缺失的字符
题目一数组中只出现一次的数字思路:使用hashset存放所有数字,如果已经加过(即已经出现过,就移除),然后遍历hashset即可输出数组中只出现一次的数字。//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果public class Solution { public void FindNumsAppearOnce(int
2016-08-21 17:07:45 297
原创 数组--数组两个数的差值为指定的值
题目:输出有序数组的中两个元素差值为指定值diff的两个元素。思路:这与输出两个元素的和的值为一定值类似,需要两个指针,不同的是:指针不是一左一右,而是一前一后。如果差值等于diff,则返回;如果差值大于diff,则左指针右移;如果差值小于diff,则右指针右移。public void findDiffNum(int[] a,int diff){ if(a==null||a.
2016-08-21 16:33:36 3681 2
原创 数组--sum问题
题目一输出有序数组a中,和为S的两个数。如有多个,输出乘积最小的两个。思路:将两个指针分别指向首尾,如果和与指定值相等,则返回;如和大于指定值,则右指针向左移动;如和小于指定值,则左指针向右移动。public ArrayList FindNumbersWithSum(int [] array,int sum) { List list = new ArrayList();
2016-08-21 16:17:50 690
原创 查找--子字符串查找
子字符串查找子字符串查找的常见方法:暴力破解、sunday和KMP。1、暴力查找暴力查找就是用两个指针i,j分别指向字符串和子字符串,如果指针指向的字符相等则两指针右移;否则,指向字符串的指针i回到本次匹配的下一个位置,而指向匹配字符串的指针j回到匹配字符串的开头。public int search(String text,String pattern){ if(text==
2016-08-14 17:57:08 654
原创 查找--二分查找
二分查找二分查找主要是针对有序序列(部分有序序列)的元素进行查找public int bin_search(int a[],int key){ if(a==null||a.length<2) return a; int lo = 0; int hi = a.length-1; while(lo<=hi){ int mid = lo+(hi-lo)/2;
2016-08-14 16:19:24 326
原创 堆排序
堆排序分为两部分来说:一是堆的实现、二是堆的排序堆的实现:public class MaxPQ{ private int[] pq; private int N = 0; public MaxPQ(int maxN){ pq = new int[maxN+1]; } public boolean isEmpty(){ return
2016-08-14 16:06:24 189
原创 归并排序
归并排序归并排序就是不断地将元素组分成两部分进行排序,然后进行归并。public class Merge{ int[] arr; public void mergeSort(int[] a){ if(a==null||a.length<2) return; arr = new arr[a.length]; sort(a,0,a.length(
2016-08-13 22:19:38 202
原创 快速排序
快速排序:快速排序的关键在于partition函数,partition分片确定基准元素的最终位置,然后对基准元素的左右分别进行快排。public void quickSort(int[] a){ if(a==null||a.length()<2) return; return quickSort(a,0,a.length()-1);}public void quickSor
2016-08-13 17:43:05 152
原创 基本排序
基本排序包括:冒泡排序、选择排序。其时间复杂度均为O(n*n)冒泡排序:每轮遍历,将最小的元素从后浮到最前面。为了防止在元素序列有序后还进行遍历,特地插入一个标志位。public void bubbleSort(int[] a){ if(a==null||a.length()<2) return a; boolean flag = true;//标志,如果一轮遍历没
2016-08-13 17:16:46 196
原创 Spring学习(一)
一、什么是SpringSpring是一个java实现的开发应用框架。其使命是简化java开发。为了简化java开发,spring采取了以下4种关键技术:基于pojo的轻量级和最小侵入编程;通过依赖注入和面向接口实现松耦合;基于切面和惯例进行声明式编程通过切面和模板减少样板式代码。二、Spring能为我们做什么?--除了业务,其他都能做到
2015-09-15 16:51:23 364
原创 解析html
最近做微信公共平台开发,用到html、xml和JSON解析,特在这里总结一下。解析html的方法有以下几种:1.传统JDK自带的URLConnection2.使用httpclient使用传统JDK自带的URLConnection解析html步骤:1、发起http、get请求,获得html网页//不需要特别的引入包public static String getHtm
2014-11-30 15:28:10 368
原创 servlet基础
动态页面技术:1.cgi2.asp3.php(PHP+mysql+Linux+Apache)效率高,免费4.jsp=Html+java片段+jsp语法+js 1)一次编写,到处运行 2)良好的跨平台性 3)多种开发工具局支持 4)强大的伸塑型方式 不足:1)jsp产品的复杂度高 2)jsp要求运行的机器配置高Servl
2014-10-23 23:10:38 401
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人