【Java笔试强训】Day3(OR59 字符串中找出连续最长的数字串、JZ39 数组中出现次数超过一半的数字)

news2024/11/24 13:21:48

OR59 字符串中找出连续最长的数字串

链接:OR59 字符串中找出连续最长的数字串

题目:

读入一个字符串str,输出字符串str中的连续最长的数字串
在这里插入图片描述

题目分析:

在这里插入图片描述
在这里插入图片描述

代码实现:

package Day3;

import java.util.Scanner;

public class Day3_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        String ret = "";
        String cur = "";
        int i = 0;
        for (; i < str.length(); i++) {
            char ch = str.charAt(i);
            if (ch >= '0' && ch <= '9') {
                cur = cur + ch + "";
            }else {
                if (ret.length() < cur.length()) {
                    ret = cur;
                }
                cur = "";
            }
        }
        //处理123abc123456这种情况
        if(i == str.length() && ret.length()< cur.length()) {
            ret = cur;
        }
        System.out.printf(ret);
    }
}

JZ39 数组中出现次数超过一半的数字

链接:JZ39 数组中出现次数超过一半的数字

题目:

给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。

在这里插入图片描述

题目分析:

注意!!:数组排序后,如果符合条件的数存在,则一定是数组中间那个数。这种方法虽然容易理解,但由于涉及到快排sort,其时间复杂度为O(NlogN),不符合题目要求,并非最优,所以我们不使用

我们使用另一种方法:
首先,出现次数超过数组长度一半的那个数字我们称为众数
我们可以这样做:如果两个数不相等,就消去这两个数,最坏情况下,每次消去一个众数和一个非众数,由于众数的个数超过了一半即比非众数多,那么如果存在众数,最后留下的数肯定是众数。

代码实现:

package Day3;

public class Day3_2 {
    public int MoreThanHalfNum_Solution (int[] array) {
        if (array == null || array.length == 0) {
            return 0;
        }
        int result = array[0];//我们要的众数
        int times = 1; // 次数
        for(int i=1;i<array.length;++i){
            if(times != 0){
                if(array[i] == result) {
                    ++times; // 相同则加1

                }else{
                    --times; // 不同则减1

                }
            }
            else {
                // 更新result的值为当前元素,并置次数为1

                result = array[i];
                times = 1;
            }
        }
        // 判断result是否符合条件,即出现次数大于数组长度的一半

        times = 0;
        for(int i=0;i<array.length;++i){
            if(array[i] == result) ++times;
        }

        return (times > array.length/2) ? result : 0;
    }
}

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

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

相关文章

k8s 使用ingress-nginx访问集群内部应用

k8s搭建和部署应用完成后&#xff0c;可以通过NodePort&#xff0c;Loadbalancer&#xff0c;Ingress方式将应用端口暴露到集群外部&#xff0c;提供外部访问。 缺点&#xff1a; NodePort占用端口&#xff0c;大量暴露端口非常不安全&#xff0c;并且有端口数量限制【不推荐】…

纺织ERP系统哪家的比较好?适用的纺织ERP软件有哪些

服装纺织是比较常见的行业&#xff0c;也是和我们生活关联比较密切的领域。不同的原材料有差异化的采购流程和生产工序&#xff0c;如何实时掌握库存数据和车间产能负荷&#xff0c;合理制定生产排期&#xff0c;关系到企业的生产效率和经营成本。 纺织ERP系统是针对性开发的智…

2023年中国汽车铸造模具竞争现状及行业市场规模前景分析[图]

铸造是将熔融金属填充入铸型内&#xff0c;经冷却凝固而获得所需形状和性能的零部件或毛坯的制作过程&#xff0c;铸造工艺中使用的模具被称为铸造模具&#xff0c;根据铸型的材质分为砂型铸造模具和金属型铸造模具等&#xff1b;金属型铸造模具根据压力不同可分为重力铸造模具…

【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]

阅读导航 前言一、unordered系列容器二、unordered_map1. unordered_map简介⭕函数特点 2. unordered_map接口- 构造函数- unordered_map的容量- unordered_map的迭代器- unordered_map的元素访问- unordered_map的修改操作- unordered_map的桶操作 三、unordered_set1. unorde…

自学系列之小游戏---贪吃蛇(vue3+ts+vite+element-plus+sass)(module.scss + tsx)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、逻辑设计分析二、代码实现1.TS interface2.javascript3.页面样式&#xff08;Sass&#xff09; 三、截图展示四、总结 前言 主要技术如下&#xff1a;vue3…

微信h5支付配置,商家存在未配置的参数,请联系商家解决

对于PC端来说&#xff0c;只需要开通 native支付 就可以了 但手机端h5还需要配置支付域名&#xff0c;并且域名只需要配置一级就可以了&#xff0c;比如&#xff1a;a.test.com, b.test.com, 只需要配置 test.com 就能满足所有的二级域名了, 而不需要配置a.test.com或者b.te…

nmp、yarn、yeoman、bower是什么东西?

1&#xff1a;npm&#xff08;Node Package Manager&#xff09;&#xff1a;npm 是 Node.js 的包管理器&#xff0c;用于安装、管理和共享 JavaScript 包。它是 JavaScript 生态系统中最常用的包管理工具&#xff0c;可以轻松地安装和管理项目的依赖项。 2&#xff1a;Yarn&a…

远程桌面无法复制粘贴文件

本地通过mstsc连接到远程说面后&#xff0c;无法把本地文件复制到远程桌面上或者远程桌面的文件无法复制到本地机器修改。 思路:重启rdpclip服务 1、远程说面打开任务管理器 查看到rdpclip.exe程序&#xff0c;如果存在就关闭掉&#xff0c;不存在就跳过 2、winR打开运行&am…

2023 年 12 款最佳免费 PDF 阅读器

12 大最佳免费 PDF 阅读器 PDF 阅读器是一种可以打开 PDF 文件的软件&#xff0c;PDF 文件可能是最流行的文档格式。尽管 PDF 文件已经存在超过 25 年&#xff0c;但它仍然是 Internet 上文档的主要格式。但是&#xff0c;要打开此类文档&#xff0c;您必须在计算机上下载指定…

逐秒追加带序号输入当前时间:fgets fputs sprintf fprintf

//向某文件中逐秒追加带序号输入当前时间 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> #include <unistd.h> int main(int argc, char const *argv[]) { time_t tv; // time(&tv);//法1:获取秒数 …

css flex实现同行div根据内容高度自适应且保持一致

有情况如下&#xff1a;三个div的高度是随着内容自适应的&#xff0c;但希望每列的高度都相同&#xff0c;即&#xff0c;都与最高的相同。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewp…

同为科技(TOWE)机架PDU产品在IDC数据中心机房建设中的应用

当今社会互联网发展迅速&#xff0c; 随着带宽需求的提升&#xff0c; 网络的保密性、安全性的要求就越来越迫切。PDU(Power Distribution Unit) 是 PDU具备电源分配和管理功能的电源分配管理器。PDU电源插座是多有设备运行的第一道也是最为密切的部件&#xff0c; PDU的好坏直…

VS Code里使用Debugger for Unity插件进行调试(2023最新版)

vs Code因为免费启动&#xff08;飓快&#xff09;的原因&#xff0c;已经成为事实的第一首选的IDE了 比sublime还快很多很多&#xff0c;其他特性包括但不限于&#xff1a; 最直接的github拉取&#xff0c;提交管理插件管理支持各种语言的识别代码分屏 是毫无疑问的第一编程…

跨境商城源码可以支持多店铺管理模式吗?

跨境商城源码是一种用于搭建跨境电商平台的模板或框架。它为开发者提供了一套完整的程序代码&#xff0c;可快速建立一个功能齐备的跨境商城网站。跨境商城源码通常具备商品展示、购物车、支付、订单管理等基础功能&#xff0c;并支持二次开发和定制。 什么是多店铺管理模式? …

忆联SR-IOV解决方案:助力云数据中心节能提效,向“绿”而行

随着AI时代的到来&#xff0c;云数据中心如何实现节能提效正成为热门话题。其中&#xff0c;SR-IOV技术凭借灵活度高以及可节约虚拟化业务算力等优势&#xff0c;是打造绿色低碳云数据中心的重要解决方案之一。 一、什么是SR-IOV 技术 SR-IOV 是由国际组织 PCI-SIG 组织定义的…

AQS是什么?AbstractQueuedSynchronizer之AQS原理及源码深度分析

文章目录 一、AQS概述1、什么是AQS2、技术解释3、基本原理4、AQS为什么这么重要 二、AQS数据结构1、AQS的结构2、ReentrantLock与AbstractQueuedSynchronizer3、AQS的state变量4、AQS的队列5、AQS的Node&#xff08;1&#xff09;Node的waitStatus&#xff08;2&#xff09;属性…

UWB工业现场数字化管理

资产管理数字化 器具场内外流转跟踪管理 无动力资产跟踪 大件地堆及成品固定区域盘点 大型资产移动/流动盘点 成品及返修车定位 无人值守人、车、物出入监测 资产移动盘点 安全生产数字化 危险区域人员/物资管理 叉车防碰撞及安全运行管理 行车防碰撞及安全运行管理 …

SLAM从入门到精通(robot上层软件开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们了解到&#xff0c;ros系统基本上都是依赖于ubuntu和linux来运行的。如果ros是只是跑在机器人的系统上面&#xff0c;不涉及到上层交互&am…

LeetCode:1402. 做菜顺序、2316. 统计无向图中无法互相到达点对数

1. 1402 做菜顺序 题目详细为&#xff1a; 一个厨师收集了他 n 道菜的满意程度 satisfaction &#xff0c;这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间&#xff08;包含之前每道菜所花费的时间&#xff09;乘以这道菜…

外汇天眼:本周无牌裸奔平台名单出炉,你踩“坑”了么?!!

监管信息早知道&#xff01;外汇天眼将每周定期公布监管牌照状态发生变化的交易商&#xff0c;以供投资者参考&#xff0c;规避投资风险。如果平台天眼评分过高&#xff0c;建议投资者谨慎选择&#xff0c;因为在外汇天眼评分高不代表平台没问题&#xff01; 以下是监管牌照发生…