123

1. 两数字之和, 解题: 就是去遍历整个数组, 用target去减去遍历到的这个数, 如果遍历到的这个数字在整个目标数组中, 就返回他们的索引位置

给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]

实现的解题思路就是去遍历这个数组, 用target去减去遍历到的这个数, 判断这个数在不在该数组中.(在遍历的时候将遍历的数字保存在字典里面,后续返回可以直接通过键只取到索引)

1207. 独一无二的出现次数

输入:arr = [1,2,2,1,1,3]
输出:true
解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。

自己实现的方法: 对数组去重之后循环,将每个数字出现的次数保存在字典里面,最后判断字典中的values值有没有重复的
实现的思路,collections函数提供了统计各个元素出现的次数, 通过去重判断是否与原数组同长度

1480. 一维数组的动态和

输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4]

自己的实现方法:循环该数组,将首位到循环位的数字加起来,append到新的数组中
查看解题思路实现方法:直接在原数组中修改(边循环,边将前面的值加起来赋给当前)

1512. 好数对的数目

输入:nums = [1,2,3,1,1,3]
输出:4
解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始

自己解题思路, 循环将各个数字和索引存在字典中,再加入到数组里面,最后判断数组中字典的key()和value(), 放弃!
解题思路: 通过创建两个游标,两层循环,第一层循环用于遍历整个数组中的数字,第二层循环用于遍历从该数字后面的数字到整个结尾,是否有相同的,如果有相同的就加一

posted @ 2020-10-28 11:53  Dr-wei  阅读(5)  评论(0编辑  收藏