免费做初中试卷的网站,服装平台网站有哪些,用wordpress建wiki,微信网站怎么做的好名字吗【备战秋招】——算法题目训练和总结day3#x1f60e; 前言#x1f64c;BC149简写单词题解思路分析代码分享#xff1a; dd爱框框题解思路分析代码分享#xff1a; 除2#xff01;题解思路分析代码分享#xff1a; 总结撒花#x1f49e; #x1f60e;博客昵称#xff… 【备战秋招】——算法题目训练和总结day3 前言BC149简写单词题解思路分析代码分享 dd爱框框题解思路分析代码分享 除2题解思路分析代码分享 总结撒花 博客昵称博客小梦 最喜欢的座右铭全神贯注的上吧 作者简介一名热爱C/C算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主 博主小留言哈喽各位CSDN的uu们我是你的博客好友小梦希望我的文章可以给您带来一定的帮助话不多说文章推上欢迎大家在评论区唠嗑指正觉得好的话别忘了一键三连哦 前言 哈喽各位友友们我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下都是精华内容可不要错过哟 BC149简写单词
链接: 149简写单词 题解思路分析
算法思想模拟。
首先是认真审题结合示例理解。我们可以利用cin流提取的特点巧妙的跳过空格。每一次读到一个单词然后将首字母进行一个简单的判断如果是大写字母就转小写。
代码分享
#include iostream
using namespace std;int main()
{string s;while(cin s){if(s[0] a s[0] z) cout (char)(s[0] - 32);else cout s[0];}return 0;
}dd爱框框
链接: dd爱框框 题解思路分析
算法思想同向双指针/滑动窗口
首先是认真审题结合示例理解。写出滑动窗口四部法则进窗口、判断、出窗口、更新结果。注意什么时候要跟新结果这个因题而异。这里的更新结果放到判断和出窗口之间的位置。
进窗口sum a[r];判断sum x出窗口sum - a[l];更新结果r - l 1 mindis
根据四步完成代码并注意细节即可。
代码分享
#includeiostream
using namespace std;const int N 1e7 10;
int a[N];
int l 0, r 0, sum 0;
int mindis 0x3f3f3f3f;int main()
{int n , x;int left,right;cin n x;for(int i 1; i n; i){cin a[i];}while(r n){//进窗口sum a[r];//判断while(sum x){//更新if(r - l 1 mindis){left l;right r;mindis r - l 1;}//出窗口sum - a[l];}r;}cout left right endl;return 0;
}除2
链接: 除2 题解思路分析
算法思想模拟 贪心 堆
首先是认真审题结合示例理解。这里的数据个数和范围都比较大如果累加会有溢出情况的。因此我们定义的sum为long long 类型。博主就是因为没审清楚题掉在坑里半天了。。。。既然要使得最后数组之和最小那很自然的我们就想到贪心的思想即每一次操作都把最大的那个偶数进行减半。我们借助堆数据结构可以进行一个很好的控制写起代码来也比较好控制。
代码分享
#includeiostream
#includequeue
using namespace std;int main()
{int n,k;cin n k;long long sum 0;int a 0;priority_queueint heap;for(int i 0; i n; i){cin a;sum a;if(a % 2 0)heap.push(a);}while(!heap.empty() k--){int t heap.top() / 2;heap.pop();sum - t;if(t % 2 0)heap.push(t);}cout sum endl;return 0;
}总结撒花 本篇文章旨在分享的是算法题目题解知识。希望大家通过阅读此文有所收获 如果我写的有什么不好之处请在文章下方给出你宝贵的意见。如果觉得我写的好的话请点个赞赞和关注哦~