文档章节

5-28

天高地厚宇宙无穷
 天高地厚宇宙无穷
发布于 2016/05/08 22:23
字数 479
阅读 16
收藏 0

1、二维数组中的查找

题目描述

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 

算法解析:

思路:首先我们选择从左下角开始搜寻,(为什么不从左上角开始搜寻,左上角向右和向下都是递增,那么对于一个点,对于向右和向下会产生一个岔路;如果我们选择从左下脚开始搜寻的话,如果大于就向右,如果小于就向下)。

public class Solution {

    public boolean Find(int [][] array,int target) {

        int len = array.length-1;

        int i = 0;

        while((len >= 0)&& (i < array[0].length)){

            if(array[len][i] > target){

                len--;

            }else if(array[len][i] < target){

                i++;

            }else{

                return true;

            }

        }

        return false;

    }

}

2、替换空格

题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

算法解析:

(1)

public class Solution {
    public String replaceSpace(StringBuffer str) {
        return str.toString().replaceAll("\\s", "%20");
    }
}

(2)

public class Solution {
    public String replaceSpace(StringBuffer str) {
        String sti = str.toString();
        char[] strChar = sti.toCharArray();
        StringBuffer stb = new StringBuffer();
        for(int i=0;i<strChar.length;i++){
            if(strChar[i]==' '){
                stb.append("%20");
            }else{
                stb.append(strChar[i]);
            }
        }
        return stb.toString();
    }
}

3、从尾到头打印链表

题目描述

输入一个链表,从尾到头打印链表每个节点的值。

算法解析:

(1)

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
public class Solution {
    ArrayList<Integer> arrayList=new ArrayList<Integer>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        if(listNode!=null){
            this.printListFromTailToHead(listNode.next);
            arrayList.add(listNode.val);
        }
        return arrayList;
    }
}  

(2)

借助堆栈的“后进先出”实现
/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        Stack<Integer> stack=new Stack<Integer>();
        while(listNode!=null){
            stack.push(listNode.val);
            listNode=listNode.next;     
        }
        
        ArrayList<Integer> list=new ArrayList<Integer>();
        while(!stack.isEmpty()){
            list.add(stack.pop());
        }
        return list;
    }
}

 

© 著作权归作者所有

共有 人打赏支持
天高地厚宇宙无穷
粉丝 11
博文 178
码字总数 14180
作品 0
贵阳
超时重新登录提示skip not validate connection.

自己搭建的springmvc+mybatis+shiro,连接池使用的是Druid 隔一段时间没有操作后session超时,退出后重新登录就会卡住,提示如下: 2016-09-28 15:43:21 -7234176 [http-bio-8080-exec-5] DE...

石四兄
2016/09/28
508
0
CNN入门二:通俗理解卷积神经网络

一、CNN的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢...

yongwan5637
05/18
0
0
Fedora 28 计划下周正式发布,将迎来大波更新

由于 Fedora 经常推迟几个星期发布让人诟病,但是作为弥补,他们一直致力于改进发布流程管理和错误处理,现在计划在下周发布 Fedora 28 最终版本。 目前 Fedora 28 Final 的状态是 GO,意味着...

周其
04/29
0
0
【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络GoogLeNet

感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 对商业智能BI、大数据分析挖...

天善智能
05/09
0
0
Fedora 28 已进入 Final Freeze 阶段,下个月发布正式版

即将发布的 Fedora 28 Linux 发行版目前正处于“最终冻结”(final freeze)阶段,将会在接下来的几周内发布正式版。 Fedora 处于 Final Freeze 状态意味着只有修复了含有标记为 blocker 或 fr...

局长
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周三乱弹 —— 公司女同事约我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享水木年华的单曲《蝴蝶花(2002年大提琴版)》 《蝴蝶花(2002年大提琴版)》- 水木年华 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
10分钟前
28
7
Linux环境搭建 | VMware下共享文件夹的实现

在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文...

良许Linux
今天
5
0
JUC锁框架——AQS源码分析

JUC锁介绍 Java的并发框架JUC(java.util.concurrent)中锁是最重要的一个工具。因为锁,才能实现正确的并发访问。而AbstractQueuedSynchronizer(AQS)是一个用来构建锁和同步器的框架,使用A...

长头发-dawn
今天
3
0
docker中安装了RabbitMQ后无法访问其Web管理页面

在官网找了"$ docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management"这条安装命令,在docker上安装了RabbitMQ,,结果输入http://localhost:8080并不......

钟然千落
今天
4
1
spring-cloud | 分布式session共享

写在前面的话 各位小伙伴,你们有福了,这一节不仅教大家怎么实现分布式session的问题,还用kotlin开发,喜欢kotlin的小伙伴是不是很开心! 以前在写Android的时候,就对客户端请求有一定的认...

冯文议
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部