- 博客(73)
- 资源 (3)
- 收藏
- 关注
原创 leetcode 28. Implement strStr()
问题:Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.采用KMP模式匹配算法:主要参考 http://blog.csdn.net/v_july_v/article/deta
2017-05-19 19:21:14
454
转载 最大和连续子数组
问题描述:给定一个数组A[0,1…n-1],求A的连续子数组,使该数组和最大一. 暴力法 分析:首先初始化要求的最大值maxSum为A[0],然后定义三个索引i、j、k,然后三层循环:第一层i从0遍历到n-1,第二层j从i遍历到n-1,第三层k从i遍历到j,求出A[i]到A[j]之间的元素的和,然后和maxSum作比较并更新maxSum。复杂度:时间复杂度为O(n^3),空间复杂度O(
2017-05-14 19:18:04
550
原创 杭电oj(Java版)2602 Bone Collector 01背包问题
Bone CollectorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 60730 Accepted Submission(s): 25315Problem DescriptionMany year
2017-05-14 09:39:21
652
原创 leetcode 4. Median of Two Sorted Arrays
There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1:nums1 =
2017-05-13 10:46:31
339
原创 leetcode 3. Longest Substring Without Repeating Characters
题目:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the an
2017-05-13 09:57:59
263
原创 百度2017春招 度度熊回家
时间限制:1秒空间限制:32768K一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 输入描述:输入一个正整数N, N <= 50。接下来N个整数表示坐标,正数表示X
2017-05-11 21:45:34
414
原创 百度2017春招笔试 [编程题] 买帽子
时间限制:1秒空间限制:32768K度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 输入描述:首先输入一个正整数N(N 输出描述:如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1输入例子:1010 10 10 10 20 20 30 30 40 4
2017-05-11 20:22:14
420
原创 leetcode 2. Add Two Numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i
2017-05-11 14:50:13
301
原创 leetcode 1. Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the sam
2017-05-11 14:18:18
199
原创 leetcode 29. Divide Two Integers
题目:Divide two integers without using multiplication, division and mod operator.If it is overflow, return MAX_INT.public class Solution { public int divide(int dividend, int divisor) {
2017-04-24 17:27:04
303
原创 leetcode 371. Sum of Two Integers
题目:Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.Example:Given a = 1 and b = 2, return 3.public class Solution { public int getSum(int
2017-04-24 15:29:44
314
原创 剑指offer 扑克牌的顺子
题目:随机抽取扑克牌几张牌,判断能否组成顺子。其中大小王可以随便配。题目可以抽象为: 判断一个整形数组是否为连续数组,其中 0可以随便配。思路:将大小王抽象为0(当然其他数字也可以哦),先对数组排序,如果排序之后的数组不是连续的,即相邻的两个数字相隔若干个数字,但有足够的0可以补满空缺,那么数组实际上还是连续的。即判断,0的个数与空缺的个数是否相等。public class
2017-04-24 11:03:11
301
原创 剑指offer 循环左移
题目:字符串的左旋转操作室把字符串的前面的若干个字符转移到字符串的尾部。比如长度为n 左移k个思路:前k个翻转,后n-k个翻转,然后全部翻转。public class Solution { public static String RotateK(String str,int k) { if(str==null) return null; if(str.
2017-04-24 10:35:38
255
原创 剑指offer 翻转单词顺序
题目:输入一个英文句子,翻转句子中单词的顺序,单单词内字符的顺序不变。为简单起见,标点符号和字母一样处理。如输入“I am a student.”,输出为“student. a am I”。思路:现将句子中字符翻转,然后挨个翻转单词。public class Solution { public static String ReverseSentence(String str) {
2017-04-24 10:17:30
258
原创 剑指offer 和为s的连续正数序列
题目:输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。import java.util.ArrayList;public class Solution { public ArrayList > FindContinuousSequence(int sum) { ArrayList> list=new ArrayList>();
2017-04-23 14:46:17
359
原创 剑指offer 最大连续子数组之和
连续子数组的最大和在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)利用动态规划:当以第i-1个数字结尾的子数组中所有
2017-04-18 20:46:18
284
原创 剑指offer 最小的K个数
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路描述:通过快速排序思想,排完后,位于左边全是小于关键字,右边全是大于关键字,若将关键字的下标等于k-1,那么左边结果即是所求,需要注意的是,左边并不一定是排好序的。import java.util.List;import java.util.ArrayList;
2017-04-18 17:12:04
262
原创 剑指offer 数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。public class Solution { public int MoreThanHalfNum_Solution(int [] array) {
2017-04-18 16:26:16
201
原创 剑指Offer 字符串的排列
题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba字符可能重复。import java.util.ArrayList;import java.util.List;import java.util.Set;import java.util.TreeSet;publi
2017-04-18 15:02:37
272
翻译 2017网易实习 [编程题] 调整队形
在幼儿园有n个小朋友排列为一个队伍,从左到右一个挨着一个编号为(0~n-1)。其中有一些是男生,有一些是女生,男生用'B'表示,女生用'G'表示。小朋友们都很顽皮,当一个男生挨着的是女生的时候就会发生矛盾。作为幼儿园的老师,你需要让男生挨着女生或者女生挨着男生的情况最少。你只能在原队形上进行调整,每次调整只能让相邻的两个小朋友交换位置,现在需要尽快完成队伍调整,你需要计算出最少需要调整多少次可以让
2017-04-14 16:05:38
518
原创 leetcode 113. Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:Given the below binary tree and sum = 22, 5 / \
2017-04-14 11:17:35
244
转载 背包六问
Backpack IProblem 单次选择+最大体积Given n items with size Ai, an integer m denotes the size of a backpack. How full you can fill this backpack?NoticeYou can not divide any item into small pie
2017-04-13 21:15:14
293
原创 [网易编程题] 双核处理
问题描述:一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。 输入描述:输入包括两行:第一行为整数n(1 ≤ n ≤ 50)第二行为n个整数leng
2017-04-13 11:26:38
557
翻译 01背包问题小结
经典的01背包问题描述为:n个物品,每个物品的重量为w[i],每个物品的价值为v[i]。现在有一个背包,它所能容纳的重量为W,问:当你面对这么多有价值的物品时,你的背包所能带走的最大价值是多少? 基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价
2017-04-13 10:21:09
598
转载 《java并发编程实战》FutureTask详解
FutureTask详解1 基本概念1.1 Callable与FutureRunnable封装一个异步运行的任务,可以把它想象成为一个没有参数和返回值的异步方法。Callable与Runnable类似,但是有返回值。Callable接口是一个参数化的类型,只有一个方法call。public interface Callable { V call()
2017-03-30 17:21:08
852
翻译 冒泡排序及改良
冒泡排序算法,是最基本的排序算法, 它属于交换排序。冒泡排序过程设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"漂浮"(交换位置),如此反复进行,直至最后任何两个气泡都是轻者在上,重者在下为止。性能分析若记录序列的初始状态为"正序",则冒泡排序过程只需进
2017-03-29 20:23:26
306
翻译 《java并发编程实战》第六章 Executor和ExecutorService总结
接口 Java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個线程池的实现。ExecutorService 样例这里有壹個简单的使用Java 实现
2017-03-29 17:09:46
382
翻译 《java并发编程实战》第五章闭锁和栅栏
先说两点都知道的: 1.CountDownLatch减计数,CyclicBarrier加计数。 2.CountDownLatch是一次性的,CyclicBarrier可以重用。 闭锁是一种同步工具类,可以延迟线程的进度直到其到达终止状态,当闭锁到达结束状态后,将不会再改变状态。闭锁可以用来确保某些活动直到其他活动都完成后才继续执行。 countDown方法递减计
2017-03-29 09:28:42
269
原创 Servlet API
Java Servlet API中文说明文档译者前言: 近来在整理有关Servlet资料时发现,在网上竟然找不到一份中文的Java Servlet API的说明文档,而在有一本有关JSP的书后面附的Java Servlet API说明竟然不全,而这份文档的2.1a版在1998年的11月份就已定稿。所以我决定翻译一份中文的文档(其中一些与技术关系不大的部分已被略去),有兴趣的读者
2016-06-07 18:50:08
1867
原创 JDBC连接数据库之编写通用的Dao(7)
Dao.java:package com.atguigu.common;import java.sql.Connection;import java.sql.SQLException;import java.util.List;/** * 访问数据的 DAO 接口. * 里边定义好访问数据表的各种方法 * @param T: DAO 处理的实体类的类型. */publ
2016-06-05 16:02:45
742
原创 JDBC连接数据库之DBUtils简单使用(6)
Apache——DBUtils简介commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装。API介绍:——org.apache.commons.dbutils.QueryRunner——org.apache.commons.dbutils.ResultSetHandler——工具类 org.apache.comm
2016-06-05 15:53:24
456
原创 JDBC连接数据库之连接池(5)
传统的模式是:-在主程序中(servlet,beans中)建立数据库连接-进行sql操作,-断开数据库连接这种模式开发存在的问题:-普通的JDBC数据库使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中在验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就像数据库要求一个,执行完成后在断开连接。这样的
2016-06-05 15:31:46
1008
原创 JDBC连接数据库之批量处理(4)
批量处理JDBC语句提高处理速度1.当需要成批插入或者更新记录时。可以采用Java的批量更新的机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率JDBC的批量处理语句有包括下面两个方法:——addBatch(String):添加需要批量处理的SQL语句或是参数;——executeBatch();执行批量处理语句;2通常我们会遇到两种批量执行的
2016-06-05 14:19:36
479
原创 从查询出来的结果集获取Blob数据(以图片为例)
从数据库中读出文件类型为Blob文件:Connection conn=null;PrepatedStatement pstmt=null;ResultSet resultSet=null;try{connection=JDBCTools.getConnection();String sql="Select id,name customerName,email,birth f
2016-06-05 13:59:22
5404
1
原创 JDBC连接数据库之从结果集中获取对象(3)
测试利用反射返回List对象的数据。 public List getForList(Class clazz, String sql, Object... args) { List list = new ArrayList(); Connection connection = null; PreparedStatement preparedStatement = nul
2016-06-05 13:43:39
1285
原创 JDBC连接数据库反射实现O/R映射(2)
测试preparedStatement public void testPreparedStatement(){ Connection connection=null; PreparedStatement preparedStatement=null; try{ connection =JDBCTools.getConnection();
2016-06-05 13:14:39
2060
原创 JDBC连接数据库(1)
/* * Driver 是一个接口:数据库厂商必须提供实现的接口。能从其中获取数据库连接。 * 可以通过Driver的实现类对象获取数据库连接。 * 加入MySQL驱动程序。 * 在当前目录下新建lib目录。 * build path --》add to BuildPath*/ public void testDr
2016-06-05 12:42:05
406
翻译 java 多线程异常捕获
package concurrency;import static net.mindview.util.Print.*;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ThreadFactory;/* * 捕获线程
2016-05-19 11:04:27
366
翻译 java 并发多线程的声明
package concurrency;import static net.mindview.util.Print.*;import java.util.concurrent.TimeUnit;/* * InnerThread1 创建了一个扩展自Thread的匿名内部类,并且在构造器中创建了这个内部类的实例 * * InnerThread2在构造器中创建了一个匿名Thread子类,并
2016-05-19 09:45:58
349
原创 jquery 加载页面
1、$(function(){ $("#a").click(function(){ //adding your code here }); }); 2、$(document).ready(function(){ $("#a").click(function(){ //adding your code here }); });
2016-05-16 20:53:37
493
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人