class Solution {
public:
int passThePillow(int n, int time) {
int mor = time%(2*(n-1));
if(mor >= n-1){
return n-(mor-(n-1));
}else{
return mor+1;
}
}
};
总结:
按题意模拟即可
class Solution {
public:
long long cnt[100010];
int maxpos = 0;
void dfs(TreeNode* root, int pos)
{
if(root == NULL){
return;
}
maxpos = max(maxpos, pos);
cnt[pos] += root->val;
dfs(root->left, pos+1);
dfs(root->right, pos+1);
}
long long kthLargestLevelSum(TreeNode* root, int k) {
dfs(root, 1);
if(k > maxpos){
return -1;
}
sort(cnt+1, cnt+maxpos+1);
return cnt[maxpos-k+1];
}
};
总结:
dfs跑一遍树, 用数组记录每层的层和
class Solution {
public:
int isPrime[1010];
int Prime[1000010], cnt;
void init()
{
isPrime[1] = 1;
for(int i=2;i<=1000;++i){
if(!isPrime[i]){
Prime[++cnt] = i;
}
for(int j=1;j<=cnt && i*Prime[j] <= 1000; ++j){
isPrime[i*Prime[j]] = 1;
if(i%Prime[j] == 0){
break;
}
}
}
}
int cnt1[1000010], cnt2[1000010];
bool check()
{
for(int i=1;i<=cnt;++i){
if(cnt1[Prime[i]] && cnt2[Prime[i]]){
return false;
}
}
return true;
}
int findValidSplit(vector<int>& nums) {
init();
int len = nums.size();
for(int i=0;i<len;++i){
int temp = nums[i];
for(int j=1;Prime[j] <= 1000 && j<=cnt;++j){
while(temp % Prime[j] == 0){
++cnt2[Prime[j]];
temp /= Prime[j];
}
}
if(temp > 1){
++cnt2[temp];
Prime[++cnt] = temp;
}
}
for(int i=0;i<len-1;++i){
int temp = nums[i];
for(int j=1;Prime[j] <= 1000 && j<=cnt;++j){
while(temp % Prime[j] == 0){
++cnt1[Prime[j]];
--cnt2[Prime[j]];
temp /= Prime[j];
}
}
if(temp > 1){
--cnt2[temp];
++cnt1[temp];
}
if(check()){
return i;
}
}
return -1;
}
};
总结:
题目意思转换一下, 变为分割的前半部分和后半部分分解为质因数后没有相同的质因数, 数据范围小于1e6, 质数筛筛到1e3即可, 因为每个数最多只会有一个大于1000的质因数, 大于1000的质因数在分解质因数是放入Prime数组.接下来模拟即可.
感觉写的不好
class Solution {
public:
const int mod = 1e9+7;
int dp[60][1010];
int waysToReachTarget(int target, vector<vector<int>>& types) {
int len = types.size();
dp[0][0] = 1;
for(int i=1;i<=len;++i){
for(int l=target;l>=0;--l){
dp[i][l] = dp[i-1][l];
}
int count = types[i-1][0], marks = types[i-1][1];
for(int j=count;j>=1;--j){
for(int l=target;l>=j*marks;--l){
dp[i][l] += dp[i-1][l-j*marks];
dp[i][l] %= mod;
}
}
}
return dp[len][target];
}
};
总结:
一个比较裸的多重背包
感觉写的不好
文章目录问题B:芝华士威士忌和他的小猫咪们代码&注释问题C:愿我的弹雨能熄灭你们的痛苦代码注释问题D:猜糖果游戏代码注释问题E:有趣的次方代码注释问题F:这是一个简单题代码&注释问题G:打印矩阵代码注释问题H:scz的简单考验代码注释问题I:完美区间代码&注释问题J:是狂热的小迷妹一枚吖~代码&注释2022年10月23日周赛ZZULIOJ问题B:芝华士威士忌和他的小猫咪们时间限制:1Sec内存限制:128MB题目描述芝华士威士忌很喜欢带着他的猫咪们一块跑着玩。但是小猫咪们很懒,只有在离他y米以内才愿意和他一块跑。这天他在坐标为x的位置,他想和他的猫咪们一块跑着玩。有n个小猫咪,第i个小猫咪在坐
这是一道简单题题目来自:https://leetcode.cn/problems/two-sum/题目给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。提示:22nums.length104−109−109nums[i]109−109−109target109只会存在一个有效答案进阶:你可以想出一个时间复杂度小于O(n2)O(n^2)O(n2)的算法吗?示例1:输入:nums=[2,7,11,15],targe
一.面试总结 4月20号下午进行了一场大数据视频面试,总结一下踩坑点: 1.确定面试后,第一件事要和HR确定面试方式,具体时间、地点、什么软件、岗位JD等必须信息。 这里很多人有一个思想误区,认为问的太多会给HR不好的印象;其实大可不必,如果你通过了简历筛选,你就有权力使用公司招聘的人力资源。 2.要在面试10分钟前就进入面试的环境中,以防突发事件。 3.面试最开始都会有一个自我介绍环节,这个自我介绍环节,一定要慎之又慎,最好写下来,让朋友、长辈等审核多遍。 注:我面试时,在这踩了一个坑,自我介绍的时候踩了我要面试的岗位一脚,被技术面试官抓住了这一点
没有测评,不知道对不对,仅仅过样例而已试题A:日期统计本题总分:5分【问题描述】小蓝现在有一个长度为100的数组,数组中的每个元素的值都在0到9的范围之内。数组中的元素从左至右如下所示:5686916124919823647759503875815861830379270588570991944686338516346707827689565614010094809128502533现在他想要从这个数组中寻找一些满足以下条件的子序列: 1.子序列的长度为8; 2.这个子序列可以按照下标顺序组成一个yyyymmdd格式的日期,并且要求这个日期是2023年中的某一天的日期,例如202309
2023蓝桥C/C++B组省赛文章目录2023蓝桥C/C++B组省赛试题A:日期统计题目描述枚举参考代码试题B:01串的熵题目描述枚举|模拟参考代码试题C:冶炼金属题意描述取交集参考代码试题D:飞机降落题意描述DFS+剪枝,懒得写试题E:接龙数列题意描述DP参考代码试题F:岛屿个数题意描述dfs|连通块参考代码试题G:子串简写题意描述前缀和参考代码试题H:整数删除题意描述双向链表|最小堆参考代码试题I:景区导游题意描述带权LCA参考代码试题J:砍树题意描述树上差分参考代码试题A:日期统计题目描述【问题描述】小蓝现在有一个长度为100的数组,数组中的每个元素的值都在0到9的范围之内。数组中的元素
83.删除排序链表中的重复元素题目描述给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。输入:head=[1,1,2]输出:[1,2]解题思路:用一个指向节点类型的指针保存头结点,用另一个指向节点类型的指针对该链表进行遍历,由于是有序的,当出现不同的值就说明不会再出现跟前面的值相同的节点了,最后循环结束的条件是遍历到最后一个节点的时候,也就是该节点的next指向空的时候,停止循环,返回该保存的头结点,另外,如果传过来的头结点是空,则直接返回空。参考代码:/***Definitionforsingly-linkedlist.*structListNod
P1776宝物筛选宝物筛选题目描述终于,破解了千年的难题。小FF找到了王室的宝物室,里面堆满了无数价值连城的宝物。这下小FF可发财了,嘎嘎。但是这里的宝物实在是太多了,小FF的采集车似乎装不下那么多宝物。看来小FF只能含泪舍弃其中的一部分宝物了。小FF对洞穴里的宝物进行了整理,他发现每样宝物都有一件或者多件。他粗略估算了下每样宝物的价值,之后开始了宝物筛选工作:小FF有一个最大载重为WWW的采集车,洞穴里总共有nnn种宝物,每种宝物的价值为viv_ivi,重量为wiw_iwi,每种宝物有mim_imi件。小FF希望在采集车不超载的前提下,选择一些宝物装进采集车,使得它们的价值和最大。输入
✨✨【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?✔✨前言🎉🎉大家好!好久不见我是青花瓷,今天你刷题了吗?文章目录,从易到难,层层递进,如果每一道题都吃透,你一定会在做题方面有质的飞跃,关注我,一起学习算法,一起分享好的题型。博主将持续更新算法,大厂笔试题,经典算法题,易错题,如果觉得不错,点点赞支持一下,如果有错误的地方,欢迎指正✨✨下一期:算法篇之回溯算法作者介绍:🎓作者:偷偷敲代码的青花瓷✨👀作者的Gitee:代码仓库📌系列文章推荐:✨1.Java牛客&力扣刷题特辑第一期✨2.Java牛客&力扣刷题特辑第二期✨3.Java牛客&力扣刷题特辑第三期✨4.Java牛客&
写在前面以下代码,目前均可通过民间OJ数据(dotcpp&NewOnlineJudge),两个OJ题目互补,能构成全集,可以到对应链接下搜题提交(感谢OJ对题目的支持)如果发现任何问题,包含但不限于算法思路出错、OJ数据弱算法实际超时、存在没考虑到的边界情况等,请及时联系作者题解A.幸运数(模拟)题面题解 由于是填空题,按题意本地暴力,几秒就跑出来结果了,直接交结果代码#includeusingnamespacestd;intans;intmain(){ /* for(inti=1;iB.有奖问答(搜索/dp)题面题解1.搜索:2的30次方种可能,每次要么+10要么清零,遇到100分时
最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理已参加机试人员的实战技巧文章目录最近更新的博客使用说明箱子之形摆放题目输入输出示例一输入输出说明备注Code