- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 在一个整型数组中有两个数 a 、b值出现一次,其他数都出现两次。求出 a 和 b
在一个整型数组中有两个数 a 、b值出现一次,其他数都出现两次。求出 a 和 b
2017-04-20 17:12:57 414
原创 判断一个数是否为 2 的 某 次方
在计算机领域,2 有着特殊的地位。现在给定一个数 n ,检验 n 是否为 2 的某次方。最简单的方法当然是将 n 不断的 除以 2,如果 n 是 2 的次方,则最后能得到 商为 1。稍作改良,可以用 移位来代替除以 2 ,因为移位直接在硬件操作,效率比做除法高。具体代码如下: public static boolean isPower(int n){ if(n < 1)
2017-04-18 18:38:10 300
原创 java数据库-JDBC
首先什么是JDBC?JDBC 是用于执行SQL语句的java API,是java程序连接数据库的纽带。JDBC不能知己访问数据库,而是通过数据库产商提供的驱动程序。JDBC中 常用的接口和类:DriverManager 类:管理数据库中的驱动程序,是JDBC的管理层,作用于用户和驱动程序之间。通过 getConnection(String url,String user,Str
2017-04-14 16:33:03 221
原创 链表中倒数第 K 个结点-反转链表
这是一个比较典型的题,很多地方书籍都有出现。第一个想到的方法也是最容易的方法当然是先遍历链表得到链表的长度为 length ,那么倒数第 K 个元素 第 length - K写一个for 循环,即可找到 目标结点。但是这样需要先遍历一次链表,再遍历到倒数第 K 个结点,比较慢。比较好的方法是我们设置两个结点,一个firsNode结点从头结点开始先向前走 K-1个结点,一个sec
2017-04-09 22:38:05 234
原创 finally块中代码的执行
java的异常处理中,finally语句是为了保证无论任何情况,里面的代码都要执行到(两种情况除外)。当程序执行return语句时意味着程序结束,所以finally语句必须在return语句之前执行。当finally 语句中有 return时,finally中的return 内容将覆盖 try 或者catch 语句中的 return 内容。例如:当finally语句
2017-04-09 21:19:02 602
原创 java--精确到小数点后某位
做到某道题,最后要求是精确到小数点后某位。 一开始以为java中响应的函数卡伊进行转化,后来发现居然没有,有点懵。没办法只能自己想办法进行转换,自己一个乱搞结果居然搞出来了,有点小激动。先贴代码:实例为精确到小数点后一位/** * * @author luzi * */public class Demo { public static void main(String
2017-04-07 11:20:03 1564
原创 java线程基本概念及实现
写一点基础,忘记了不用去翻书。先说一下线程跟进程的关系:进程由操作系统进行管理的,而线程在包含在进程里面,一个进程一般可以有有多个线程。线程的切换在用户态,开销小,效率高;而进程的切换在核心态,开销高,效率相对低。多线程编程可以提高程序效率。java 中多线程编程两种方法:1 继承 Thread 类 ;2 实现 Runnable 接口。1.Tread 类:java.la
2017-04-07 10:29:41 210
原创 空汽水瓶换汽水问题
题目源于牛客网:有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一 瓶 , 喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果 小张手上有n个空汽水瓶,最多
2017-04-06 20:35:32 1902
原创 斐波那契之跳台阶问题
问题来自牛客网:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。假设N阶台阶有f(n)中跳法(n>2),第N可以是从第N-1阶跳上去的也可以是从第N-2阶跳上去的。所以有f(n)=f(n-1)+f(n-2) 。所以这道题的实质就是斐波那契数列,以下用非递归的方式实现:/***@author luzi*/publi
2017-04-05 21:27:59 340
原创 回文数回文字符串判断
回文数或回文字符串是指一个数或一个字符串从左往右读跟它从右往左读是一样的,比如 123454321,qwertrewq。那么如何进行判断呢?其实很简单,既然两个顺序读起来都一样,那么我们可以将第一个字符跟最后一个字符比较,第二个字符跟倒数第二个字符进行比较,如果比较的结果都相同则它是回文数,如果出现一个不同则它不是回文数。
2017-04-05 20:19:35 520
原创 不用辅助变量实现两个整数之间值的交换
很久前看过一道这样的题:给定两个不同的整数 a ,b,不用辅助变量交换两个数的值。具体在看到的哪忘了,侵删。可以用异或操作来实现,因为一个数跟其本身进行异或操作得到的数为 0,而一个数跟0进行异或得到数不变。具体代码如下:/** * @author 炉子 */public class ch03_1{ public static void main(String args[]){
2017-04-05 13:34:06 637
原创 快速排序
快速排序常,目前 常用的最好算法,时间复杂度为: nlongn有一篇分析讲解的比较好的博文:白话经典--快速排序,大家一起学习借鉴下具体代码如下:/** * 快速排序 * @author luzi * */ public class quicklySort { static int getMiddle(int[] a,int left,int right){ int
2017-04-05 13:26:11 276
原创 各个排序算法
总结各个排序算法:排序方法平均时间最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定选择排序O(n^2)O(n^2)O(n^2)O(1)
2017-04-05 12:20:19 195
原创 返回数组最大差值
题目源自牛客网:有一个长为n的数组A,求满足0≤a≤b给定数组A及它的大小n,请返回最大差值。测试样例:[10,5],2返回:0思路:使用贪心策略。初始化一个 p 来存储差值,初始化 min=A[0],并用 min 来存储数组中满足要求的较小数值。遍历数组,当前元素 A[i] 减去存储的 min 的值大于 p 时,更新 p的值:p=A[i]-min;
2017-04-05 00:13:06 994
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人