leetcode刷题记录(37)-简单

这篇博客记录了作者在LeetCode上解决的五个问题,包括计算一年中的第几天、拼写单词、比较字符串最小字母出现频次、指数排列以及公交站间的距离。通过分析思路,展示了如何解决这些算法问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.一年中的第几天

题目:

给你一个按 YYYY-MM-DD 格式表示日期的字符串 date,请你计算并返回该日期是当年的第几天。

通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类推。每个月的天数与现行公元纪年法(格里高利历)一致。

思路:用Date转换为日期对象,获取时间戳,根据时间戳的差值来计算

/**
 * @param {string} date
 * @return {number}
 */
var dayOfYear = function(date) {
  const time = 24 * 3600 * 1000;
  const cur = new Date(date).getTime();
  const start = new Date(`${date.slice(0, 4)}-01-01`).getTime();
  return (cur - start) / time + 1;
};

2.拼写单词

题目:

给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。

假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。

注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。

返回词汇表 words 中你掌握的所有单词的 长度之和。

思路:记录字母表中的字符及出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值