当前位置: 首页 > 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…...

「Vue面试题」在项目中你是如何解决跨域的?

文章目录一、跨域是什么二、如何解决CORSProxy一、跨域是什么 跨域本质是浏览器基于同源策略的一种安全手段 同源策略&#xff08;Sameoriginpolicy&#xff09;&#xff0c;是一种约定&#xff0c;它是浏览器最核心也最基本的安全功能 所谓同源&#xff08;即指在同一个域&…...

java八股文--数据库

数据库1.索引的基本原理2.聚簇和非聚簇索引的区别3.mysql索引的数据结构以及各自的优劣4.索引的设计原则5.事务的基本特性和隔离级别6.mysql主从同步原理7.简述MyISAM和InnoDB的区别8.简述mysql中索引类型及对数据库性能的影响9.Explain语句结果中各个字段分别表示什么10.索引覆…...

vue中名词解释

No名称略写作用应用场景其他1 单页面应用 &#xff08;Single-page application&#xff09; SPA 1&#xff0c;控制整个页面 2&#xff0c;抓取更新数据 3&#xff0c;无需加载&#xff0c;进行页面切换 丰富的交互&#xff0c;复杂的业务逻辑的web前端一般要求后端提供api数据…...

基于Java+SSM+Vue的旅游资源网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】

博主介绍&#xff1a;专注于Java技术领域和毕业项目实战 &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案例&#xff08;200套&#xff09; 目录 一、效果演示 二、…...

用于人工智能研究的开源Python微电网模拟器pymgrid(入门篇)

pymgrid是一个开源Python库&#xff0c;用于模拟微型电网的三级控制&#xff0c;允许用户创建或自行选择的微电网。并可以使用自定义的算法或pymgrid中包含的控制算法之一来控制这些微电网&#xff08;基于规则的控制和模型预测控制&#xff09;。 pymgrid还提供了与OpenAI Gy…...

运算放大器:电压比较器、电压跟随器、同相比例放大器

目录一、单限电压比较器二、滞回电压比较器三、窗口电压比较器四、正点原子直流电机驱动器电路分析实战1、电压采集电路2、电流采集电路3、过流检测电路Ⅰ、采用分压后的输入电压&#xff1a;Ⅱ、采用理想电压源的输入电压&#xff1a;Ⅲ、同相输入电压采用的是非理想电压源&am…...

Vector - CAPL - 实时时间on *(续2)

继续继续。。。四、键盘事件这个键盘事件是我个人起的名字&#xff0c;为了方便与其他事件进行区分&#xff0c;为什么要把这一个单独拉出来说呢&#xff0c;因为它的用处实在是太广泛了&#xff0c;基本只要是使用CANoe做一些基本的自动化测试小工具&#xff0c;都会用到它&am…...

数据质量管理的四个阶段

然而&#xff0c;我们需要按照什么流程来对数据质量进行有效的管控&#xff0c;从而提升数据质量&#xff0c;释放数据价值&#xff1f;一般来讲&#xff0c;数据质量控制流程分为4个阶段&#xff1a;启动、执行、检查、处理。在管控过程中这4个阶段需不断循环&#xff0c;螺旋…...

Spring源码面试最难问题——循环依赖

前言 问&#xff1a;Spring 如何解决循环依赖&#xff1f; 答&#xff1a;Spring 通过提前曝光机制&#xff0c;利用三级缓存解决循环依赖&#xff08;这原理还是挺简单的&#xff0c;参考&#xff1a;三级缓存、图解循环依赖原理&#xff09; 再问&#xff1a;Spring 通过提前…...

【计组】RAM的深入理解

一、存储机理 RAM的实现逻辑有种&#xff0c;分别是触发器和电容。 SRAM&#xff08;Static&#xff09;DRAM&#xff08;Dynamic&#xff09;存储方式触发器电容破坏性读出否&#xff08;触发器具有稳态&#xff0c;能够锁住0或1两种状态&#xff09;是&#xff08;电容需要…...

如何建立网站自己做站长/网站提交入口大全

软件测试是确保软件质量的可靠手段&#xff0c;是软件开发过程中必不可少的重要环节。本文提出了面向复用的测试用例设计过程&#xff0c;为测试用例复用提供了实现策略。测试用例的复用对于缩短软件开发周期和降低软件开发成本具有极其重要的意义。 1、引言 随着软件工程领域的…...

网站要怎样建设/百度导航官网

MyBatis可谓是Java开发工程师必须要掌握的持久层框架&#xff0c;它能够让我们更容易的通过Java代码操作数据库&#xff0c;并且它还有很高的扩展性&#xff0c;我们可以自定义插件&#xff0c;去让MyBatis的功能变的更为强大&#xff0c;本篇文章我们就以打印SQL&#xff0c;S…...

java web网站开发教程/免费自助建站模板

19 高级特征 我们将在这一章学习更多高级功能 19.4 高级函数和闭包 让我们来探索有关于函数和闭包的高级功能&#xff1a;函数指针以及返回值闭包 函数指针 除了向函数传递闭包之外&#xff0c;还可以传递函数&#xff0c;使用的是函数指针fn&#xff0c;函数的类型是fn&a…...

网站带支付源码/网站优化排名方法

你好&#xff0c;【程序职场】专注于&#xff1a;Spring Boot &#xff0c;微服务 和 前端APP开发&#xff0c;闲暇之余一起聊聊职场规划&#xff0c;个人成长&#xff0c;还能带你一起探索 副业赚钱渠道&#xff0c;在提升技术的同时我们一起交流 敏捷流程 提高工作效率&#…...

商务网站开发实验报告/谷歌seo新规则

上一节讲了 常微分方程的三种离散化 方法:差商近似导数、数值积分、Taylor 多项式近似。 目录 2 欧拉&#xff08;Euler&#xff09;方法 2.1 向前 Euler 公式、向后 Euler 公式 2.2 Euler 方法的误差估计 3 改进的 Euler 方法 3.1 梯形公式 …...

江都网络建站/就在刚刚武汉宣布最新消息

1.只能选择年份属性设置 转载于:https://www.cnblogs.com/tianhengblogs/p/6253149.html...