笔试狂刷--Day3

大家好,我是LvZi,今天带来笔试狂刷--Day3
在这里插入图片描述

一.牛牛的快递

1.题目链接:牛牛的快递
在这里插入图片描述

2.分析:

简单的模拟

3.代码实现:

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);double a = in.nextDouble();char b = in.next().charAt(0);// next的返回值是stringint ret = 0;if(a <= 1) ret = 20;else {ret = (int)Math.ceil(a - 1) + 20;// 向上取整  ceil天花板// floor是向下取整  地板}if(b == 'y') ret += 5;System.out.println(ret);}
}

总结:

  1. 通过Scanner读取时,只能一次读取一个字符串,不能读取单独的字符,使用in.next().charAt(0)来读取字符
  2. 向上取整 ceil天花板; floor是向下取整 地板

二.最⼩花费爬楼梯

1.题目链接:最⼩花费爬楼梯
在这里插入图片描述

2.分析:

简单的线性dp

3.代码实现:

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int[] cost = new int[n + 1];for(int i = 0; i < n; i++) cost[i] = in.nextInt();int[] dp = new int[n + 1];dp[0] = cost[0]; dp[1] = cost[1];for(int i = 2; i <= n; i++) {dp[i] = Math.min(dp[i - 1], dp[i - 2]) + cost[i];}System.out.println(dp[n]);}
}

三.数组中两个字符串的最⼩距离

1.题目链接:数组中两个字符串的最⼩距离
在这里插入图片描述
2.分析:

// 最容易想到的解题思路是暴力解法 固定一个位置,然后从前往后遍历第二个字符即可 时间复杂度为O(N^2)会超时
// 耗费时间最多的地方在于每次都要从当前字符的下一个位置遍历,实际上完成了两次对数组的遍历–想办法通过一次遍历就能得到结果
// 要完成的工作其实也很简单–遇到str1,就找左边离得最近的str2;遇到str2,就找左边离得最近的str1;
// 实际上我们只需要两个变量去标记离当前位置最近的str1和str2的下标即可
// 如何保证呢?只要是从左往右遍历就能保证存储的是最近的下标
// 这种优化方式也叫做预处理思想

代码实现:

public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();String s1 = in.next(), s2 = in.next();if(s1 == null || s2 == null) System.out.print(-1);String[] s = new String[n];for(int i = 0; i < n; i++) s[i] = in.next();// 使用两个变量进行预处理int len = 0x3f3f3f3f, prev1 = -1, prev2 = -1;for(int i = 0; i < n; i++) {String tmp = s[i];if(tmp.equals(s1)) {// 等于第一个字符prev1 = i;// 更新下标if(prev2 != -1) len = Math.min(len, prev1 - prev2);// 更新结果}else if(tmp.equals(s2)) {prev2 = i;if(prev1 != -1) len = Math.min(len, prev2 - prev1);}}System.out.print(len == 0x3f3f3f3f ? -1 : len);}
}

总结:

    • prev1:离当前位置最近的(从右往左数)str1的下标
    • prev2:离当前位置最近的(从右往左数)str2的下标
  1. prev1和prev2都初始化为-1,注意在遍历的时候如果其中一个为-1,证明在当前位置之前没有出现过str1/str2,此时就不能更新结果

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

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

相关文章

计算机经典黑皮书分享

计算机经典黑皮书是一套计算机科学丛书&#xff0c;其中包含了多本计算机科学领域的经典教材 提供了全面的知识体系&#xff1a;黑皮书涵盖了计算机科学的多个领域&#xff0c;如计算机组成与设计、操作系统、数据库、人工智能等。它们深入浅出地介绍了相关领域的基本概念、原…

HTTP/HTTPS详解

HTTP/HTTPS详解 1. HTTP1.1 HTTP基础知识1.2 HTTP建立和断开连接 2. HTTPS 1. HTTP 1.1 HTTP基础知识 HTTP是互联网上应用最为广泛的一种网络协议&#xff0c;是一个客户端和服务器端请求和应答的标准&#xff08;TCP&#xff09;&#xff0c;用 于从WWW服务器传输超文本到本…

C++学习————第八天(C/C++内存管理)

目录 1、1.C/C内存分布 2、 C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 3、C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 4.operator new与operator delete函数 5. new和delete的实现原理 5.1 内置类型 5.2 自定…

【QT学习】8.qt事件处理机制,事件过滤器,自定义事件

1.qt事件处理机制 事件处理&#xff1a; 当用户移动鼠标的时候 &#xff0c;创建一个 鼠标移动事件对象 然后把这个对象放到 事件队列里面去&#xff0c;事件管理器 从队列中 取出事件&#xff0c;然后 调用其对应的事件处理函数。 多态机制&#xff1a; &#x…

【xhs爬虫软件】把小红书评论comment接口封装成GUI采集工具!

用Python开发爬虫采集软件&#xff0c;可自动抓取小红书评论数据&#xff0c;并且含二级评论。 小红书的评论接口URL是&#xff1a; https://edith.xiaohongshu.com/api/sns/web/v2/comment/page 开发者模式分析过程&#xff1a; 进而封装成GUI界面软件&#xff0c;如下&…

17.基础乐理-调式、自然大调式(C大调、D大调。。。)

调式&#xff1a; 若干个音&#xff0c;按照某种规则排列起来&#xff0c;就是调式&#xff0c;调式是一个非常大&#xff0c;非常抽象的概念&#xff0c;调式这两个字是一个统称&#xff0c;当明确了 若干个音 到底有几个音&#xff0c;某种规则到底是什么规则之后&#xff0c…

【精】Devops实战学习CI/CD落地方案#CI篇#

目录 先有个大概了解 基本概念 CI/CD Devops 阿里云效 devops产品 K8s jenkins docker git maven 知行合一&#xff0c;上手操作 实操记录 安装VMware 安装并配置虚拟机 安装并配置docker docker安装 修改镜像源&#xff08;关键且易出错&#xff09; CentOS…

Spring Security 入门篇(一)-- 简介

引言 Spring Security 官方文档 https://spring.io/projects/spring-security Spring Security 中文文档 &#xff1a; https://springdoc.cn/spring-security/ Spring Cloud 中文文档 https://www.springcloud.cc/spring-security.html#overall-architecture 一、简介 1. 什…

poll实现echo服务器的并发

poll实现echo服务器的并发 代码实现 #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <stdlib.h> #include <arpa/inet.h> #include <sys/time.h> #include <unistd.h> #…

@CrossOrigin的使用

CrossOrigin的使用 1.使用场景2.用法3.示例3.1 标注在方法上3.2 标注在类上 3.属性配置 1.使用场景 前后端分离应用&#xff1a;当前端应用和后端服务部署在不同的域或端口上时&#xff0c;前端应用尝试向后端服务发起请求时&#xff0c;可能会遇到同源策略的限制。这时&#…

python开发应该具备哪些能力

Python开发能力涵盖了多个方面&#xff0c;这些能力不仅涉及Python语言本身&#xff0c;还包括与Python开发相关的技术栈、工具和方法论。以下是一些关键的Python开发能力&#xff1a; Python语言基础&#xff1a; 熟练掌握Python的语法和核心特性&#xff0c;如变量、数据类型…

常用命令合集

设置永久清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleDocker dockerfile FROM nvidia/cuda:11.8.0-devel-ubuntu20.04RUN rm -rf /var/lib/apt/lists/* RUN apt-get clean RUN apt update RUN apt upgrade -yRUN apt install vim -yRU…

【JAVA】实现只有一个窗口弹出的底层逻辑——单身模式

目录 背景说明 代码实现 手写笔记 背景说明 有的时候&#xff0c;当你点击一个选项时会弹出来多个窗口&#xff0c;而有的时候只会弹出一个。 实际上&#xff0c;弹出多个窗口就是创建了多个相同的对象&#xff0c;而只弹出一个就是我们今天即将分享的单身模式——一个类只产生…

【Python】使用Python计算简单数值积分

题外话&#xff0c;Python语言命名的来源&#xff1a;&#xff08;见下图&#xff09;Monty Python巨蟒剧团 1、积分题目&#xff08;3&#xff09; 2、解析解答 3、Python计算代码 import math import scipy.integrate as integrate# 积分区间 # x_min 0.0 # 1 # x_min …

润石科技(RUNIC)汽车电子应用方案和物料选型

一、润石科技&#xff08;RUNIC&#xff09;简介 江苏润石科技有限公司是一家专注于高性能、高品质模拟/混合信号集成电路研发和销售的高科技半导体设计公司。公司主要产品线分为两类&#xff1a;信号链和电源管理&#xff0c;其中信号链包含运算放大器、比较器、模拟开关、数…

PotCSS 概述

PotCSS 并不是一个广泛认知的术语或者一个特定的技术&#xff0c;至少在提供的搜索结果中没有直接提到 PotCSS 的相关信息。因此&#xff0c;无法提供关于 PotCSS 的背景渊源介绍。 然而&#xff0c;如果你指的是 PostCSS&#xff0c;那么可以提供一些关于它的背景信息。PostC…

王者荣耀防御塔如何开发!新手小白做游戏开发采坑经过。phaser前端游戏框架

好嘞&#xff0c;游戏开发框架是js 开发的网页小游戏&#xff01; phaser这个框架。好我们先上图&#xff01; 目前大概是这么一个样子。 然后防御塔功能呢。简单的说就是当人物进去的时候打他。人物扣血。 我们的小人物是这样的代码 遇到的问题如下&#xff1b; 小白刚开始…

C++从入门到精通——模板

模板 前言一、泛型编程二、函数模板函数模板的概念函数模板格式示例 函数模板的原理函数模板的实例化隐式实例化显式实例化示例 auto做模板函数的返回值模板参数的匹配原则总结 三、类模板类模板的定义格式类模板的实例化 前言 C模板是C语言中的一种泛型编程技术&#xff0c;可…

centos 7.9 安装 ftp 传输文件

ftp server 端 sudo yum install vsftpd ftp其中 vsftpd 为 ftp server 端&#xff0c;ftp 包含 ftp 这个客户端命令。 # sudo rpm -ql vsftpd/etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf /…

若依学习记录

1.克隆我的gitee项目地址 https://gitee.com/xuge520/ruo-yi-vue-master.git 2.前期工作&#xff08;注意&#xff1a;我的Mysql使用的是3308端口&#xff0c;数据库名是ry-vue&#xff09; 使用若依框架RuoYi前后端分离版(超详细步骤)-CSDN博客 3.使用若依代码生成 若依代…