如何让移动网站更优秀,推广引流渠道有哪些,做百度网站接到多少客户电话,做图片类型网站需要什么服务器文章目录 2833.距离原点最远的点思路完整版 2834.找出美丽数组的最小和思路完整版 2833.距离原点最远的点
给你一个长度为 n 的字符串 moves #xff0c;该字符串仅由字符 L、R 和 _ 组成。字符串表示你在一条原点为 0 的数轴上的若干次移动。
你的初始位置就在原点#xf… 文章目录 2833.距离原点最远的点思路完整版 2834.找出美丽数组的最小和思路完整版 2833.距离原点最远的点
给你一个长度为 n 的字符串 moves 该字符串仅由字符 L、R 和 _ 组成。字符串表示你在一条原点为 0 的数轴上的若干次移动。
你的初始位置就在原点0第 i 次移动过程中你可以根据对应字符选择移动方向
如果 moves[i] L 或 moves[i] _ 可以选择向左移动一个单位距离如果 moves[i] R 或 moves[i] _ 可以选择向右移动一个单位距离
移动 n 次之后请你找出可以到达的距离原点 最远 的点并返回 从原点到这一点的距离 。
示例 1
输入moves L_RL__R
输出3
解释可以到达的距离原点 0 最远的点是 -3 移动的序列为 LLRLLLR 。示例 2
输入moves _R__LL_
输出5
解释可以到达的距离原点 0 最远的点是 -5 移动的序列为 LRLLLLL 。示例 3
输入moves _______
输出7
解释可以到达的距离原点 0 最远的点是 7 移动的序列为 RRRRRRR 。提示
1 moves.length n 50moves 仅由字符 L、R 和 _ 组成
思路
当 L_count R_count 时字符串中向左的移动比向右的多。而每个 _ 可以视为一个“自由移动”它可以选择向左或向右移动。为了到达原点最远的距离所有的 _都应该选择向左移动。所以abs(L_count - R_count) _count 就是最远的距离。
这个解法的核心思想是为了达到最远的距离应该尽可能地选择一个方向移动。
完整版
因为需要移动n次所有的移动字符都需要被遍历。因此我们需要将L的总数与R的总数相减再加上自由步数。
class Solution {
public:int furthestDistanceFromOrigin(string moves) {int L_count count(moves.begin(),moves.end(),L);int R_count count(moves.begin(),moves.end(),R);int _count count(moves.begin(),moves.end(),_);return abs(L_count-R_count)_count;}
};2834.找出美丽数组的最小和
给你两个正整数n 和 target 。
如果数组 nums 满足下述条件则称其为 美丽数组 。
nums.length n.nums 由两两互不相同的正整数组成。在范围 [0, n-1] 内不存在 两个 不同 下标 i 和 j 使得 nums[i] nums[j] target 。
返回符合条件的美丽数组所可能具备的 最小 和。
示例 1
输入n 2, target 3
输出4
解释nums [1,3] 是美丽数组。
- nums 的长度为 n 2 。
- nums 由两两互不相同的正整数组成。
- 不存在两个不同下标 i 和 j 使得 nums[i] nums[j] 3 。
可以证明 4 是符合条件的美丽数组所可能具备的最小和。示例 2
输入n 3, target 3
输出8
解释
nums [1,3,4] 是美丽数组。
- nums 的长度为 n 3 。
- nums 由两两互不相同的正整数组成。
- 不存在两个不同下标 i 和 j 使得 nums[i] nums[j] 3 。
可以证明 8 是符合条件的美丽数组所可能具备的最小和。示例 3
输入n 1, target 1
输出1
解释nums [1] 是美丽数组。提示
1 n 1051 target 105
思路
本题就和上次周赛的贪心很像了求得也是可能的最小和所以需要从最小的数字开始取
完整版
和上次周赛代码基本相同求的都是可能的最小和问题。
class Solution {
public:long long minimumPossibleSum(int n, int target) {setlong longused;int cur 1;long long sum0;for(int i1;in;i){while(used.count(cur)||used.count(target-cur)){cur;}used.insert(cur);sumcur;}return sum;}
};