167. 两数之和 II - 输入有序数组

167. 两数之和 II - 输入有序数组

一、题目描述

给定一个已按照 升序排列 的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。

函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。

你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。

 36. 有效的数独

36. 有效的数独

一、题目描述

请你判断一个9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。

  • 数字1-9在每一行只能出现一次。
  • 数字1-9在每一列只能出现一次。
  • 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)
  • 数独部分空格内已填入了数字,空白格用’.’表示。

 34. 在排序数组中查找元素的第一个和最后一个位置

34. 在排序数组中查找元素的第一个和最后一个位置

一、题目描述

给定一个按照升序排列的整数数组 nums,和一个目标值 target。

找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回[-1, -1]。

 33.搜索旋转排序数组

33.搜索旋转排序数组

一、题目描述

整数数组 nums 按升序排列,数组中的值 互不相同 。

在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。

例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。

给你 旋转后 的数组 nums 和一个整数 target ,如果 nums 中存在这个目标值 target ,则返回它的下标,否则返回 -1 。

 31. 下一个排列

31. 下一个排列

一、题目描述

实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。

如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。

必须 原地 修改,只允许使用额外常数空间。

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100