首页 > 其他分享 >剑指 04--- 二维数组中的查找----剑指05. 替换空格

剑指 04--- 二维数组中的查找----剑指05. 替换空格

时间:2022-10-28 13:05:46浏览次数:49  
标签:return matrix 04 05 int res ---- length row


剑指 Offer 04. 二维数组中的查找

难度中等308

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

示例:

现有矩阵 matrix 如下:

[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]

剑指 04--- 二维数组中的查找----剑指05. 替换空格_二维数组

代码:

public class JZ04 {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
return false;
}
int rows = matrix.length, columns = matrix[0].length;
int row = 0, column = columns - 1;
while (row < rows && column >= 0) {
int num = matrix[row][column];
if (num == target) {
return true;
} else if (num > target) {
column--;
} else {
row++;
}
}
return false;
}
}

剑指 Offer 05. 替换空格

难度简单96

请实现一个函数,把字符串 ​​s​​ 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

采用​​StringBuilder​

class Solution {
public String replaceSpace(String s) {
StringBuilder res = new StringBuilder();
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if(c == ' '){
res.append("%20");
}else{
res.append(c);
}
}
return res.toString();
}
}


标签:return,matrix,04,05,int,res,----,length,row
From: https://blog.51cto.com/u_15850876/5804524

相关文章

  • 创建型模式01----单例模式
    创建型模式的特点和分类创建型模式的关注点是"怎样创建对象",特点:将对象的创建与使用分离,这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的......
  • 结构性型模式概述02--适配器模式--桥接模式
    文章目录​​适配器模式(Adapter模式)详解​​​​优点:​​​​缺点:​​​​模式的结构与实现​​​​模式结构:​​​​模式的应用场景​​​​桥接模式(Bridge模式)详解​......
  • 用户态和内核态
    那用户态和内核态又是啥呢?Linux系统的体系结构大家大学应该都接触过了,分为用户空间(应用程序的活动空间)和内核。我们所有的程序都在用户空间运行,进入用户运行状态也就是(用户......
  • 淘宝联盟和快手全面恢复外链合作
    我是卢松松,点点上面的头像,欢迎关注我哦!在今年的3月31日,快手切断了淘宝联盟外链。8个月之后淘宝和快手也“重修于好”。有消息称,自2022年10月28日起,淘宝联盟、京东联盟商品链......
  • Redis基础
    RedisRedis入门Redis(RemoteDictionaryServer),即远程字典服务!是一个开源的使用ANSIC语言编写.支持网络,可基于内存可基于内存亦可持久化的日志型、Key-Value数据库,并提......
  • Java基础概论
    Java代码编译器.class文件字节码Jvm可处理的jvmjvm处理(执行引擎)机器可执行的程序运行switchjava5之后枚举7stringlong目前都不行左移三位this自身的一个对......
  • 红黑树-概述
    hash不支持范围hash不排序hash不支持模糊排序hash碰撞hash模糊数据库为什么使用B+树而不是B树B树只适合随机检索,而B+树同时支持随机检索和顺序检索;B+树空间利用率更高,可减少......
  • Java面向对象以及优缺点-秋招面试--使用线程池的好处--拒绝策略
    文章目录​​方法重写规则​​​​7.合成复用原则​​​​通常类的复用分为两种:继承复用和合成复用两种,​​​​封装​​​​继承的优缺点​​​​继承:​​​​两小:​​......
  • 信号量与互斥锁之间的区别
    (1):互斥量用于线程的互斥,信号线用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别。(2):互斥量值只能为0/1,信号量值可以为非负整数。也就是说,一个互......
  • Redis的五大数据类型的底层实现
    Redis的五大数据类型的底层实现redis是以键值对储存数据的,所以对象又分为对象喝键值对象即,存储一个key-value键值对会创建两个对象,键对象和值对象。对象可以是5大对象中......