LeetCode-数组篇

技术LeetCode-数组篇 LeetCode-数组篇1.只出现一次的数字
难度:简单
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:

LeetCode-数组章节

1.只出现一次的数字

难度:简单

给定一个非空整数数组,除了一个元素外,每个元素都会出现两次。找到只出现一次的元素。

描述:

您的算法应该具有线性时间复杂度。你能在不占用额外空间的情况下做到吗?

例1:

输入: [2,2,1]

输出: 1

例2:

输入: [4,1,2,1,2]

输出: 4

解决方案思路:

这个问题有很多解决方案,但是这个问题不需要额外的空间。最简单的方法就是用异或运算求解。

异或运算满足三个性质:

记住这三个性质是解决找重复问题的关键。

解决方案类{

public int single number(int[]nums){ 0

int结果=0;

//遍历数组中的每个数字,进行异或运算。

for(int num : nums){ 0

结果^=小水;

}

返回结果;

}

}

/**

时间复杂度:O(n)遍历的数组长度

复杂性:O(1)不需要额外的空间。

*/

2.多次元素

难度:简单

给定一个n大小的数组,找出它的大部分元素。大多数元素都出现在数组中。n/2?元素。

您可以假设数组是非空的,并且在给定的数组中总是有许多元素。

例1:

输入:[3,2,3]

产出:3

例2:

输入:[2,2,1,1,1,2,2]

产出:2

解决方案思路:

借助哈希表统计数组中每个数字的个数,然后进行相应的业务处理。

解决方案类{

public int MajorityElEMENT(int[]nums){ 0

//先扔进自定义方法,计算数组中每个数字的个数。

映射整数,整数计数=个数(个数);

//遍历地图,找到数字最大的数字。

地图。EntryInteger,Integer majorityEntry=null

(地图。EntryInteger,整数条目:计数. entryset()){ 0

if(majority entry==null | | entry . getvalue(). majority entry . getvalue()){ 0

majorityEntry=entry

}

}

返回MajorityEntry . GetKey();

}

//使用哈希表

//自定义计算数组数量的方法。

私有映射整数,整数计数(int[]nums){ 0

MapInteger,Integer计数=新HashMapInteger,Integer();

for(int num : nums){ 0

if(!counts . Contains KeY(num)){ 0

//没有,就加一个新的。

counts.put(num,1);

} else {

//有就拿出来加一个。

counts.put(num,counts . get(num)1);

}

}

返回计数;

}

}

/**

时间复杂度:O(n)遍历数组。

空间复杂度:O(n)通过哈希表记录出现的数字个数。

*/

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154015.html

(0)

相关推荐

  • Python如何爬取抖音APP热点榜数据

    技术Python如何爬取抖音APP热点榜数据Python如何爬取抖音APP热点榜数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天给大家

    攻略 2021年10月26日
  • mr on yarn架构

    技术mr on yarn架构 mr on yarn架构提交作业①程序打成jar包,在客户端运行hadoop jar命令,提交job到集群运行job.waitForCompletion(true)中调用J

    礼包 2021年12月3日
  • ajax翻译成什么意思(ajax用英文怎么读)

    技术ajax单词的意思是什么本篇内容主要讲解“ajax单词的意思是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ajax单词的意思是什么”吧!

    攻略 2021年12月17日
  • 加拿大动物,加拿大的代表动物是什么

    技术加拿大动物,加拿大的代表动物是什么加拿大的国兽,海狸(英语叫BEAVER),也叫河狸,它是一种躯体肥胖的啮齿类动物,外型酷似大老鼠。海狸身上有两宝,一种是用于制作香水的原料,属于海狸性腺分泌的液体;另一种是海狸油光水

    生活 2021年10月27日
  • 雅诗兰黛的眼霜,雅诗兰黛眼霜套盒的使用顺序

    技术雅诗兰黛的眼霜,雅诗兰黛眼霜套盒的使用顺序正确的护肤顺序:鲜亮焕采精粹水――即时修护特润精华露―― 奇迹丰盈抗皱精华露――黛盈润保湿乳液――新款红石榴日晚霜套装雅诗兰黛的眼霜。需要注意的是:如果你是25岁以下的,可以

    生活 2021年10月30日
  • 如何进行mysqlhotcopy 热备工具体验与总结

    技术如何进行mysqlhotcopy 热备工具体验与总结本篇文章给大家分享的是有关如何进行mysqlhotcopy 热备工具体验与总结,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说

    攻略 2021年12月4日