一网友发文称面试了一家小公司,目前公司是20k,期望薪资是25k,hr说可以,入职后还可以做前端leader,结果过了两天谈薪的时候老板决定给开15k。
这简直就是侮辱人,985硕士五年工作经验,还要做前端leader,就给15k,leader才给15k,手下的带的难道都是一群应届毕业生?啥牛马公司都有。
--------------下面是今天的算法题--------------
来看下今天的算法题,这题是LeetCode的第217题:存在重复元素。
问题描述
来源:LeetCode第217题
难度:简单
给你一个整数数组 nums 。如果任一值在数组中出现至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
示例1:
输入 :nums = [1,2,3,1]
输出 :true
示例2:
输入 :nums = [1,2,3,4]
输出 :false
1 <= nums.length <= 10^5
-10^9 <= nums[i] <= 10^9
问题分析
这题让判断数组中是否有重复的元素,很简单的一道题,可以使用set集合判重,把数组中的元素一个个放到集合set中,存放的时候如果有重复的直接返回true。
JAVA:
publicbooleancontainsDuplicate(int[] nums){
Set<Integer> st = new HashSet<>();
for (int num : nums)
if (!st.add(num))// 有重复的直接返回true
returntrue;
returnfalse;
}
C++:
public:
boolcontainsDuplicate(vector<int> &nums){
unordered_set<int> s;
for (constauto &num: nums)
if (!s.insert(num).second)// 有重复的直接返回true
returntrue;
returnfalse;
}
Python:
defcontainsDuplicate(self, nums: List[int]) -> bool:
s = set()
for num in nums:
if num in s: # 有重复的直接返回true
returnTrue
s.add(num)
returnFalse