Java面试真题日常练习

题目:反转字符串 描述:编写一个函数,输入一个字符串,将其反转并返回结果。 解题思路:可以使用两个指针,一个指向字符串的开头,一个指向字符串的末尾,然后不断交换两个指针所指的字符,直到两个指针相遇。 实现代码:

题目:判断字符串是否为回文串 描述:编写一个函数,判断给定的字符串是否为回文串。回文串是指从前往后和从后往前读都一样的字符串。 解题思路:可以使用两个指针,一个指向字符串的开头,一个指向字符串的末尾,分别向中间移动,并比较对应位置的字符是否相等。 实现代码:

public boolean isPalindrome(String s) {
    int left = 0, right = s.length() - 1;
    while (left < right) {
        if (!Character.isLetterOrDigit(s.charAt(left))) {
            left++;
        } else if (!Character.isLetterOrDigit(s.charAt(right))) {
            right--;
        } else {
            if (Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))) {
                return false;
            }
            left++;
            right--;
        }
    }
    return true;
}

题目:统计字符出现的次数 描述:编写一个函数,输入一个字符串和一个字符,统计该字符在字符串中出现的次数。 解题思路:可以遍历字符串,用一个计数器记录字符出现的次数。 实现代码:

public int countOccurrences(String s, char c) {
    int count = 0;
    for (int i = 0; i < s.length(); i++) {
        if (s.charAt(i) == c) {
            count++;
        }
    }
    return count;
}

题目:找出字符串中的最长单词 描述:编写一个函数,输入一个句子,找出其中的最长单词并返回。假设句子中只包含字母和空格。 解题思路:可以使用split()函数将句子分割成单词,然后遍历所有单词找出最长的一个。 实现代码:

public String longestWord(String sentence) {
    String[] words = sentence.split(" ");
    String longestWord = "";
    for (String word : words) {
        if (word.length() > longestWord.length()) {
            longestWord = word;
        }
    }
    return longestWord;
}

题目:判断两个字符串是否为异位词 描述:给定两个字符串s和t,判断它们是否是相同字母异序词(即字母相同但顺序不同)。 解题思路:可以使用两个数组分别统计s和t中每个字符出现的次数,然后比较两个数组是否相等。 实现代码:

public boolean isAnagram(String s, String t) {
    if (s.length() != t.length()) {
        return false;
    }
    int[] countS = new int[26];
    int[] countT = new int[26];
    for (int i = 0; i < s.length(); i++) {
        countS[s.charAt(i) - 'a']++;
        countT[t.charAt(i) - 'a']++;
    }
    for (int i = 0; i < 26; i++) {
        if (countS[i] != countT[i]) {
            return false;
        }
    }
    return true;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是 UUID,uuid

文章目录 一、是什么二、为什么三、怎么用 标题&#xff1a;深入探讨UUID&#xff1a;全球唯一标识符的秘密 一、是什么 在当今数字化时代&#xff0c;唯一标识符&#xff08;UUID&#xff09;在计算机科学领域扮演着重要的角色。UUID是一种用于标识信息的唯一字符串&#xff0…

探索编程乐趣:绘制螺旋图的奇幻之旅

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;编程的魔法世界 二、绘制螺旋图的准备工作 三、代码实战&#xff1a;…

jetcache缓存

1 介绍 是阿里的双极缓存&#xff0c;jvm-->redis-->数据库 文档&#xff1a;jetcache/docs/CN at master alibaba/jetcache GitHub 2 注意事项 使用的实体类一定实现序列化接口定时刷新注解&#xff0c;慎用 它会为每一个key创建一个定时器 &#xff1a;场景为&…

opencv--形态学(开运算、闭运算、形态学梯度、顶帽、黑帽)

开运算 先腐蚀再膨胀&#xff0c;消除细小点、毛刺、连接点等等情况 闭运算 先膨胀再腐蚀&#xff0c;填充孔洞、增强连接点等等情况&#xff0c;或者大家说的增加明亮度 形态学梯度 使用膨胀的图减去腐蚀的图&#xff0c;简单理解就是二值化后形状膨胀后会使得物体变大&am…

14 vue学习:透传Attributes

Attributes 继承 “透传 attribute”指的是传递给一个组件&#xff0c;却没有被该组件声明为 [props]或 [emits]的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。 当一个组件以单个元素为根作渲染时&#xff0c;透传的 attribute 会自动被添加到根元…

【openlayers系统学习】3.5colormap详解(颜色映射)

五、colormap详解&#xff08;颜色映射&#xff09; ​colormap​ 包是一个很好的实用程序库&#xff0c;用于创建颜色图。该库已作为项目的依赖项添加&#xff08;1.7美化&#xff08;设置style&#xff09;&#xff09;。要导入它&#xff0c;请编辑 main.js​ 以包含以下行…

抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具

抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具 抖音视频去水印保存部分源码&#xff1a; 通过使用Python中的requests、re和os等库&#xff0c;可以编写如下代码来实现抖音视频去水印保存的功能。 短视频爬虫提取手机下载工具的使用方法&#xff1a; 该工具主…

3.1 掌握RDD的创建

在Apache Spark中&#xff0c;RDD&#xff08;Resilient Distributed Dataset&#xff09;是一个基本的、不可变的、分布式的和可分区的数据集。它能够自动进行容错处理&#xff0c;并支持在大规模集群上的并行操作。RDD之间存在依赖关系&#xff0c;可以实现管道化&#xff0c…

2024电工杯B题:大学生平衡膳食食谱的优化设计及评价

大学时代是学知识长身体的重要阶段&#xff0c;同时也是良好饮食习惯形成的重要时期。这一特 定年龄段的年轻人&#xff0c;不仅身体发育需要有充足的能量和各种营养素&#xff0c;而且繁重的脑力劳动和 较大量的体育锻炼也需要消耗大量的能源物质。大学生中饮食结构不合理以及…

服务器监控运维方案,一体化智能观测服务器状态

随着信息技术发展&#xff0c;服务器已经成为支撑各类应用系统的核心基础设施。业务数量的日益增长和稳定运行的高要求&#xff0c;也给服务器的稳定性与可靠性建立了更高的标准。然而&#xff0c;传统的服务器管理方式往往难以发现潜在问题&#xff0c;导致故障预警与处置的滞…

水电集中抄表是什么?

1.定义分析&#xff1a;水电集中抄表 水电集中抄表是一种现代化能源管理体系方法&#xff0c;它利用先进的信息科技&#xff0c;如物联网技术、云计算等&#xff0c;完成对水电表数据的远程智能采集与处理。这种方法改变了传统的人工上门服务抄表方式&#xff0c;提高了效率&a…

Apache Doris 基础(一) -- Getting Started

Apache Doris 开源、实时数据仓库 Apache Doris是一个用于实时分析的现代数据仓库。 它提供大规模闪电般的实时数据分析。 实时获取和存储 在一秒钟内基于推的微批处理和基于拉的流数据获取。实时更新&#xff0c;追加和预聚合的存储引擎闪电般的查询 使用列式存储引擎、MPP架构…

【C语言深度解剖】(14):结构体内存对齐(详细配图讲解)

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《C语言深度解剖》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多C语言深度解剖点击专栏链接查看&…

顶顶通实时质检系统-黑名单拦截功能配置流程

文章目录 前言联系我们配置流程一、黑名单导入二、白名单导入三、外部黑名单四、靓号规则五、创建拦截规则六、拦截条件七、功能配置 拦截记录与统计拦截记录拦截统计 前言 上篇文章讲解了顶顶通实时质检系统黑名单的功能介绍&#xff0c;本篇文章主要讲解顶顶通黑名单拦截功能…

李斌阻击马斯克,也不放过李想

市场唯一不变的就是变化。 当年特斯拉开放专利&#xff0c;引起了国内电动车的创业潮&#xff0c;蔚来比小鹏、理想早几个月成立&#xff0c;也是造车新势力中首家实现交付的品牌。 但时过境迁&#xff0c;现在已经不是蔚来领衔“蔚小理”的时代了&#xff0c;理想是其中销量…

Vue3+ts(day07:pinia)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈&#xff08;笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】&#xff0c;记录一下学习笔记&#xff0c;用于自己复盘&#xff0c;有需要学…

软件开发成本估算 5大注意事项

一般来说&#xff0c;软件开发成本估算分为&#xff1a;软件规模估算、工作量估算、成本估算和确定软件开发成本等四个过程&#xff0c;其估算基本流程如下&#xff1a; 软件开发成本估算流程 为了进一步确保估算的准确性&#xff0c;提高资源规划和分配效率&#xff0c;确保软…

深度学习之基于YoloV5入侵检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显。入侵检测系统&#xff08;IDS&#xff0…

[JAVASE] 类和对象(五) -- 抽象类和接口

目录 一. 抽象类 1.1 抽象类的定义 1.2 抽象类的实现 1.3 抽象类的作用 1.4 抽象类注意事项 二. 接口 2.1 接口的定义 2.2 接口的实现 2.3 接口的作用 2.4 接口注意事项 三. 总结 一. 抽象类 1.1 抽象类的定义 如果一个类中没有包含足够的信息来描绘一个具体的对象, 那么…

两数交换,数组查找奇数个数的数(位运算)

文章目录 一、异或运算&#xff1a;1.1 Demo1.2 面试题 一、异或运算&#xff1a; 1.1 Demo 0和N进行异或运算都等于N 任何一个数和自己异或运算都等于0 且异或运算满足交换率 a^b b^a eg&#xff1a; a 甲 &#xff0c; b 已 那么则有 a a^b ​ b a^b ​ a a^b 故有&am…