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; ...
随机推荐
- 全面了解 Nginx 主要应用场景
前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得.所以还请见谅,同时欢迎留言交流 N ...
- php返回json数据函数实例_php技巧_脚本之家
本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考.具体方法如下: json_encode()函数用法: echo json_encode(array('a'=>'bbbb', ...
- [ python ] 网络编程(1)
在本地电脑上有两个python文件 regist.py .login.py 一个注册,一个登录.这两个python一个是写用户信息,一个是读用户信息,要怎么做呢? 通过之前的知识,我们可以通过 reg ...
- javascript当中的this详解
总结this的3个规则: this是调用上下文,上下文被创建或者初始化时才确定 非严格模式:this是全局对象:严格模式:this是undefined 函数调用 a. 以函数形式调用的函数通常不使用t ...
- HDU 2859 Phalanx(二维DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 题目大意:对称矩阵是这样的矩阵,它由“左下到右”线对称. 相应位置的元素应该相同. 例如,这里是 ...
- Android学习笔记(三) UI布局
每一个布局都有其适合的方式,另外,这几个布局元素可以相互嵌套应用,做出美观的界面. 一.线性布局(LinearLayout) 线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下 ...
- Python全栈开发之1、输入输出与流程控制
Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...
- 基于ZooKeeper实现——分布式锁与实现
引言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...
- JavaScript最全编码规范
转载: JavaScript最全编码规范 类型 ●基本类型:访问基本类型时,应该直接操作类型值 ●string ●number ●boolean ●null ●undefined var foo = ...
- c++ getline()
#include <iostream>#include <string> int main (){ std::string name; std::cout << & ...