Java实现-每天三道剑指Offre(2-4)
实现一个单例模式
/**
* 面试题2:实现单例模式
*
* @author qiuyong 饿汉式
*/
public class Singleton01 {
private Singleton01() {
} private static Singleton01 instance = new Singleton01(); public static Singleton01 getInstance() {
return instance; }
} /**
* 面试题2:懒汉式
* @author qiuyong
*/
public class Singleton02 { public static Singleton02 instance; public synchronized static Singleton02 getInstance(){
if(null==instance){
instance=new Singleton02();
}
return instance;
} } /**
* 面试题2:利用内部类
* @author qiuyong
*/
public class Singleton03 { public static Singleton03 getInstance(){
return InnerClass.instatnce;
} private static class InnerClass{
public static Singleton03 instatnce=new Singleton03();
}
}
二维数组的查找
题目描述:一个二维数组,每一行从左到右递增,每一列从上到下递增.输入一个二维数组和一个整数,判断数组中是否含有整数。
public class Test {
public static boolean find(int [][] arry,int num){
int column=arry[0].length-1;
int row=0;
while(row<arry.length&&column>=0){
if(num==arry[row][column]){
return true;
}
if(arry[row][column]>num){
column--;
}else{
row++;
}
}
</span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {
</span><span style="color: #0000ff;">int</span> [][] arry=<span style="color: #0000ff;">new</span> <span style="color: #0000ff;">int</span>[3][3<span style="color: #000000;">];
</span><span style="color: #0000ff;">for</span>(<span style="color: #0000ff;">int</span> i=0;i<arry.length;i++<span style="color: #000000;">){
</span><span style="color: #0000ff;">for</span>(<span style="color: #0000ff;">int</span> j=0;j<arry[0].length;j++<span style="color: #000000;">){
arry[i][j]</span>=(i+1)*(j+1<span style="color: #000000;">);
}
}
System.out.println(</span>"查看是否有元素9:"+find(arry,9<span style="color: #000000;">));
System.out.println(</span>"查看是否有元素9:"+find(arry,0<span style="color: #000000;">));
}
}
替换空格
题目描述:请实现一个函数,把字符串中的每个空格替换成“%20”。
public class ReplaceBlank {
public static void main(String[] args) {
String str="i am happy";
str=replaceBlank(str);
System.out.println(str);
}
public static String replaceBlank(String str){
if(null==str){
return null;
}
StringBuffer sb=new StringBuffer();
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' '){
sb.append("%20");
}else{
sb.append(str.charAt(i));
}
}
return sb.toString();
}
}
Java实现-每天三道剑指Offre(2-4)的更多相关文章
- 剑指Offer:面试题15——链表中倒数第k个结点(java实现)
问题描述 输入一个链表,输出该链表中倒数第k个结点.(尾结点是倒数第一个) 结点定义如下: public class ListNode { int val; ListNode next = null; ...
- 剑指offer编程题Java实现——面试题5从头到尾打印链表
题目描述* 剑指offer面试题5:从尾到头打印链表 输入一个链表的头结点,从尾到头打印出每个结点的值 解决方案一:首先遍历链表的节点后打印,典型的"后进先出",可以使用栈来实现这 ...
- 剑指offer面试题-Java版-持续更新
最近在用Java刷剑指offer(第二版)的面试题.书中原题的代码采用C++编写,有些题的初衷是为了考察C++的指针.模板等特性,这些题使用Java编写有些不合适.但多数题还是考察通用的算法.数据结构 ...
- 《剑指offer》全部题目-含Java实现
1.二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. publi ...
- 剑指Offer——Java实现栈和队列的互模拟操作
剑指Offer--Java实现栈和队列的互模拟操作 栈模拟队列 题目:JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作.队列中的元素为int类型. 思路:其实就是把队列正常入 ...
- 剑指Offer——知识点储备-故障检测、性能调优与Java类加载机制
剑指Offer--知识点储备-故障检测.性能调优与Java类加载机制 故障检测.性能调优 用什么工具可以查出内存泄露 (1)MerroyAnalyzer:一个功能丰富的java堆转储文件分析工具,可以 ...
- 剑指Offer——知识点储备-Java基础
剑指Offer--知识点储备-Java基础 网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&pa ...
- 剑指offer-面试题7:俩个栈实现队列(java)
详细分析请参照C语言版,这里仅仅给出实现代码,注释很详细,不得不说java各种api用起来真是爽飞了 1 package com.xsf.SordForOffer; 2 3 import java.u ...
- 剑指offer面试题5 从头到尾打印链表(java)
注:(1)这里体现了java数据结构与C语言的不同之处 (2)栈的操作直接利用stack进行 package com.xsf.SordForOffer; import java.util.Stack; ...
随机推荐
- MessageDigest类实现md5加密
项目中用到的md5工具类: package com.mall.util; import org.springframework.util.StringUtils; import java.securi ...
- HDU 6187 Destroy Walls (对偶图最小生成树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6187 题意:有一个V个结点M条边的带边权无向平面图,有一个人在一个区域,要拆一些墙使得他可以到达任意一 ...
- Makefile的使用方法
转自:http://blog.chinaunix.net/uid-403164-id-2407545.html 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Wind ...
- Linux下的格式化字符串漏洞利用姿势
linux最早的漏洞防护机制nx-stack刚刚出现后就有人想出了突破方法.那就是只有栈是不可执行,而除了栈以外的其他地方还是可以执行的,只要把返回地址执行别的地方就可以. 一.格式化字符串漏洞 格式 ...
- 【hdoj_1865】1sting(递推+大数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1865 本题的关键是找递推关系式,由题目,可知前几个序列的结果,序列长度为n=1,2,3,4,5的结果分别是 ...
- currentTime安卓
设定一个时间编写CurrentTime类设置属性为该时间用toString显示该时间我使用的currentTime ,苹果用起来是好使得为什么.安卓走到下面这一步却不接着走呢!!! e.current ...
- 【Mac】appium的环境搭建
1.下载appium并安装,进入官网下载即可 http://appium.io 2.下载安装pip,因为pip执行命令的安装,会出现某些包的下载失败,因此使用brew进行 https://pypi.o ...
- touch命令的用法
touchtouch 文件,如果文件不存在,则创建一个新文件:如果文件存在,则将该存在的文件的修改时间或创建时间改为当前时间touch -t 时间戳 文件,则把该文件的时间改了
- tornado中的cookie
1. cookie与session的区别: Session:通过在服务器端记录用户信息从而来确认用户身份,保存在服务器上,每个用户会话都有一个对应的session Cookie:通过在客户端记录信息确 ...
- java总结(二)(运算符)
算数和赋值运算符 1.变量类型溢出时候,会直接取反:出现x>x+1 2.知道a++和++a 3.知道a/0错误 a/0.0无穷大 字符串 1.知道栈区.堆区和方法区 2.知道new String ...