算法面试题(三)

简介: 将“I am a student.”转换为“student. a am I” 1package test; 2import java.util.Arrays; 3public class Test7 { 4 public static void main(Strin.

将“I am a student.”转换为“student. a am I”


 1package test;
 2import java.util.Arrays;    
 3public class Test7 {    
 4    public static void main(String[] args) {    
 5        String str ="I am a student.";
 6        String[] sArr = str.split(" ");
 7        //外层控制轮数
 8        for (int i = 0; i <sArr.length; i++) {
 9            //内层控制移动的元素数量
10            for (int j = 0; j < sArr.length-i-1; j++) {
11                String temp=sArr[j];
12                sArr[j]=sArr[j+1];
13                sArr[j+1]=temp;             
14            }
15        }
16
17        for (String string : sArr) {
18            System.out.print(string+" ");
19        }
20    }
21}

String str1 = "abcwerthelloyuiodef";String str2 = "cvhellobnm";求两个字符串的最大相同子串



1package test;   
 2public class Test8 {    
 3    public static void main(String[] args) {            
 4        String str1 = "abcwerthelloyuiodef";
 5        String str2 = "cvhellobnm";
 6        sop(getMaxSubString(str2,str1));
 7        str2.toCharArray(); 
 8    }
 9
10    public static String getMaxSubString(String s1,String s2)
11    {
12        //求出长串、短串
13        String max = "",min = "";
14        max = (s1.length()>s2.length())?s1: s2;
15        min = (max==s1)?s2: s1;     
16//      sop("max="+max+"...min="+min);
17        for(int x=0; x<min.length(); x++)
18        {
19            for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++)
20            {
21                String temp = min.substring(y,z);
22                sop("("+x+","+y+","+z+")");
23                //sop(temp);
24                if(max.contains(temp))//if(s1.indexOf(temp)!=-1)
25                    return temp;
26            }
27        }
28        return "";
29    }
30
31
32    public static void sop(String str)
33    {
34        System.out.println(str);
35    }
36}

单例设计模式

饿汉式:


 1package test;
 2public class Test9 {    
 3    //私有化构造方法
 4    private Test9(){};
 5    //私有化静态成员变量
 6    private static Test9 test = new Test9();
 7    //公有的静态方法
 8    public static Test9 getTest9(){
 9        return test;
10    }
11
12    public static void main(String[] args) {
13        System.out.println(Test9.getTest9()==Test9.getTest9());
14    }
15}

懒汉式:



 1package test;
 2    public class Test9 {    
 3        //私有化构造方法
 4        private Test9(){};
 5        //私有化静态成员变量
 6        private static Test9 test = null;
 7        //公有的静态方法
 8        public static Test9 getTest9(){
 9            if(test == null){
10                test = new Test9();
11            }
12            return test;
13        }
14
15        public static void main(String[] args) {
16            System.out.println(Test9.getTest9()==Test9.getTest9());
17        }
18    }

原文发布时间为:2018-09-16 本文作者: IT技术之道 本文来自云栖社区合作伙伴“IT技术之道”,了解相关信息可以关注“ IT技术之道 ”。


相关文章
|
1月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
58 1
|
10天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
28 0
|
27天前
|
算法
覃超老师 算法面试通关40讲
无论是阿里巴巴、腾讯、百度这些国内一线互联网企业,还是 Google、Facebook、Airbnb 等硅谷知名互联网公司,在招聘工程师的过程中,对算法和数据结构能力的考察都是重中之重。本课程以帮助求职者在短时间内掌握面试中最常见的算法与数据结构相关知识点,学会面试中高频算法题目的分析思路,同时给大家从面试官的角度来分析算法题的解答技巧,从而更有效地提升求职者的面试通过率。
15 3
覃超老师 算法面试通关40讲
|
1月前
|
存储 算法
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
|
1月前
|
存储 机器学习/深度学习 算法
python常用算法,新手必会,面试必出
python常用算法,新手必会,面试必出
37 0
|
1月前
|
存储 算法 Java
【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)
【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)
42 0
|
2月前
|
机器学习/深度学习 算法 Java
递归算法还有哪些是你不知道的----【探讨Java经典遍历问题和面试题】
递归算法还有哪些是你不知道的----【探讨Java经典遍历问题和面试题】
32 1
|
3月前
|
存储 缓存 算法
数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对
数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对
28 0
|
3月前
|
存储 算法 Java
数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
41 0
|
3月前
|
算法 Java C++
数据结构与算法面试题:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。
数据结构与算法面试题:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。
16 0