算法学习--Day5
其实今天是第六天,不过昨天写的题目有些杂乱,都是贪心的算法,所以昨天的题目就不放上来了。
今天开始入手数据结构吧啦吧啦。。
数据结构当时学的时候感觉挺简单的,不过现在真正上代码之后发现情况并不妙,还是好好刷题好好学习。
第一题不是oj上的,但是我感觉很有用,是堆栈的基础题目。所以我把它也放上来。
题目介绍:输入包括多组数据,每组数据一行,包含一个字符串与左右括号()。
样例输入: )(rttyy())sss)(
输出:
)(rttyy())sss)(
? ?$
#include <stdio.h> #include<iostream> #include <stack> using namespace std;stack<int> S; char str[110]; char ans[110];int main(){while (scanf("%s",str)!=EOF){for (int i = 0; str[i]!=0; ++i) {if (str[i]=='('){S.push(i);ans[i]=' ';}else if(str[i]==')'){if(!S.empty()){S.pop();ans[i]=' ';}else{ans[i]='?';}}else ans[i]=' ';}while (!S.empty()){ans[S.top()]='$';S.pop();}cout<<ans<<endl;}return 0; }
这里用到了stack库,并初始化了一个int类型的S堆栈。
使用了 pop、top、push、empty函数来操作这个堆栈。
题目描述
输入描述:
输入有多组数据。 每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。
输出描述:
输出权值。
输入
5 1 2 2 5 9
输出
37
#include <iostream> #include <queue> #include <stdio.h> using namespace std; priority_queue<int, vector<int>, greater<int> > q;int main(){ int n;while (scanf("%d",&n)!=EOF){while (!q.empty()) q.pop();for (int i = 0; i <n ; ++i) {int x;cin>>x;q.push(x);}int ans=0;while (q.size()>1){int a = q.top();q.pop();int b = q.top();q.pop();ans+=a+b;q.push(a+b);}cout<<ans<<endl;}return 0; }
转载于:https://www.cnblogs.com/Pinging/p/8893788.html
算法学习--Day5相关推荐
- 路径规划算法学习Day5
路径规划算法学习Day5-A*算法的实现 原理回顾 一.A* 算法评价函数 二.曼哈顿距离(Manhattan Distance) 2.1.名词解释 2.2.其它启发函数 二.A* 算法matlab完 ...
- Python学习day5作业-ATM和购物商城
Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...
- 拿下斯坦福和剑桥双offer,00后的算法学习之路
董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...
- 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)
知其所以然地学习(以算法学习为例) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) Updated(2008-7-24):更新见正文部分,有标注 ...
- 原创 | 初学者友好!最全算法学习资源汇总(附链接)
在计算机发展飞速的今天,也许有人会问,"今天计算机这么快,算法还重要吗?"其实永远不会有太快的计算机,因为我们总会想出新的应用.虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快 ...
- 基本算法学习(一)之希尔排序(JS)
参考书: 严蔚敏-数据结构 希尔排序(Shell's Sort) 希尔排序又称"缩小增量排序",归属于插入排序一类,简单来说,和我们的插入排序比,它更快. 奇妙的记忆点: 内排序( ...
- 大顶堆删除最大值_算法学习笔记(47): 二叉堆
堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小).当根节点保存堆中最大值时,称为大根堆:反之,则称为小根堆. 二叉堆(Binary Heap)是最简单.常用的堆,是一 ...
- Surf算法学习心得(一)——算法原理
Surf算法学习心得(一)--算法原理 写在前面的话: Surf算法是对Sift算法的一种改进,主要是在算法的执行效率上,比Sift算法来讲运行更快!由于我也是初学者,刚刚才开始研究这个算法,然而网上 ...
- 算法学习:后缀自动机
[前置知识] AC自动机(没有什么关联,但是看懂了会对后缀自动机有不同的理解) [解决问题] 各种子串的问题 [算法学习] 学习后缀自动机的过程中,看到了许多相关性质和证明,但是奈何才疏学浅(lan) ...
最新文章
- android音频开发6,Android 音视频开发(一) : 通过三种方式绘制图片
- 利用dos管道命令获取屏幕内容_汇编语言--常用DOS功能
- JSP中EL表达式无效的问题
- Eviews学习笔记
- eclipse中图片大小用什么单位_建筑工程行业中各个单位都是什么样的关系?
- 847. Shortest Path Visiting All Nodes(二)
- JAVA GC(Garbage Collection)及OOM那些事
- ios客户端做屏蔽_Transmission 屏蔽迅雷反吸血脚本
- 一招教你数据仓库如何高效批量导入与更新数据
- java环境变量大小写_java环境变量配置
- oracle 表删掉了_分区,Oracle 删除表分区
- 时序分析基本概念介绍——SDC概述
- 求两个字符串的最长的连续公共子串
- 云知梦Jquery视频教程 jq重入门到精通 共12集
- vscode安装旧版本插件_vscode安装和安装插件
- 空行的符号 计算机,word中空白行的回车符号怎么消除 消除word中的回车符号
- oracle静默安装集群,Oracle RAC 静默安装实践
- 基本医疗保险如何看门诊
- 电脑调分辨率黑屏了怎么办_调显示器分辨率黑屏怎么办
- PWN之堆利用-unlink攻击
热门文章
- 内容搜索排序表达式的最佳实践
- 蚂蚁集团网络通信框架 SOFABolt 功能介绍及协议框架解析 | 开源
- 阿里妈妈基于TensorFlow做了哪些深度优化?TensorFlowRS架构解析
- apk ionic 破损_cordova – ionic build android不生成任何.apk文件或错误
- 游戏性能优化技术干货分享——内存管理
- Oracle GoldenGate 之--异构平台同步(Mysql到Oracle)
- 使用expdp导出时评估所需存储容量大小
- 小米11pro和vivox60哪个好
- Linux学习笔记02
- java八种排序算法---直接插入排序