算法原链接

https://leetcode-cn.com/problems/search-in-rotated-sorted-array/

解法思路:自己写的

设置两个指针,从数据的左右两侧进行扫描,算法复杂度的O(N/2),这是最笨的解法了。。。

解法代码:自己写的

  1. func search(nums []int, target int) int {
  2. l := len(nums)
  3. if l == 1 {
  4. if target != nums[0] {
  5. return -1
  6. } else {
  7. return 0
  8. }
  9. }
  10. i, j := 0, l-1
  11. if target > nums[j] && target < nums[i] {
  12. return -1
  13. }
  14. for i <= j {
  15. if nums[i] == target {
  16. return i
  17. }
  18. if nums[j] == target {
  19. return j
  20. }
  21. i++
  22. j--
  23. }
  24. return -1
  25. }

image.png