两数之和 

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

你可以按任意顺序返回答案。

输入:nums = [2,7,11,15], target = 9

输出:[0,1]

解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

using namespace std;
#include<iostream>
#include<vector>

class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
for (int i = 0; i < nums.size(); i++)
{
for (int j = i + 1; j < nums.size(); j++) {
if (nums[i] + nums[j] == target)
{
return vector<int>{i, j};
}
}
}
return vector<int>();
}
};

int main() {
vector<int> inp = { 1,2,3,4,5,6 };//定义 int类型的向量
Solution s;
vector<int> res;//定义一个变量
res = s.twoSum(inp, 9);

std::cout << res[0]<<","<<res[1] << std::endl;
std::cin.get();//保持运行窗口
};

me v :18340082396


//结果是2,5

学生出勤记录 II 

# 2021-8-18

# 可以用字符串表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:

# 'A':Absent,缺勤

# 'L':Late,迟到

# 'P':Present,到场

# 如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:

# 按 总出勤 计,学生缺勤('A')严格 少于两天。

# 学生 不会 存在 连续 3 天或 连续 3 天以上的迟到('L')记录。

# 给你一个整数 n ,表示出勤记录的长度(次数)。请你返回记录长度为 n 时,可能获得出勤奖励的记录情况 数量 。答案可能很大,所以返回对 109 + 7 取余 的结果。

from functools import reduce

n=int(input())

if n==1:
print("1")
elif n==2:
print("9")# 两个位置填写三个字母 是9种 排除 第一种 AA其余都可以
else:
#   根据缺勤和迟到的情况,第 n 天的状态有 6 种:
#   ① 0 缺勤,到 n 天连续迟到 0 天。
#   ② 0 缺勤,到 n 天连续迟到 1 天。
#   ③ 0 缺勤,到 n 天连续迟到 2 天。
#   ④ 1 缺勤,到 n 天连续迟到 0 天。
#   ⑤ 1 缺勤,到 n 天连续迟到 1 天。
#   ⑥ 1 缺勤,到 n 天连续迟到 2 天
yi=1
er=n
san=n-1
si=n
wu=reduce(lambda x,y:x*y,range(1,n+1))/(2*reduce(lambda x,y:x*y,range(1,n-2+1)))# 组合 从n天种随机取2天
liu=n*(n-2)
print(yi+er+san+si+wu+liu)