题解 | #旋转位置的特定牛# java
旋转位置的特定牛
https://www.nowcoder.com/practice/4872ba1fef224bd382b49a5958d996ab
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param target int整型 * @return int整型 */ public int search (int[] nums, int target) { // write code here if (target <= nums[0]) { for (int i = 0; i < nums.length; i++) { if (target == nums[i]) return i; } } else { for (int j = nums.length - 1; j >= 0; j--) { if (target == nums[j]) return j; } } return -1; } }
编程语言是Java。
该题考察的知识点是数组遍历和条件判断。
代码的文字解释如下:
- 在
Solution
类中,实现一个名为search
的方法。 search
方法的输入参数为一个整型数组nums
和一个整数target
。- 判断
target
是否小于等于nums
数组的第一个元素。如果是,则进行从左往右的遍历。 - 在从左往右的遍历过程中,使用
for
循环遍历数组nums
,从索引 0 开始,逐个与target
进行比较。如果找到了相等的元素,则返回该元素的索引。 - 如果目标元素不在
nums
数组的左侧,则进行从右往左的遍历。 - 在从右往左的遍历过程中,使用
for
循环从数组的最后一个元素开始向前遍历,逐个与target
进行比较。如果找到了相等的元素,则返回该元素的索引。 - 如果无法找到与
target
相等的元素,则返回 -1,表示未找到。