剑指Offer

2023-05-16

剑指Offer题目

1.面试题03. 数组中重复的数字

找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

示例 1:
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3

class Solution {
    public int findRepeatNumber(int[] nums) {
        Set<Integer> set = new HashSet<>();
        int result = -1;
        for(int num: nums){
            if(!set.add(num)){
                result = num;
                return result;
            }
        }
        return result;
    }
}

2.面试题04. 二维数组中的查找

在一个 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]
]
给定 target = 5,返回 true。

给定 target = 20,返回 false。

class Solution {
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        if(matrix == null || matrix.length == 0 || matrix[0].length == 0)
            return false;
        int rows = matrix.length;
        int columns = matrix[0].length;
        int i = 0;
        int j = columns - 1;

        while(i < rows && j >=0){
            if(matrix[i][j] == target)
                return true;
            else if(matrix[i][j] > target){
                j--;
            }
            else if(matrix[i][j] < target){
                i++;
            }
        }

        return false;
    }
}

3.面试题05. 替换空格

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”

class Solution {
    public String replaceSpace(String s) {
        StringBuilder sb = new StringBuilder();
        for(Character c: s.toCharArray()){
            if(c == ' ')
                sb.append("%20");
            else
                sb.append(c);
        }
        return sb.toString();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指Offer 的相关文章

  • 剑指 Offer 03. 数组中重复的数字--详解

    找出数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0 xff5e n 1 的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字重复了 xff0c 也不知道每个数字重复了几次 请找出数组中任意一个重复的数
  • 【剑指offer系列】剑指offer 03-06

    这次我们来讲解剑指offer的全部题目 xff0c 今天是第一天 xff0c 我们来讲解第三题到第六题 xff08 我也不清楚为什么力扣上查不到第一题和第二题 xff09 一 剑指offer 03 题目链接 xff1a 力扣 题目描述 xf
  • 剑指Offer

    剑指Offer题目 1 面试题03 数组中重复的数字 找出数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0 xff5e n 1 的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字重复了 xff0c 也
  • [剑指offer] 连续子数组最大和

    题目 xff1a 对于一个有正有负的整数数组 xff0c 请找出总和最大的连续数列 给定一个 span class hljs keyword int span 数组A和数组大小n xff0c 请返回最大的连续数列的和 1 思路 xff1a
  • 【树】剑指 Offer 55 - I. 二叉树的深度

    题目 输入一棵二叉树的根节点 xff0c 求该树的深度 从根节点到叶节点依次经过的节点 xff08 含根 叶节点 xff09 形成树的一条路径 xff0c 最长路径的长度为树的深度 例如 xff1a 给定二叉树 span class tok
  • 【链表】剑指offer 22. 链表中倒数最后k个结点

    题目 输入一个长度为 n 的链表 xff0c 设链表中的元素的值为 ai xff0c 输出一个链表 xff0c 该输出链表包含原链表中从倒数第 k 个结点至尾节点的全部节点 如果该链表长度小于k xff0c 请返回一个长度为 0 的链表 数
  • 【二叉树】剑指offer 8 二叉树的下一个结点

    描述 给定一个二叉树其中的一个结点 xff0c 请找出中序遍历顺序的下一个结点并且返回 注意 xff0c 树中的结点不仅包含左右子结点 xff0c 同时包含指向父结点的next指针 下图为一棵有9个节点的二叉树 树中从父节点指向子节点的指针
  • day3: 剑指 Offer 48. 最长不含重复字符的子字符串

    剑指 Offer 48 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串 xff0c 计算该最长子字符串的长度 示例 1 输入 34 abcabcbb 34 输出 3 解释 因为无重复字符的最长子串是 34 a
  • 剑指 Offer 46. 把数字翻译成字符串

    剑指 Offer 46 把数字翻译成字符串 给定一个数字 xff0c 我们按照如下规则把它翻译为字符串 xff1a 0 翻译成 a xff0c 1 翻译成 b xff0c xff0c 11 翻译成 l xff0c xff0c 25 翻译成
  • day4: 剑指 Offer 64. 求1+2+…+n

    剑指 Offer 64 求1 43 2 43 43 n 求 1 43 2 43 43 n xff0c 要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 xff08 A B C xff09
  • 剑指Offer-面试算法题

    1 二分查找 xff08 递归与非递归实现 xff09 基本算法 xff0c 掌握好循环条件 package com company Description 二分查找 xff08 递归与非递归实现 xff09 Created by Wanb
  • 剑指 Offer 33. 二叉搜索树的后序遍历序列

    题目描述 xff1a 输入一个整数数组 xff0c 判断该数组是不是某二叉搜索树的后序遍历结果 如果是则返回 true xff0c 否则返回 false 假设输入的数组的任意两个数字都互不相同 参考以下这颗二叉搜索树 xff1a 5 2 6
  • 剑指offer T8跳台阶

    由推导可知 xff0c 递推公式为 f n 61 f n 1 43 f n 2 迭代法 xff1a 递归 xff1a 递归优化 xff08 保存结果 xff0c 剪枝 xff09 xff1a 转载于 https www cnblogs co
  • 裸辞3个月扛不住后,随便接了offer更惨!

    最近发现年底找工作的人不少 xff0c 部门里就2个hc xff0c 一周能收2000 43 简历 xff0c 这比例有点 过分 了 虽说大部分是年底先看看机会试试水 xff0c 准备年后冲击的 xff0c 但看简历里也有不少中间裸辞的 x
  • 代码随想录day3 leetcode203,707,206,剑指offer 76题,62题

    链表基础知识 单链表的定义 单链表 struct ListNode int val 节点上存储的元素 ListNode next 指向下一个节点的指针 ListNode int x val x next NULL 节点的构造函数 不定义构造
  • 【LeetCode】剑指 Offer 60. n个骰子的点数 p294 -- Java Version

    题目链接 xff1a https leetcode cn problems nge tou zi de dian shu lcof 1 题目介绍 xff08 60 n个骰子的点数 xff09 把n个骰子扔在地上 xff0c 所有骰子朝上一面
  • 【LeetCode】剑指 Offer 61. 扑克牌中的顺子 p298 -- Java Version

    题目链接 xff1a https leetcode cn problems bu ke pai zhong de shun zi lcof 1 题目介绍 xff08 61 扑克牌中的顺子 xff09 从若干副扑克牌中随机抽 5 张牌 xff
  • 【LeetCode】剑指 Offer 64. 求1+2+…+n p307 -- Java Version

    题目链接 xff1a https leetcode cn problems qiu 12n lcof 1 题目介绍 xff08 64 求1 43 2 43 43 n xff09 求 1 43 2 43 43 n xff0c 要求不能使用乘除
  • 【LeetCode】剑指 Offer 65. 不用加减乘除做加法 p310 -- Java Version

    题目链接 xff1a https leetcode cn problems bu yong jia jian cheng chu zuo jia fa lcof 1 题目介绍 xff08 65 不用加减乘除做加法 xff09 写一个函数 x
  • 【LeetCode】剑指 Offer 67. 把字符串转换成整数 p318 -- Java Version

    题目链接 xff1a https leetcode cn problems ba zi fu chuan zhuan huan cheng zheng shu lcof 1 题目介绍 xff08 67 把字符串转换成整数 xff09 写一个

随机推荐

  • FtpClient.storeFile返回false解决方法

    原文地址为 xff1a FtpClient storeFile返回false解决方法 今天在利用FTP将客户端文件存储到服务器端时 xff0c 在调用ftpClient storeFile方法后 xff0c 总是返回false xff0c
  • 上班一个月,我的几点体会

    这篇博文其实在去年就已经在CSDN发过的 后来 xff0c 某次误操作不小心删除了 xff0c 今天找出来重新发一下 我是从3月1号开始上班的 xff0c 今天3月31号 xff0c 刚好一个月结束 xff0c 在这一个月里 xff0c 我
  • 我这一年写的博文

    总结2013 xff0c 展望2014 xff0c gt gt 我的2013年终总结 在苦与乐中成长 下面是我这一年所写的博客 xff0c 主要涉及C xff0c Net Framework xff0c SQL Server xff0c S
  • 我的2013年终总结——在苦与乐中成长

    写在前面 最近正好在三亚旅游 xff0c 空闲下来时 xff0c 便开始进行年终总结 由于去年年末较忙 xff0c 便错过了2012 年的年终总结 xff0c 所以本文将会对 2012 与 2013 两年一起进行总结 说说工作 学生 到 码
  • 走过2014,2015我将继续前行

    写在前面 一转眼 xff0c 一年时光就这么溜走了 在这辞旧迎新之际 xff08 这说法是不是很官方啊 xff0c 呵呵 xff01 xff09 xff0c 我将对即将过去的2014 年进行一番总结 xff0c 并对即将来临的 2015 年
  • C#使用随机数模拟器来模拟世界杯排名(二)

    接上一篇 xff1a C 使用随机数模拟器来模拟世界杯排名 一 C 使用随机数模拟器来模拟世界杯排名 一 斯内科的博客 CSDN博客 我们使用洗牌随机数算法来匹配世界杯对战国家 xff1a 新建洗牌随机数相关类RandomUtil 用于随机
  • Windows Server 2012 R2 服务器密码忘记问题

    解决方法 xff1a 1 准备好一张和当前Windows server 2012R2系统版本和位数相近 xff08 最好相同 xff09 的系统镜像光盘或者ISO文件 2 通过BIOS设置系统从光盘启动 出现安装系统的画面 xff0c 点击
  • Butterknife的替代者ViewBinding的简单使用

    Android自家的 xff0c 又可以省去findviewbyid xff0c 而且Butterknife上大神都已经推荐使用的 xff0c 还有什么理由不去改写呢 build gradle 开启viewBinding功能 android
  • matlab中删除矩阵中的某些行

    方法1 遍历所有行 xff0c 找到满足要求的行tag xff0c 然后调用A a 61 A span class token operator 61 span neighborhood s span class token punctua
  • MySQL 创建新用户并给授权指定的数据库权限

    首先创建用户 span class token comment 低版本数据库 span create user span class token string 39 用户民 39 span 64 span class token strin
  • 如何远程连接Linux服务器

    远程登陆linux xff0c 使用的是ssh协议 windows平台下有putty xff0c Xshell xff0c SecureCRT等工具来远程连接linux服务器 1 putty是一款非常轻量级的SSH连接工具 xff0c 可以
  • 抖音超火3D相册——魔方版(肖战壁纸图片)

    抖音超火3D相册 魔方版 xff08 肖战壁纸图片 xff09 闲来无事 xff0c 写了一个HTML5和CSS的肖战3D相册 xff0c 以下奉上效果图和源代码 xff08 PS xff1a 鼠标触碰可以显示内层六面体照片 xff0c 拖
  • 使用Kotlin开发Android

    Android Studio 中安装 Kotlin Plugin 打开Settings选择Plugins模块 xff0c 搜索Kotlin xff0c 然后选择安装 xff0c 这个需要一个下载的过程 xff0c 下载完安装成功后重启一下A
  • Scrum实践系列之三--敏捷教练的修炼之路

    敏捷教练与项目经理 在被奉为 项目管理圣经 的PMBOK中 xff0c 对项目经理在各阶段的职责有着清晰的界定 xff0c 比如项目经理制定规则 安排进度 监控执行中的各项风险并实时汇报状态 xff0c 等等 然而在敏捷的世界里 xff0c
  • 什么样的人当不好程序员?

    什么样的人当不好程序员 xff1f 2016 01 21 程序员之家 来源 xff1a 36Kr 译文 xff1a http 36kr com p 5042433 html 原文 xff1a https goo gl jLfUFq 软件蚕食
  • apt-get install E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing

    在进行apt get install时一直报错E Unable to fetch some archives maybe run apt get update or try with fix missing 尝试apt get update
  • 解决spring4连接redis集群报错:CLUSTERDOWN The cluster is down

    原因是redis出错了 解决方法如下 xff1a 1 使用命令检查REDIS状态 xff1a java redis redis7000 src redis trib rb check 192 168 249 230 7000 ERR Nod
  • win10安装ubuntu18.04双系统,创建EFI分区

    1 进入windows磁盘管理器 xff0c 对想要安装ubuntu系统的磁盘进行压缩卷 xff0c 分配ubuntu系统空间 xff1b 2 若一个磁盘空间不够 xff0c 需要多个磁盘同时压缩卷后再合并压缩出来的空间 此时 xff0c
  • 兼容国产数据库达梦和操作系统鲲鹏泰山操作系统总结

    曾几何时 xff0c 接到公司命令 xff0c 要求负责的产品兼容国产数据库和操作系统 xff0c 估计是中美贸易战波及的 xff0c 吭吭唧唧做完了 xff0c 做个总结吧 xff0c 通过这个项目 xff0c 感觉国产数据库和操作系统也
  • 剑指Offer

    剑指Offer题目 1 面试题03 数组中重复的数字 找出数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0 xff5e n 1 的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字重复了 xff0c 也