2021.8.31 菜鸡力扣

今天开始刷刷力扣的题。
先从简单的开始把,它上面有各个模块的题目,先从初级算法开始刷刷看。
数组部分:
1、删除排序数组中的重复项
别忘记边界条件的判断
双指针,比较常用的判断数组之间元素关系的思路
2、判断是否有重复元素
使用先排序 Arrays.sort(),再逐个判断
使用Set集合:将其挨个放入一个HashSet中
public boolean containsDuplicate(int[] nums) {
Set<integer> set = new HashSet<>();
for (int num : nums) {
//因为集合set中不能有重复的元素,如果有重复的
//元素添加,就会添加失败
if (!set.add(num))
return true;
}
return false;
}
3、只出现一次的数字
使用异或运算,将所有值进行异或
异或运算,相异为真,相同为假,所以 a^a = 0 ;0^a = a
因为异或运算 满***换律 a^b^a = a^a^b = b 所以数组经过异或运算,单独的值就剩下了</integer>

全部评论

相关推荐

在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
LastWh1spe...:ssob真有些人和那个没睡醒一样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务