![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 51
skyxmstar
这个作者很懒,什么都没留下…
展开
-
if条件的判断
if(ischange()){ // ischange()方法 true}else{// false}原创 2019-10-18 15:31:21 · 242 阅读 · 0 评论 -
剑指offer:(6)查找和排序:旋转数组中的最小值
package co.com.jianzhioffer;public class Solution6 { public static int minNumberInRotateArray(int [] array) { int low = 0; int high = array.length-1; while(low<high){ int原创 2017-04-17 17:54:37 · 273 阅读 · 0 评论 -
剑指offer:(19)面试官谈面试思路:二叉树的镜像
package co.com.jianzhioffer;public class Solution19 { public class TreeNode { int val; TreeNode left = null; TreeNode right = null; TreeNode(int val) { this.val = val; } } public原创 2017-04-26 17:58:57 · 348 阅读 · 0 评论 -
剑指offer:(4)树:重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:在二叉树的前序遍历序列中,第一个数字总是树的根节点的值。但在中序遍历中,根节点的值再序列的中间,左子树的节点的值位于根节点的值的左边而右子树的节点的值位于原创 2017-04-14 16:53:03 · 290 阅读 · 0 评论 -
剑指offer:(5)栈和队列:用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈; 如果不为空,栈B直接出栈。package co.com.jianzhioffer;import java.util.Stack;public clas原创 2017-04-14 18:07:22 · 273 阅读 · 0 评论 -
java中的static(包括类前面修饰的static、方法前面修饰的static、成员变量前面修饰的static)
static是静态修饰符:什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例转载 2017-04-06 16:32:19 · 800 阅读 · 0 评论 -
C语言中i++==1是什么意思?
i++==1 取i的当前值和1比较,并在取i的值后将i值增1++j==3 先将j值增1,然后再将j的新值与3比较。原创 2017-04-06 16:59:16 · 17099 阅读 · 0 评论 -
剑指offer:(10)位运算,计算二进制中1的个数
二进制中1的个数输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。分析:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三原创 2017-04-23 09:41:07 · 341 阅读 · 0 评论 -
剑指offer:(13)代码的完整性: ]调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。package co.com.jianzhioffer;/* * 插排思想 */public class Solution13 { public static void reOrderArray(int a原创 2017-04-25 11:58:29 · 263 阅读 · 0 评论 -
剑指offer:(12)代码的完整性: 打印从1到最大的n位数
题目:输入数字n,按顺序打印出从1到最大 的n位十进制数。比如输入3,则打印1,2,3一直到最大三位数即999.重点: 1、当输入n很大时,最大的n位数是不是用整型(int)或者长整型(long long)都会溢出,大数问题 用数组存储 2、什么时候达到最大的n位数(n个9),只要对999....9加1,才会第一个数组位置(下标为0)的基础上产生进位package cn原创 2017-04-23 10:16:26 · 570 阅读 · 0 评论 -
剑指offer:(15)代码的鲁棒性:链表中倒数第k个结点
输入一个链表,输出该链表中倒数第k个结点。package cn.com.jianzhioffer;import java.util.List;public class Solution14 { public static class ListNode { int val; ListNode next = null; public ListNode(int val) {原创 2017-04-25 21:08:15 · 382 阅读 · 0 评论 -
剑指offer:(16)代码的鲁棒性:反转链表
输入一个链表,反转链表后,输出链表的所有元素。思路:定义三个指针,分别指向当前遍历的节点、它的前一节点及后一节点,为了防止链表断开。测试用例: 功能测试: 1、输入的链表含有多个节点 2、输入的链表只有一个节点 特殊输入测试: 1、链表头节点为null指针。package cn.com.jianz原创 2017-04-25 22:37:42 · 368 阅读 · 0 评论 -
剑指offer:(17)代码的鲁棒性:合并两个排序的链表
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路:递归解决package cn.com.jianzhioffer;public class Solution17 { public static class ListNode { int val; ListNode next = null; public ListNode(i原创 2017-04-25 22:57:10 · 321 阅读 · 0 评论 -
剑指offer:(18)代码的鲁棒性:树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)方法一: 思路:参考剑指offer 1、首先设置标志位result = false,因为一旦匹配成功result就设为true, 剩下的代码不会执行,如果匹配不成功,默认返回false 2、递归思想,如果根节点相同则递归调用DoesT原创 2017-04-26 15:19:08 · 282 阅读 · 0 评论 -
数组注意事项
数组名当被直接使用时,是一个指向数组首地址的指针。如果数组是多维数组,那么数组名是指向第一行数组的首地址,而不是第一行第一列单个元素的地址,所以*(a+i)与a[i]是一个意思,当直接用a[i]时代表的是该一维数组的首地址,所以*(a[i]+j)是与a[i][j]等效,所以AB选项正确 选项代码中能正确操作数组元素的是()123原创 2017-06-16 10:45:19 · 618 阅读 · 0 评论 -
华为机试题
关联关系:package huawei.cn;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.Set;import java.util原创 2017-08-16 22:23:13 · 607 阅读 · 0 评论 -
剑指offer编程题(1):数组
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方法一: 利用二维数组由上到下,由左到右递增的规律, 那么选取右上角或者左下角的元素a[row][col]与target进行比较, 当target小于元素a[row]原创 2017-04-10 15:27:43 · 418 阅读 · 0 评论 -
携程测试笔试题
1、 写一个购物网站的测试用例2、 二叉树交换左右子树,哪种遍历更方便?3、 一个有n个节点的二叉树,平均深度的最优值为?4、 循环队列的出队后,头指针变成了什么样?front = (front+1)%m5、 单链表,只有头结点,删除一个当前节点的最优时间o(1)6、 Sql查询语句的优先级别:where,join,on7、 Sql事物一致性级别:8、原创 2017-04-12 09:46:46 · 10619 阅读 · 0 评论 -
栈、堆、方法区、本地方法区、寄存器
stack(栈)由系统自动分配,heap(堆)需要程序员自己申请,C中用函数malloc分配空间,用free释放,C++用new分配,用delete释放。当然热爱java的童鞋肯定更关心java的内存空间划分(虽然强大的java让程序猿在编程时不需要考虑太多内存方面的细节)java 对内存空间的划分五部分; 栈、堆、方法区、本地方法区、寄存器。 1、栈内存:存储都是原创 2017-04-10 22:37:35 · 5236 阅读 · 0 评论 -
list列表去除重复项以及查询某个字符串在list的出现次数
list列表去除重复项(通过HashSet): HashSet h = new HashSet(list);//去除list中重复项,并保存在集合h中 list.clear();//清空list list.addAll(h);//将去重结果存在list中查询某个字符串在list的出现次数: Collections.frequen原创 2017-01-17 09:48:28 · 941 阅读 · 0 评论 -
Collection接口和Map接口的主要实现类
Collection接口和Map接口的主要实现类Collection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collec转载 2017-02-22 22:54:41 · 434 阅读 · 0 评论 -
java正则表达式匹配所有数字
用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9])([1-9] :匹配1~9的数字;\d :匹配数字,包括0~9;* :紧跟在 \d 之后,表明可以匹配零个及多个数字;\. :匹配小数点;? :紧跟在 \. 之后,表明可以匹配零个或一个小数点;0 :匹配一个数字0;)其中的 [1-9]\d*\.?\d* 用以匹配诸如:1、23原创 2017-03-27 20:33:32 · 27362 阅读 · 1 评论 -
HashMap的两种排序方式
HashMap根据Key或者Value上升序列(从小到大)的两种排序方式:Map map = new HashMap();map.put("d", 2);map.put("c", 1);map.put("b", 1);map.put("a", 3);List> infoIds = new ArrayList>(map.entrySet());//排原创 2017-03-27 21:15:08 · 784 阅读 · 0 评论 -
如何把char转成int
char型是数字字符,int sum = str.charAt(0)-48;原创 2017-03-27 22:03:08 · 4389 阅读 · 0 评论 -
Java内存泄露原因详解
一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图的方原创 2017-03-27 22:30:51 · 214 阅读 · 0 评论 -
Java判断单链表是否有环的两种实现方法
方法一:首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID依次作比较。如果发现新节点之前的所有节点当中存在相同节点ID,则说明该节点被遍历过两次,链表有环;如果之前的所有节点当中不存在相同的节点,就继续遍历下一个新节点,继续重复刚才的操作。例如这样的链表:A->B->C->D->B->C->D, 当原创 2017-03-27 23:05:12 · 870 阅读 · 0 评论 -
java实现单链表(增加节点,删除节点,根据下标获取节点,获取链表大小,链表逆序)
最近面试被问到链表的问题很多,让自己写一个链表,并实现链表逆序,自己突然发现,用Java实现链表还真是一件费时的事情,更何况笔试那点时间。现在做一下记录,如果有错误,希望看见的人能指出,谢谢。定义一个Node节点:public class Node { Node next; //下一个节点的引用 Object obj; //节点元素原创 2017-03-27 23:17:50 · 557 阅读 · 0 评论 -
java.lang.StackOverflowError
刷题时出现一个Java.lang.StackOverflowError异常。弄了半天,又是问高手,又是查资料的。最后发现,解决问题啦!特记录下来!StackOverflowError是由于当前线程的栈满了 ,也就是函数调用层级过多导致。比如死递归。原创 2017-03-29 23:52:39 · 701 阅读 · 0 评论 -
编程题(1):笔试题-京东软件测试2018实习招聘
题目描述 小明同学要参加一场考试,考试一共有n道题目,小明必须做对至少60%的题目才能通过考试。考试结束后,小明估算出每题做对的概率,p1,p2,...,pn。你能帮他算出他通过考试的概率吗? 输入输入第一行一个数n(1样例输入450 50 50 50原创 2017-04-08 11:22:58 · 5430 阅读 · 0 评论 -
编程题(2):京东-笔试题-2018实习招聘
拍卖(京东2017实习生招聘真题) 题目描述 公司最近新研发了一种产品,共生产了n件。有m个客户想购买此产品,第i个客户出价Vi元。为了确保公平,公司决定要以一个固定的价格 出售产品。每一个出价不低于要价的客户将会得到产品,余下的将会被拒绝购买。请你找出能让公司利润最大化原创 2017-04-08 21:06:12 · 1289 阅读 · 0 评论 -
编程题(3):京东-笔试题-2018实习招聘
异或(京东2017实习生真题) 题目描述 异或运算是常见的二进制运算,给出两个n位二进制数a,b。a异或b的运算依次考虑二进制的每一位,若这一位相同,那么这一位的异或结果就是0,不同就是1。例如a=1100, b=0100。执行a异或b的运算,a的最高位是1,b的最高位是0,两个数字不同所以最高位异或结果是1;a和b次高位都是1,所以次高位异或为0;最后两位它们都原创 2017-04-08 21:33:54 · 433 阅读 · 0 评论 -
编程题(4):人人网
1、最大公约数package cn.com.renren;import java.util.Scanner;public class Main1 { public static void main(String[] args) { Scanner sc =new Scanner(System.in); while(sc.hasNext()){ int n = sc.ne原创 2017-04-09 23:00:21 · 411 阅读 · 0 评论 -
Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
在进行Java开发时,jdk为我们提供了一系列相应的类来实现基本的数据结构。jdk所提供的容器API位于java.util包内。本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用。首先,我们先看一下Collection集合的基本结构: 1、Collection接口 Collection转载 2017-03-24 10:13:13 · 326 阅读 · 0 评论 -
如何在Eclipse下查看JDK源代码以及java源代码阅读方法
不会看JDK源代码,相当于没学过Java。网上不容易找到一篇帮助我解决了如何在Eclipse下查看JDK源代码 的文章。 核心提示:在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 window- Preferences - Java - Installed JRES 2.此时Installed JRES右边是列表窗格,列出了系统中的 JRE 环境转载 2017-04-10 17:11:48 · 362 阅读 · 0 评论 -
HashMap循环遍历方式及其性能对比
HashMap循环遍历方式及其性能对比主要介绍HashMap的四种循环遍历方式,各种方式的性能测试对比,根据HashMap的源码实现分析性能结果,总结结论。 1. Map的四种遍历方式下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论。(1) for each map.entrySet()转载 2017-02-16 16:55:44 · 271 阅读 · 0 评论