算法
Isabelle_Yan
这个作者很懒,什么都没留下…
展开
-
力扣20. 有效的括号
20. 有效的括号20. 有效的括号思路遇到相应的括号匹配就出栈代码class Solution {public: bool isValid(string s) { stack<char> s2; for(int i = 0;i<s.length();i++){ if(s[i] == '('||s[i] =='{'||s[i] =='[' ){ s2.push(s[i]);原创 2022-05-27 18:30:34 · 78 阅读 · 0 评论 -
155. 最小栈
力扣155. 最小栈思路一开始没看懂题目,后来看了题解顺着题解思路把代码敲出来了。代码class MinStack {public: stack<int> data; stack<int> min; MinStack() { min.push(INT_MAX); } void push(int val) { data.push(val); if(val<min.原创 2022-05-27 18:28:19 · 50 阅读 · 0 评论 -
力扣138. 复制带随机指针的链表
138. 复制带随机指针的链表链接思路首先把链表建立起来,再把每个节点random的下标存到一个数组里,最后按照下标设置每个节点random指针。代码/*// Definition for a Node.class Node {public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; rand原创 2022-05-25 22:23:38 · 90 阅读 · 0 评论 -
力扣92. 反转链表 II
力扣 92. 反转链表 II链接思路把需要转置的部分放到数组里,转置之后再放回原链表代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * Lis原创 2022-05-25 19:00:14 · 311 阅读 · 0 评论 -
力扣86. 分隔链表
86. 分隔链表链接思路首先遍历链表,将小节点下标存入一个数组,大节点和x的下标存入另一个数组,然后大节点下标数组拼到小节点下标数组后面组成一个新的下标数组,使得原数组按下标数组重新排列。代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * L原创 2022-05-25 08:51:19 · 172 阅读 · 0 评论 -
力扣21. 合并两个有序链表
力扣21. 合并两个有序链表链接思路先把两个list串起来成一个list,再将引入一个数组排序,排完序之后把原list赋值为数组的顺序代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), ne原创 2022-05-24 18:58:20 · 69 阅读 · 0 评论 -
力扣160.相交链表
160. 相交链表参照代码随想录思路,先把两个链表右对齐,再向后遍历,遇到相同的元素就返回/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *getInter原创 2022-05-24 15:16:53 · 126 阅读 · 0 评论 -
杭电2003求绝对值
#include#includeusing namespace std;int main(int argc, const char * argv[]) { double a,b=0; while (cin>>a) { if(a>0) b=a; else b=-a; coutsetprecision(2)fixedbendl;原创 2017-03-23 00:16:26 · 244 阅读 · 0 评论 -
杭电2004成绩转换
#includeusing namespace std;int main(int argc, const char * argv[]) { int a; while (cin>>a) { if((a>90||a==90)&&(a else if((a>80||a==80)&&(a else if((a>70||a==70)&&(a原创 2017-03-23 00:13:53 · 494 阅读 · 0 评论 -
杭电2002计算球体积
#include#includeusing namespace std;#define PI 3.1415927int main(int argc, const char * argv[]) { double r,area=0; while (cin>>r) { area=4*PI*r*r*r/3; cout }原创 2017-03-22 23:43:13 · 413 阅读 · 0 评论 -
杭电2001 计算两点间的距离
#include#include#includeusing namespace std;void distance(double x1,double y1,double x2,double y2){double z,a,b;while(cin>>x1>>y1>>x2>>y2){a=x1-x2;b=y1-y2;z=pow(a*a+b*b,0.5);cout原创 2017-03-08 23:04:52 · 219 阅读 · 0 评论 -
杭电2000 ( ASCII码排序 )
函数传递数组,冒泡排序原创 2017-03-08 00:00:54 · 242 阅读 · 0 评论