没想到周末反而更加松懈了,睡到下午才起来,然后看狼叔主持的 Node 地下铁第十期;没想到时间过得很快,一下就到七点了。想想今天学到了什么?好像又记住了一些概念,感觉每位讲师都很厉害,如果他们收徒,我恨不得立马拜入门下。印象最深刻的两个点:97年的张宇昂凭一己之力开源了全宇宙最强的 SSR 框架;还有杭州买房房价翻倍是不是意味着几百万就砸脑袋上了?而我,想想下个月可能就断供了……唉,继续今天的题!
题目描述
| 分类 | 困难度 | 👍 | 👎 |
|---|---|---|---|
| 算法 | 简单 (70.95%) | 1728 | - |
公司
airbnb | palantir给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
思路分析
第一眼看到这个题时,似曾相识,和昨天的“存在重复元素”的暴力解法类似,先排序然后依次比较,如果前面一个和后面一个元素不相等就返回这个元素。
AC 代码
暴力解法
/*
* @lc app=leetcode.cn id=136 lang=javascript
*
* [136] 只出现一次的数字
*/
// @lc code=start
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function (nums) {
let arr = nums.sort();
for (let i = 0; i < arr.length; i++) {
if (arr[i] != arr[i + 1]) {
return arr[i];
}
}
};
// @lc code=end
待补充
总结
做了六道题依旧感觉很迷茫,找不到方法,如何才能摆脱 Copy攻城狮 ,一直是我心中无解的问题。
本文正在参与「掘金 2021 春招闯关活动」, 点击查看活动详情