当前位置: 首页 > news >正文

【Java版oj 】 day17杨辉三角形的变形、计算某字符出现次数

目录

 一、杨辉三角形的变形

(1)原题再现

(2)问题分析

(3)完整代码

二、计算某字符出现次数

(1)原题再现

(2)问题分析

(3)完整代码


 一、杨辉三角形的变形

(1)原题再现

杨辉三角的变形_牛客题霸_牛客网

描述

        以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。

        求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。

输入描述:

输入一个int整数

输出描述:

输出返回的int值

示例1

输入:

4

输出:

3

(2)问题分析

       本题第一次写的时候可能会被误解,以为要写出杨辉三角形求解,这是一个方法,但是会超出时间限制。其实这套题本质上是一道数学找规律题,我们多列出几行三角矩阵,观察出现第一个偶数的下标,不难发现第一二行是没有偶数的,从第三行往后开始偶数出现的下标按照2,3,2,4的规律。

        最后我也会附上一个构建杨辉三角形的求解方法。

(3)完整代码

import java.util.*;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner (System.in);int n = sc.nextInt();if (n == 1 || n == 2) {System.out.println(-1);}  else if (n % 4 == 0) {System.out.println(3);} else if (n % 4 == 2) {System.out.println(4);} else {System.out.println(2);}}
}

构建杨辉三角形

public static void main(String[] args) {Scanner sc=new Scanner (System.in);int n=sc.nextInt();int bino[][]=new int [n][2*n-1];createBion(bino, n);int i=0;for(i=0;i<2*n-1;i++) {if(bino[n-1][i]%2==0) {System.out.println(i+1);break;}}if(i==2*n-1) {System.out.println(-1);}}public static void createBion(int [][]bino,int n) {int row=n;int col=2*n-1;for (int i = 0; i <row; i++) {for (int j = 0; j <col; j++) {if(j==n-i-1) {bino[i][j]=1;}if(j==n+i-1) {bino[i][j]=1;}				}	}for (int i = 1; i <row; i++) {for (int j = 0; j <col; j++) {if(j>n-i-1&&j<n+i-1) {bino[i][j]=bino[i-1][j-1]+bino[i-1][j]+bino[i-1][j+1];}			}	}	

二、计算某字符出现次数

(1)原题再现

计算某字符出现次数_牛客题霸_牛客网

描述

        写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

输入描述:

        第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述:

输出输入字符串中含有该字符的个数。(不区分大小写字母)

示例1

输入:

ABCabc

A

输出:

2

(2)问题分析

        很显然我们可以使用一个map容器将出现的字符(不区分大小写)作为key关键词,将某个字符出现的次数作为value值。

        核心部分:如果map集合里曾经没有出现过,就将该字符加入集合中,值为1。如果曾经出现过,就在原来的值上加1。最后分情况讨论一下,区分字母和数字。字母查找两次,大写加小写,数字和其他字符大小写是一样的,只要加一次就够了。当然可以在一开始的时候,就进行大小写转换,那被查找的字符也要进行大小写转换。我这里写的可能有点复杂了

     

(3)完整代码

import java.util.*;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.nextLine();String c = sc.nextLine();Map <Character, Integer> map = new HashMap<>();int count = 1;for (int i = 0; i < str.length(); i++) {if (!map.containsKey(str.charAt(i))) {count = 1;map.put(str.charAt(i), count);} else {count = map.get(str.charAt(i));map.put(str.charAt(i), count + 1);}}char samllC = c.toLowerCase().charAt(0);char bigC = c.toUpperCase().charAt(0);int ans = 0;if (map.containsKey(samllC) && map.containsKey(bigC)) {if (samllC >= '0' && samllC <= '9') {ans = map.get(samllC);} else {ans = map.get(samllC) + map.get(bigC);}System.out.println(ans);} else if (map.containsKey(samllC) && !map.containsKey(bigC)) {ans = map.get(samllC);System.out.println(ans);} else if (!map.containsKey(samllC) && map.containsKey(bigC)) {ans = map.get(bigC);System.out.println(ans);} else {System.out.println(0);}}
}


​​

相关文章:

【Java版oj 】 day17杨辉三角形的变形、计算某字符出现次数

目录 一、杨辉三角形的变形 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、计算某字符出现次数 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代…...

智能驾驶芯片赛道混战:如何看待5类玩家的竞争格局?

智能驾驶芯片赛道&#xff0c;一直是业内关注的焦点。 高工智能汽车注意到&#xff0c;针对L0-L2&#xff0c;业内基本采用智能前视一体机&#xff08;IFC&#xff09;方案&#xff1b;要实现高速NOA、城市NOA等更为高阶的智驾功能等&#xff0c;则基本采用域控制器方案。从IF…...

vue antd table表格的增删改查(三)input输入框根据关键字模糊查询【后台管理系统 使用filter与indexOf嵌套】

vue antd table表格的增删改查&#xff08;三&#xff09;input输入框根据关键字查询【后台管理系统filter与indexOf嵌套】知识回调场景复现利用filter和indexOf方法实现模糊查询1.查询对象为单层的数组元素2.查询对象为多层的数组元素&#xff08;两层为例&#xff09;3.查询对…...

【计组】性能指标——速度

衡量计算机性能的指标之一——速度&#xff0c;是指计算机执行完所有指令所耗费时间的长短。 一、概念&#xff1a; 引出了如下概念&#xff1a;机器字长&#xff1a;指计算机一次能处理的二进制位数&#xff0c;也就是我们通常说的32位64位计算机中的位。 机器字长决定了计算…...

【PC自动化测试-4】inspect.exe 详解

1&#xff0c;inspect.exe图解" 检查 "窗口有几个主要部分&#xff1a;● 标题栏。 显示" 检查 HWND (窗口句柄) 。● 菜单栏。 提供对 检查功能 的访问权限。● 工具 栏。 提供对 检查功能 的访问权限。● 树视图。 将 UI 元素的层次结构呈现为树视图控件&…...

比肩ChatGPT的国产AI:文心一言——有话说

&#x1f517; 运行环境&#xff1a;chatGPT&#xff0c;文心一言 &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&am…...

【第13届蓝桥杯】C/C++组B组省赛题目+详解

A.九进制转十进制 题目描述 九进制正整数(2022)9转换成十进制等于多少&#xff1f; 解&#xff1a; 2*9^02*9^12*9^321814581478; B.顺子日期 题目描述 小明特别喜欢顺子。顺子指的就是连续的三个数字&#xff1a;123、456等。顺子日期指的就是在日期的yyyymmdd表示法中&a…...

STM32 KEI 调试新手注意事项

记录一下解决问题的经过:1&#xff0c;用STM32 cubeMX 生成的MKD工程,默认的代码优化级别是level3 &#xff0c; 这个级别 会把一些代码给优化掉&#xff0c;造成一些意想不到的结果&#xff0c;最直观的就是 被优化的语句不能打断点调试&#xff0c;当你打了断点 &#xff0c;…...

Windows权限提升—令牌窃取、UAC提权、进程注入等提权

Windows权限提升—令牌窃取、UNC提权、进程注入等提权1. 前言2. at本地命令提权2.1. 适用范围2.2. 命令使用2.3. 操作步骤2.3.1. 模拟提权2.3.2. at配合msf提权2.3.2.1. 生成木马文件2.3.2.2. 设置监听2.3.2.3. 设置反弹2.3.2.4. 查看反弹效果3. sc本地命令提权3.1. 适用范围3.…...

不做孔乙己也不做骆驼祥子

对教书育人的探讨前言一、为什么要“育人”1.育人为先2.育人是快乐的二、怎么“育人”前言 借着本次师德师风建设的主题&#xff0c;跟各位老师谈一谈对于“育人”的一些观点&#xff0c;和教育的一些看法。本文仅代表自己的观点&#xff0c;有不到位的地方&#xff0c;大家可以…...

ChatGPT原理解析

文章目录Transformer模型结构构成组件整体流程GPT预训练微调模型GPT2GPT3局限性GPT4相关论文Transformer Transformer&#xff0c;这是一种仅依赖于注意力机制而不使用循环或卷积的简单模型&#xff0c;它简单而有效&#xff0c;并且在性能方面表现出色。 在时序模型中&#…...

常用算法实现【必会】:sort/bfs/dfs

文章目录常用排序算法实现&#xff08;Go版本&#xff09;BFS 广度优先遍历&#xff0c;利用queueDFS 深度优先遍历&#xff0c;利用stack前序遍历&#xff08;根 左 右&#xff09;中序遍历&#xff08;左根右&#xff09;后序遍历&#xff08;左 右 根&#xff09;BFS/DFS 总…...

瑟瑟发抖吧——用了这款软件,我的开发效率提升了50%

一、前言 开发中&#xff0c;一直听到有人讨论是否需要重复造轮子&#xff0c;我觉得有能力的人&#xff0c;轮子得造。但是往往开发周期短&#xff0c;用轮子所节省的时间去更好的理解业务&#xff0c;应用到业务中&#xff0c;也能清晰发现轮子的利弊&#xff0c;一定意义上…...

笔记本只使用Linux是什么体验?

个人主页&#xff1a;董哥聊技术我是董哥&#xff0c;嵌入式领域新星创作者创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01;近期&#xff0c;也有朋友问我&#xff0c;笔记本只安装Linux怎么样&#xff0c;刚好我也借此来表达一下我的感受…...

pipeline业务发布

业务环境介绍公司当前业务上线流程首先是通过nginx灰度&#xff0c;dubbo-admin操作禁用&#xff0c;然后发布上线主机&#xff0c;发布成功后&#xff0c;dubbo-admin启用&#xff0c;nginx启用主机&#xff1b;之前是通过手动操作&#xff0c;很不方便&#xff0c;本次优化为…...

【巨人的肩膀】JAVA面试总结(七)

&#x1f4aa;MyBatis 1、谈谈你对MyBatis的理解 Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;加载驱动、创建连接、创建statement等繁杂的过程&#xff0c;开发者开发时只需要关注如何编写SQL语句&#xff0c;可以…...

Python满屏表白代码

目录 前言 爱心界面 无限弹窗 前言 人生苦短&#xff0c;我用Python&#xff01;又是新的一周啦&#xff0c;本期博主给大家带来了一个全新的作品&#xff1a;满屏表白代码&#xff0c;无限弹窗版&#xff01;快快收藏起来送给她吧~ 爱心界面 def Heart(): roottk.Tk…...

Spring学习流程介绍

Spring学习流程介绍 Spring技术是JavaEE开发必备技能&#xff0c;企业开发技术选型命中率>90%; Spring有下面两大优势: 简化开发: 降低企业级开发的复杂性 框架整合: 高效整合其他技术&#xff0c;提高企业级应用开发与运行效率 Spring官网: https://spring.io/ Spring发展…...

杭银消金基于 Apache Doris 的统一数据查询网关改造

导读&#xff1a; 随着业务量快速增长&#xff0c;数据规模的不断扩大&#xff0c;杭银消金早期的大数据平台在应对实时性更强、复杂度更高的的业务需求时存在瓶颈。为了更好的应对未来的数据规模增长&#xff0c;杭银消金于 2022 年 10 月正式引入 Apache Doris 1.2 对现有的风…...

Flink学习笔记(六)Time详解

一、Flink中Time的三种类型&#xff1a; Stream数据中的Time&#xff08;时间&#xff09;分为以下3种&#xff1a; 1.Event Time&#xff08;事件产生的时间&#xff09;&#xff1a; 事件的时间戳&#xff0c;通常是生成事件的时间。Event time 是事件本身的时间&#xff0c…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中&#xff0c;提供了一系列静态方法用于操作数组&#xff08;如排序、搜索、填充、比较等&#xff09;。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序&#xff08;sort&#xff09; 对数组进行升序…...