算法
一些简单的算法题目
KB-野原新之助
学生小白,请多多指教。
展开
-
n个[0,n)的数,求每个数的出现次数(不能开辟额外空间)
问题:问题:n个[0,n)的数,求每个数的出现次数(不能开辟额外空间)如:在不占用额外空间的情况下,求出每个数字出现的次数。解答:分析得:n 个不超过 n 的数字,可以利用取模和除数来思考可以遍历所有数据,然后在每个数据作为下标的位置处加上一个 n ,此时:每个位置的数据取余 n 就是其原始数据;每个位置的数据除以 n 就是其出现次数。如:代码:#include &...原创 2020-01-16 10:13:28 · 764 阅读 · 2 评论 -
在不占用额外空间的情况下,找出只出现一次的元素
问题:有一组数据,假设除了某一个元素出现了一次外,其余元素都出现了两次,怎么在不占用额外空间的情况下找出这个元素。如:array[] = {2, 3, 2, 5, 1, 4, 6, 3, 1, 6, 4}在这个数组中,怎么找出这个只出现了一次的5呢?不限制空间的解答:找出一组数据中只出现一次的数据解法:利用异或异或是使用数据所对应的二进制值进行安慰异或,相同为0,不同为1。因...原创 2020-01-15 12:27:04 · 319 阅读 · 0 评论 -
找出一组数据中只出现一次的数据
问题:有一组数据,假设除了某一个元素出现了一次外,其余元素都出现了两次,找出这个元素。如:array[] = {2, 3, 2, 5, 1, 4, 6, 3, 1, 6, 4}在这个数组中,怎么找出这个只出现了一次的5呢?解法:依次拿出一个元素与其他元素进行比较,设置一个中间变量result,每次让resul等于该值,根据是否有与其相同的值来改变result的值,最后根据resu...原创 2020-01-14 20:45:45 · 621 阅读 · 0 评论