[抄题]:
[暴力解法]:
时间分析:
空间分析:
[优化后]:
时间分析:
空间分析:
[奇葩输出条件]:
[奇葩corner case]:
[思维问题]:
总算自己写出一道题来了。
[英文数据结构或算法,为什么不用别的数据结构或算法]:
[一句话思路]:
总有case过不了,可以稍微调试一下,起码把自己手写的case跑通了。
class Solution {
public int findMin(int[] nums) { //ini
int start = 0; int end = nums.length - 1; //while loop
//new varieble can only be used here
while (start + 1 < end) {
int mid = start + (end - start) / 2;
if (nums[mid] > nums[start]) start = mid;
else end = mid;
} //return
return nums[end];
}
}
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:
[一刷]:
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
[复杂度]:Time complexity: O(lgn) Space complexity: O(1)
[算法思想:迭代/递归/分治/贪心]:
[关键模板化代码]:
[其他解法]:
[Follow Up]:
[LC给出的题目变变变]:
[代码风格] :
[是否头一次写此类driver funcion的代码] :
[潜台词] :