刷题篇 - 01

news2024/10/2 12:34:26

目录

题目一:

题目二:

题目三:

题目四:

题目五:

题目六:

题目七:


题目一:

387. 字符串中的第一个唯一字符 - 力扣(LeetCode)

public int firstUniqChar(String s) {
        int[] array = new int[26];
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            array[ch - 'a']++;
        }
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            if (array[ch - 'a'] == 1) {
                return i;
            }
        }
        return -1;
}

题目二:

字符串最后一个单词的长度_牛客题霸_牛客网 (nowcoder.com)

本题已经说了,单词之间有空格隔开,且依据通过的代码来看,并不存在单词之间有多个空格。

public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextLine()) {
            String str = scan.nextLine();
            //方法一:使用split以空格分隔
            // String[] tmp = str.split(" ");
            // int index = tmp[tmp.length - 1].length();
            // System.out.println(index);

            //方法二:使用lastIndexOf找到第一个空格所在的下标index,
            //然后用substirng截取从s中下标为index - 1至最后的字符串
            int index = str.lastIndexOf(' ');
            String lastString = str.substring(index + 1);
            System.out.println(lastString.length());
        }
}

题目三:

125. 验证回文串 - 力扣(LeetCode)

public boolean isPalindrome(String s) {
        //将字符串中所有的大写字母转为小写字母
        String str = s.toLowerCase();
        int left = 0;
        int right = str.length() - 1;
        while (left < right) {
            while (!isCharacterNumber(str.charAt(left)) && left < right) {
                left++;
            }
            while (!isCharacterNumber(str.charAt(right)) && left < right) {
                right--;
            }
            if (str.charAt(left) == str.charAt(right)) {//别忘了相等时要更新下标
                left++;
                right--;
            } else {
                return false;
            }
        }
        return true;
}

//判断是否为字母数组字符
//判断某字符是否为字母,isLetter,判断某字符是否为数字,isDigit
public static boolean isCharacterNumber(char ch) {
        if (Character.isDigit(ch) || Character.isLetter(ch)) {
            return true;
        } else {
            return false;
        }
}

题目四:

709. 转换成小写字母 - 力扣(LeetCode)

public String toLowerCase(String s) {
       StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            if (ch >= 'A' && ch <= 'Z') {
                ch += 32;
            }
            stringBuilder.append(ch);
        }
        return stringBuilder.toString();
}

题目五:

434. 字符串中的单词数 - 力扣(LeetCode)

通过测试代码可以发现当输入的字符串时“”空字符串,要返回0,而不能是1。

题目有描述说,能够成为统计的个数之一,必须是连续的不是空格的字符(那我们以空格作为分割的标记就好了,split方法中分割的标记并不会记录到返回的数组中,但我们会发现当有连续的空格时,分割出来的数组中会有“多余的”,"",我们不能把它们算在最后的结果里面)。

【补充说明split方法是如何分割的】:它是每找到一次分割的记号就分割一次,例如:

s  ieo   isl,第一次分割的结果为s,ieo   isl,第二次分割的结果为"",ieo   isl,第三次分割的结果为ieo,  isl,第四次分割的结果为“”, isl,第五次分割的结果为“”,isl,最后分割的结果为:s,"",ieo,"","",isl

 public int countSegments(String s) {
        if (s.length() == 0) {
            return 0;
        }
        String[] str = s.split(" ");
        int count = 0;
        for (String tmp : str) {
            if (!tmp.isEmpty()) {
                count++;
            } 
        }
        return count;
}

题目六:

字符集合_牛客题霸_牛客网 (nowcoder.com)

每次拿到ch后看cur字符串中是否有这个字符,没有就拼接上。

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String s = in.nextLine();
            StringBuilder StringBuilder = new StringBuilder();
            for (int i = 0; i < s.length(); i++) {
                char ch = s.charAt(i);
                String str = ch + "";
                if (StringBuilder.indexOf(str) == -1) {
                    StringBuilder.append(str);
                }
            }
            String end = StringBuilder.toString();
            System.out.println(end);
        }
}

题目七:

合并两个有序的数组__牛客网 (nowcoder.com)

 public static int[] func7(int[] A, int m, int[] B, int n) {
        int i = m - 1;
        int j = n - 1;
        int k = m + n - 1;

        while (i >= 0 && j >= 0) {
            if (A[i] > B[j]) {
                A[k] = A[i];
                i--;
                k--;
            } else {
                A[k] = B[j];
                j--;
                k--;
            }
        }

        while (j >= 0) {
            A[k] = B[j];
            j--;
            k--;
        }

        while (i >= 0) {
            A[k] = A[i];
            i--;
            k--;
        }

        return A;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

订单定时状态处理业务(SpringTask)

文章目录 概要整体架构流程技术细节小结 概要 订单定时状态处理通常涉及到对订单状态进行定期检查&#xff0c;并根据订单的状态自动执行某些操作&#xff0c;比如关闭未支付的订单、自动确认收货等. 需求分析以及接口设计 需求分析 用户下单后可能存在的情况&#xff1a; …

鸿蒙(API 12 Beta2版)NDK开发【内存管理purgeable内存开发指导】

场景介绍 HarmonyOS提供Purgeable Memory内存管理机制&#xff0c;开发者可以使用相关接口创建PurgeableMemory对象&#xff0c;从而管理purgeable内存。 开发者可以通过本指导了解在HarmonyOS应用中&#xff0c;如何使用Native层相关接口操作purgeable内存。功能包括purgeab…

Jupyter-Notebook常用操作看这一篇就够啦

来源&#xff1a; “码农不会写诗”公众号 链接&#xff1a;Jupyter-Notebook常用操作看这一篇就够啦 文章目录 01 概括02 快捷键总结03 运行外部python文件04 魔法命令4.1 运行计时4.2 查看变量与函数4.3 其它常用指令 书接上文 Jupyter-Notebook是一个基于 Web 的交互式开发环…

第十四节、受伤、死亡的逻辑和动画

一、受伤的动画效果 1齿轮控制当前动画图层的权重 2、层级 当前动画层为add&#xff0c;所以不会覆盖之前的动画层&#xff0c;而是添加一个动画层 3、受伤闪烁 调用颜色的值&#xff0c;实现受伤闪烁 4、录制动画 点击时间轴&#xff0c;插入关键帧 伤害图层选择add&…

2024华数杯C题解题思路、参考论文已出(无偿分享)~

C题&#xff1a;老外游中国 “数模加油站”团队出品~ 问题1&#xff1a; 解题思路&#xff1a; 1、数据准备&#xff1a; 导入352个城市的csv文件&#xff0c;提取每个城市中的100个景点的信息。 将每个景点的评分数据提取出来&#xff0c;形成一个包含35200个景点评分的列…

centos虚拟机restart网络后隔一会断联

1. 前言 不知道各位有没有遇到过虚拟机网络设置的坑&#xff0c;往往前一段时间用的好好的&#xff0c;突然网络又不行了无法连接外部网络&#xff0c;而且使用 service network restart 一瞬间可以&#xff0c;但是过一会就断连了… 2. 解决方案 根据对虚拟机网络的学习了解…

五、一个quad同时支持pcie和sfp两种高速接口的ref时钟配置

项目描述 上位机将截图数据通过 XDMA 写入到 FPGA 侧的 DDR 内存区域 1 中通过 axi_lite 接口给 axi_read_start 信号&#xff0c;通知 AXI_read 模块启动读取数据&#xff0c;然后通过 GTP TX 模块发送出去。经过光纤回环&#xff0c;GTP RX 端接收到数据&#xff0c;送给 AX…

今天的一件小事,亲身感受:付费是提高效率的重要途径

今天需要修改一个单页网站源码&#xff0c;有一个小问题困住我3个小时了。 毕竟我也不是专业的&#xff0c;没有系统学习过这些&#xff0c;搜答案都不知道怎么搜哈哈 吃过午饭&#xff0c;想着不能这么耗下去了&#xff0c;于是及时去了某宝&#xff0c;找到一个修改代码的 …

搭建nexus上传jar包,并结合jenkins运行项目

一、搭建nexus 1、docker拉取镜像 需要将docker原更新一下 https://blog.csdn.net/qx020814/article/details/140908006?spm1001.2014.3001.5502 docker pull sonatype/nexus3 创建nexus挂载文件、增加权限&#xff1a; mkdir docker_nexus3 mkdir docker_nexus3/nexus-data c…

TreeSize:免费的磁盘清理与管理神器,解决C盘爆满的燃眉之急

目录 TreeSize&#xff1a;免费的磁盘清理与管理神器&#xff0c;解决C盘爆满的燃眉之急 一、TreeSize介绍 二、下载安装TreeSize 2.1、下载地址 2.2、下载步骤 ​2.3、安装步骤 三、professional版的TreeSize试用 3.1、分析磁盘空间 3.2、显示拓展名统计信息 3.3、显…

将本地的业务写成成可供RPC远程调用的方法

第一步&#xff1a;首先我们先定义proto文件&#xff0c;这些proto文件将会为远程调用者提供调用的方法&#xff0c;为login方法。 2.重写UserServiceRpc类中的Login方法。 在Login中做的操作主要是&#xff0c;得到requst里面的参数&#xff0c;然后调用本地的Login方法&#…

可解释性终极追问,什么才是第一性解释?20篇CCF-A+ICLR论文给你答案

一、前言 长期以来&#xff0c;我们团队一直在思考可解释性领域的一个终极问题&#xff0c;即什么才是解释性领域的第一性原理&#xff1f;所谓第一性原理&#xff0c;目前没有一个被广泛接受的框架&#xff0c;世上本无路&#xff0c;我们需要逐渐去定义这样一个路。我们需要在…

Linux系统中的高级内核模块调试技术

引言 在Linux系统中进行高级内核模块开发时&#xff0c;调试是不可或缺的重要环节。调试技术能够帮助开发人员发现和解决代码中的错误和问题&#xff0c;提高开发效率和代码质量。本文将深入探讨Linux系统中高级内核模块调试的技术和方法&#xff0c;包括常用的调试工具、调试…

JAVA—面向对象编程高级

学习了一定基础后&#xff0c;开始更加深入的学习面向对象&#xff0c;包含static,final两个关键字&#xff0c;面向对象编程三大特征之继承和多态。以及对于抽象类&#xff0c;内部类&#xff0c;接口&#xff0c;枚举&#xff0c;泛型的学习。 目录 1.static &#xff08;…

cdn 内容分发网络

cdn 内容分发网络 CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节&#xff0c;使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层…

Milvus与Zilliz Cloud:向量数据库高可用性的双重飞跃

向量数据库高可用性的重要性及其在现代数据分析中的关键作用 在数据爆炸式增长的今天,企业对于高效、准确地处理和分析大规模数据集的需求日益迫切。尤其是在人工智能、机器学习、图像识别、自然语言处理等领域,向量数据库因其对高维数据的高效存储与检索能力,成为了不可或…

【数据结构算法经典题目刨析(c语言)】括号匹配问题(图文详解)

&#x1f493; 博客主页&#xff1a;C-SDN花园GGbond ⏩ 文章专栏&#xff1a;数据结构经典题目刨析(c语言) 目录 一、题目描述 二、解题思路 三、代码实现 一、题目描述 二、解题思路 问题要求将三种类型括号匹配&#xff0c;其中包括顺序匹配和数量匹配 使用栈的后进先…

Linux压缩命令:zip命令详解

目录 一、概述 二、术语 三、基本语法 1、语法 2、常用选项 四、选项和示例 1. -r - 递归压缩目录及其子目录。 2. -j - 只加入文件而不保留目录结构。 3. -m - 压缩后从文件系统中删除原文件。 4. -u - 更新已存在的 ZIP 文件中的文件。 5. -q - 静默模式&#xff…

C语言指针(2)

今天我们接着前两天的内容继续讲解 一、数组名的理解 1、&arr[0]与arr 有时候我们需要获取数组首元素&#xff0c;有两种方法可以获取。 使用这两种方法都可以获得数组首元素&arr[0]&#xff0c;arr。 int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10};printf(&…

Ubuntu安装nvidia-docker并使用的正确方式

Ubuntu安装docker: ubuntu(24.04)以及WSL2安装docker的详细教程_unbantu安装docker-CSDN博客文章浏览阅读646次,点赞5次,收藏3次。默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。…