原来我20不是最低的哈哈,高兴了
点赞 评论

相关推荐

03-29 14:15
西南大学 Java
#include<bits/stdc++.h>using namespace std;int main(){    int n,count=0;    cin>>n;    string s;    for(int i=0;i<n;i++){        cin>>s[i];    }    for(int i=0;i<n;i++){        int predir=s[(i-1+n)%n]-'0';        int nextdir=s[(i+1)%n]-'0';        if(predir!=nextdir){            continue;        }        else{            if(predir==0&&s[i]=='0'){s[i]=1+'0';count++;}            if(predir==1&&s[i]=='1') {s[i]='0';count++;}                    }    }    cout<<count<<endl;}#include<iostream>#include<stdio.h>#include<stdlib.h>using namespace std;typedef struct LNode{int data;LNode* next;}LNode, *LinkList;//bool Initlink(LNode& l) {//l = (LNode*)malloc(sizeof(LNode));//l->next = NULL;//return true;//}LinkList tailLink(int n) {  //尾插法LinkList L = new LNode;L->data = 9999;L->next = NULL;LNode* p, * r;int number;r = L;for (int i = 0; i < n; i++) {p = new LNode;cin >> number;p->data = number;p->next = NULL;r->next = p;r = p;}return L;}LinkList headLink(int n) { //头插法LinkList L = new LNode;L->data = 9999;L->next = NULL;LNode* p;int number;for (int i = 0; i < n; i++) {p = new LNode;cin >> number;p->data = number;p->next = L->next;L->next = p;}return L;}void printList(LinkList L) {LNode* p;p = L->next; //跳过头节点while (p) {cout << p->data << " ";p = p->next;}cout << endl;}void reverseList(LinkList L) { //原地翻转if (L == NULL) return;else {LNode *p, *r;p = L->next; //新链表L->next = NULL; while (p != NULL) { //头插法把剩下的节点插进去r = p->next;p->next = L->next; L->next = p; p = r;}}}int main() {int n;cin >> n;LinkList L= headLink(n);printList(L);reverseList(L);printList(L);return 0;}#include<iostream>using namespace std;const int MAX_SIZE = 10010;class Stack {private:int data[MAX_SIZE];int topIndex;public:Stack() {topIndex = -1;}//入栈void push(int num) {if (full()) {cout << "The Stack is full" << endl;}else {data[++topIndex] = num;}}//出栈void pop() {if (empty()) {cout << "The Stack is empty" << endl;}else {topIndex--;}}//判空bool empty() {return topIndex == -1;}//判满bool full() {return topIndex == MAX_SIZE - 1;}//返回栈顶元素int query() {return data[topIndex];}};int main() {Stack s;int n, num;string ml;cin >> n;for (int i = 0; i < n; i++) {cin >> ml;if (ml == "push") {cin >> num;s.push(num);}else if (ml == "pop")s.pop();else if (ml == "empty") {if (s.empty()) cout << "YES" << endl;else cout << "NO" << endl;}else cout << s.query() << endl;}return 0;}#include<iostream>using namespace std;bool f(int num) {for (int i = num - 1; i > num / 2; i--){if (num % i == 0) return false;}return true;}int main() {int i = 101, count=0;for (; i < 200; i++) {if (f(i)) {count++;cout << i << " ";}}return 0;}
点赞 评论 收藏
分享
03-16 03:16
已编辑
同济大学 Java
3.15 ppd春招,服务端一面,准备的和问的不在一个频道,手撕也烂完了,感觉凉完了1. 提到MySQL使用B+树作为存储结构,讲讲B+树的实现2. 为什么使用B+树而不是红黑树或者B树作为存储结构3. B+树更适合存储UUID类型的key还是自增类的key,为什么(问到这里脑子宕机了,当时答的是uuid,现在想想显然是自增key使用B+树存储起来更方便。。。)4. 提到了操作系统,讲讲进程和线程的区别5. 对4的扩展,讲讲进程间通信和线程间通信有哪些方式(进程间:管道,信号量,消息队列,socket,共享内存等等很多,面试时完全没想起来有这么多,就说了管道,队列,socket,线程间:锁,条件变量,以及大部分进程通信方式)6. 用户态和内核态的区别,为什么要区分用户态和内核态(os这块儿大伙真得多看,服务端是真喜欢拷打os这块儿)7. 提到了系统调用,给出一个场景:从我在这个聊天框(pdd的线上面试平台提供的)给你发送了一个消息,到你那边接收到这个消息,中间发生了几次系统调用 (具体不太记得了,大意类似如此,理不直气也不壮的答了。。)8. 对7的扩展,如果是发送的是文件而不是一段话,中间过程会有什么不一样9. 你说你对Redis有了解,讲讲为什么有MySQL作为数据存储,还需要Redis10. 讲讲你觉得Redis可以用来做什么业务手撕:某业务使用的时间格式为`HH:MM:SS weekday`,现给定一个时间区间[start, end],要判断目标时间点(target) 是否在这个区间内,如果在这个区间,直接输出0;如果不在这个区间内,那么从目标时间点开始最少需要过多久(单位为秒),才能进入给定的时间区间(实现起来很简单,但是临场写连续出了bug,面试官也是一句话没说,心态直接炸了,到最后也没完全过测试点。。服了)样例:     输入: start="20:00:00 3" end = "21:00:00 5" target = "20:00:00 4" 输出:0    输入: start="20:00:00 3" end = "21:00:00 5" target = "20:00:00 1" 输出:172800最后没过是因为有个测试用例类似 start="22:00:00 5" end = "20:00:00 5" target = "19:00:00 5",其实是上周五十点到这周五八点的意思,所以target算是在这段区间里的,完全没考虑到还有这回事,最后时间不够了,来不及改了面试平台的IDE不能编译运行,只能面试官那边编译运行得到结果,结果被IDE惯坏的我一上来就猛猛写bug,我连着几回编译出了问题,心态崩了,面试官也是成功没绷住,允许我使用自己本地的IDE了,结果最后也还是没a出来我的思路:直接将时间转换成秒进行比较,如果start在end之前,就给end的weekday加7天,然后判断target或者target+7天在不在区间。
查看10道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务