解算法题的五个基本思路

解算法题的四个基本思路:

一、阅读完成条件

二、选择数据结构

三、时间复杂度分析

四、判断边界条件

五、继续探索取巧方法

例子解析:

LeeCode 136题:只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

解答思路:

一、阅读完成条件:非空整数数组、每个元素出现两次、1个元素出现1次

二、选择数据结构:双for循环、排序+二分法、HashMap

三、时间复杂度分析:双for循环 O(n 2 )、排序+二分法 O(nlogn)、HashMap O(n)

四、判断边界条件:排序+二分法需要考虑数组的边界问题

五、继续探索取巧方法:异或解法:

int result = nums[0];
if (nums.length > 1) {
   for (int i = 1; i < nums.length; i++) {
      result = result ^ nums[i];
   }
 }
 return result;
发布了27 篇原创文章 · 获赞 30 · 访问量 6575

猜你喜欢

转载自blog.csdn.net/gaixiaoyang123/article/details/104355801