LeetCode_Java_转变日期格式、种花问题(题目+思路+代码)

目录

 1507. 转变日期格式

605.种花问题


1507. 转变日期格式

给你一个字符串 date ,它的格式为 Day Month Year ,其中:

  • Day 是集合 {"1st", "2nd", "3rd", "4th", ..., "30th", "31st"} 中的一个元素。
  • Month 是集合 {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} 中的一个元素。
  • Year 的范围在 ​[1900, 2100] 之间。

请你将字符串转变为 YYYY-MM-DD 的格式,其中:

  • YYYY 表示 4 位的年份。
  • MM 表示 2 位的月份。
  • DD 表示 2 位的天数。

示例 1:

输入:date = "20th Oct 2052"
输出:"2052-10-20"

示例 2:

输入:date = "6th Jun 1933"
输出:"1933-06-06"

示例 3:

输入:date = "26th May 1960"
输出:"1960-05-26"

 思路:【例子:"20th Oct 2052"】

        1.首先,创建一个字符串数组,并且采用split()方法将每个字符串提取出来

        2.年份:直接将字符串数组中下标为2的元素包装为Integer即可

           日:由于字符串数组中下标为0的元素包含th,因此摘取一部分再包装为Integer类型

           月份:创建一个方法【采用switch-case】

           最后将年月日格式化为%04d-%02d-%02d --> String.format()

class Solution {public String reformatDate(String date) {String[] str = date.split(" ");int year = Integer.parseInt(str[2]);int month = monthchange(str[1]);int day = Integer.parseInt(str[0].substring(0, str[0].length() - 2)); // -2即减去th// 注意:substring()第二个s小写!!str[0].length()要加括号// 格式化return String.format("%04d-%02d-%02d", year, month, day);}public int monthchange(String month) {switch (month) {case "Jan":return 1;case "Feb":return 2;case "Mar":return 3;case "Apr":return 4;case "May":return 5;case "Jun":return 6;case "Jul":return 7;case "Aug":return 8;case "Sep":return 9;case "Oct":return 10;case "Nov":return 11;case "Dec":return 12;default:return -1;}}
}

605.种花问题

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

给你一个整数数组 flowerbed 表示花坛,由若干 01 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false 。

思路:

        题目要求为每棵树不可相邻

        1.首先需知道一个条件:n>0

        2.在遍历当前的位置时,有三种情况:

        ①当该位置的值为1时,即有树,这个时候我们为了不相邻种树,的值要加2:i+=2

        ②可添加树:当该位置为最后一个元素是,可添加树,且颗数-1,i+2

                (因为在这几种情况中,我们已经保证i跳转到与前一棵树不相邻的位置了,且后面没有元素了,如果有就是以下情况)

                  当该位置的下一个位置的元素值为0时,可添加树,且颗数-1,i+2

                  (这就是在中间可种树的情况,同样,我们已经保证i跳转到与前一棵树不相邻的位置了,再者,当前位置的下一棵树仍为空,因此在此种树不会与下一棵树相邻)

        ③当那个以上情况都不满足时,i就得+3了。如:i=0时 --> 0 1 0

class Solution {public boolean canPlaceFlowers(int[] flowerbed, int n) {for(int i = 0 ; i<flowerbed.length&&n>0;){if(flowerbed[i] == 1){i+=2;}else if(i == flowerbed.length - 1 || flowerbed[i+1] == 0){n--;i+=2;}elsei+=3;}return n == 0; //直接用n是否等于0来返回结果}
}

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

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

相关文章

Qt篇——QTableWidget保存表格数据到Excel文件中

代码如下&#xff1a; &#xff08;pro文件中添加QT axcontainer&#xff09; #include <QAxObject>void MainWindow::saveTableToExcel() {QDateTime current_date_time QDateTime::currentDateTime();QString excelName "data_" current_date_time.toSt…

Mysql 高可用解决方案

1.环境说明 操作系统&#xff1a;centos7.7 主服务器&#xff1a;node2(192.168.1.102) 从服务器&#xff1a;node3(192.168.1.103) keepalived中虚拟ip(VIP):192.168.1.100 2.准备事项 主库和从库数据库的版本一致把主库的数据同步给从库一份 3.主库配置 3.1 编辑MySQL配…

ETL是什么

一、ETL概念 ETL&#xff0c;是英文Extract-Transform-Load的缩写&#xff0c;用来描述将数据从来源端经过抽取&#xff08;extract&#xff09;、转换&#xff08;transform&#xff09;、加载&#xff08;load&#xff09;至目的端的过程。ETL一词较常用在数据仓库&#xff…

Gemma谷歌(google)开源大模型微调实战(fintune gemma-2b)

Gemma-SFT Gemma-SFT(谷歌, Google), gemma-2b/gemma-7b微调(transformers)/LORA(peft)/推理 项目地址 https://github.com/yongzhuo/gemma-sft全部weights要用fp32/tf32, 使用fp16微调十几或几十的步数后大概率lossnan;(即便layer-norm是fp32也不行, LLaMA就没有这个问题, …

2024程序员容器化上云之旅-第2集-Ubuntu-WSL2-Windows11版:接近深洞

故事梗概 Java程序员马意浓在互联网公司维护老旧电商后台系统。 渴望学习新技术的他在工作中无缘Docker。 他开始自学Vue3并使用SpringBoot3完成了一个前后端分离的Web应用系统&#xff0c;并打算将其用Docker容器化后用K8s上云。 3 挑选工具 马意浓画好架构图后&#xff…

安防视频监控平台EasyNVR级联视频上云管理平台EasyNVS,出现报错“i/o deadline reached”该如何解决?

上云网关管理平台EasyNVS视频综合管理系统具备汇聚与管理EasyGBS、EasyNVR等平台的能力&#xff0c;系统可以将接入的视频资源实现视频能力统一输出&#xff0c;并能进行远程可视化运维等管理功能&#xff0c;还能解决设备现场没有固定公网IP却需要在公网直播的需求。 有用户反…

SwiftUI中Toggle与Slider的使用

在SwiftUI中&#xff0c;Toggle和Slider是两个常用的UI控件&#xff0c;可以用来添加开关和滑块功能。 Toggle() Toggle控件用于在打开和关闭之间切换。可以使用Toggle来创建一个简单的开关&#xff0c;代码如下&#xff1a; State private var isOn falsevar body: some V…

牛客前端八股文

1.说说HTML语义化&#xff1f; 得分点&#xff1a;语义化标签、利于页面内容结构化、利于无CSS页面可读、利于SEO、利于代码可读 1&#xff0c;标签语义化是指在开发时尽可能使用有语义的标签&#xff0c;比如header&#xff0c;footer&#xff0c;h&#xff0c;p&#xff0c…

深圳市萨科微半导体有限公司

深圳市萨科微&#xff08;www.slkoric.com&#xff09;半导体有限公司一直研究新材料新工艺&#xff0c;不断推出新产品&#xff0c;驱动公司不断发展。最近萨科微slkor推出SL40T120FL系列IGBT单管&#xff0c;和CMOS运算放大器SLA333等产品&#xff0c;为新能源汽车、太阳能光…

汽车资讯|汽车资讯网站|基于Springboot的汽车资讯网站设计与实现(源码+数据库+文档)

汽车资讯网站目录 目录 基于Springboot的汽车资讯网站设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 &#xff08;1&#xff09;用户信息管理 &#xff08;2&#xff09;汽车品牌管理 &#xff08;3&#xff09;经销商信息管理 &#xff08…

大语言模型推理加速技术:模型压缩篇

原文&#xff1a;大语言模型推理加速技术&#xff1a;模型压缩篇 - 知乎 目录 简介 量化(Quantization) LLM.int8() GPTQ SmoothQuant AWQ 精简Attention 共享Attention参数 Multi-Query Attention Grouped-Query Attention 稀疏Attention Sliding Window Attenti…

Win10的Office中没有Mathtype

最近将Win10的Office更新到2021版本后&#xff0c;打开word后发现工具栏的Mathtype没有了&#xff0c;但是其他选项卡还在&#xff0c;上网搜索之后&#xff0c;发现原因在于Office 2021的Mathtype选项卡打开路径文件没有更新……。 所以我们需要将mathtype对应文件复制到新的…

怎样用眼精星将护照识别成结构化数据,并批量导出为Excel?

随着科技的不断发展&#xff0c;我们的生活和工作变得越来越便利。其中&#xff0c;眼精星票证识别系统作为一种高效的信息提取工具&#xff0c;在许多领域都得到了广泛应用。将护照信息快速准确地提取并整理成excel格式&#xff0c;对于许多行业来说都是非常有用的。那么&…

回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测

回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测 目录 回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测预测效果基本描述程序设计参考资料 预测效果…

2024年sCrypt编程马拉松即将开幕

BSV区块链的建设者们&#xff0c;你们在哪&#xff1f;2024年sCrypt编程马拉松即将拉开帷幕&#xff01; 2024年3月16日至17日&#xff0c;我们将在旧金山市举办一场以比特币智能合约&#xff08;即 sCrypt&#xff09;和比特币通证&#xff08;如Ordinals&#xff09;相结合为…

kali安装ARL灯塔(docker)

1、root身份进入容器 ┌──(root㉿Kali)-[~/桌面] └─# su root ┌──(root㉿Kali)-[~/桌面] └─# docker 2、先更新再克隆 ┌──(root㉿Kali)-[~/桌面] └─# apt-get update …

十一、计算机视觉-膨胀操作

文章目录 前言一、什么是膨胀二、膨胀操作的实现1.引入库 三、膨胀的原理 前言 上节我们学习了腐蚀操作&#xff0c;本节我们讲一下膨胀操作&#xff0c;膨胀和腐蚀实际上是相反的操作。上节我们把云峰这2个字周围没用的像素去掉了&#xff0c;但是云峰这2个字也变细了&#x…

【Flutter/Android】新建项目,打开android 目录,报错红色以及开启 MultiDex 配置

1 报错红色问题。 单独打开 Flutter 项目下的 android 项目即可。 也就是说&#xff0c;你要一部分原生代码开发&#xff0c;你就需要自己把 android 项目单独出去做&#xff08;其实就相当于android 项目引用 Flutter的dart部分&#xff09;。也就是说&#xff0c;在 Flutter…

WPF 附加属性+控件模板,完成自定义控件。建议观看HandyControl源码

文章目录 相关连接前言需要实现的效果附加属性添加附加属性&#xff0c;以Test修改FontSize为例依赖属性使用触发器使用直接操控 结论 控件模板&#xff0c;在HandyControl的基础上面进行修改参考HandyControl的源码控件模板原型控件模板 控件模板触发器完整样式简单使用 结论 …

PROTEL

PROTEL是什么 Protel软件是由Altium公司&#xff08;原为Protel Technology公司&#xff09;开发的一款电子设计自动化&#xff08;EDA&#xff09;软件&#xff0c;主要用于电子电路设计和印制电路板&#xff08;PCB&#xff09;制作。 学习Protel 99 SE的大致过程 原理图文…