LeetCode|2619. 数组原型对象的最后一个元素:实现 array.last() 方法(day1)

96 阅读2分钟

作者:MJ昊

博客:掘金CSDN

公众号:程序猿的编程之路

今天是 昊 算法之路的第1天,我很高兴能和大家一起探索编程的乐趣。

为大家讲解LeetCode第2619题,难易程度:简单

题目描述

2619. 数组原型对象的最后一个元素

请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1 。

你可以假设数组是 JSON.parse 的输出结果。

示例 1 :

输入: nums = [null, {}, 3]
输出: 3
解释:调用 nums.last() 后返回最后一个元素: 3

示例 2 :

输入: nums = []
输出: -1
解释: 因为此数组没有元素,所以应该返回 -1

提示:

  • arr 是一个有效的 JSON 数组
  • 0 <= arr.length <= 1000

解题思路

Array.prototype.last = function() {
    if (!Array.isArray(this)) { // 使用 `Array.isArray()` 方法来确保我们处理的确实是一个数组,增加代码的稳定性。
        throw new TypeError("Not an array"); 
    }
    if (this.length <= 0) return -1
    return this[this.length - 1]
};

复杂度分析

  • 时间复杂度:O(1),因为访问数组的最后一个元素只需常量时间。
  • 空间复杂度:O(1),没有使用额外的空间,除了方法本身。

总结

通过这个简单的题目,我不仅巩固了对数组方法的理解,也在思考如何提升自己的写作能力。作为一名写作小白,我希望通过不断的学习和实践,能够在写作上取得更大的进步。感谢大家的阅读,期待与你们的交流与分享!

你是否也遇到过类似的数组处理问题?欢迎在评论区分享你的解决方案和心得!让我们一起在算法的道路上不断前行,互相学习,成长为更好的程序员。