完成了Leetcode网站Array中的Easy部分
对于这些题目的总结:
– 如果需要频繁比较数据,可以考虑将原数据排序后再进行算法操作
– 求和、求差操作不依赖数据顺序,有时候很好用 268. Missing Number
– 要特别注意数组边界数据的处理(26. Remove Duplicates from Sorted Array)
– 顺序操作、控制范围和求和是Array(数组)常规操作,但可能低效。如果善于运用高级一些的数据结构,如HashSet(217. Contains Duplicate)HashMap等,可以显著提高效率
– Java库中提供了很多例如排序查找的功能,善于利用事半功倍,例如:
-
Collections.rotate(List<?> list, distance) 189. Rotate Array (但是类型之间的转换可能会牺牲一些效率)
-
Arrays.binarySearch(int nums[], int target),如果这个target不存在,假设它应该插入的位置是pos,那么这个函数就返回-pos-1; 35. Search Insert Position