今天是 昊 算法之路的第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)
,没有使用额外的空间,除了方法本身。
总结
通过这个简单的题目,我不仅巩固了对数组方法的理解,也在思考如何提升自己的写作能力。作为一名写作小白,我希望通过不断的学习和实践,能够在写作上取得更大的进步。感谢大家的阅读,期待与你们的交流与分享!
你是否也遇到过类似的数组处理问题?欢迎在评论区分享你的解决方案和心得!让我们一起在算法的道路上不断前行,互相学习,成长为更好的程序员。