35岁程序员男朋友被裁,网友:换一个25岁的。。。
她表示自己男朋友35+程序员被裁,不知道以后要干嘛,很迷茫….以前只是看裁员的帖子,这一次真的轮到自己,才发现这种感受是形容不来的…..哎,还想着能狗到40岁,没想到这么快…..
其实35被裁已经不是什么新鲜事情了,虽然知道这样不对,但是作为社畜的我们也无力改变。
怎么说呢,就真的挺难的,网友表示35岁了后面也不知道干嘛,考公也考不了, 互联网真的没法养老 不该抱有幻想
为了缓解小姐姐的忧虑,不少网友纷纷起哄,不如直接换个男朋友吧,焦虑秒没。
最后还是那句话,继续找工作呗,还能干嘛。工作难找也还是得找啊
专属福利 👉点击领取:最全Python资料合集
由于C语言代码的实现相对较长,这里提供一个概述思路和关键函数的伪代码:
//定义链表结构体`struct ListNode`struct ListNode {int val;struct ListNode *next;};//实现`mergeTwoLists(struct ListNode* a, struct ListNode* b)`函数合并两个有序链表struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) {struct ListNode preHead;struct ListNode *p = &preHead;preHead.next = NULL;while (l1 != NULL && l2 != NULL) {if (l1->val < l2->val) {p->next = l1;l1 = l1->next;} else {p->next = l2;l2 = l2->next;}p = p->next;}if (l1 != NULL) {p->next = l1;} else {p->next = l2;}return preHead.next;}//使用分治法`mergeKLists(struct ListNode** lists, int listsSize)`,递归地将链表数组分成更小的部分,使用`mergeTwoLists`函数合并struct ListNode* merge(struct ListNode** lists, int left, int right) {if (left == right) {return lists[left];}if (left > right) {return NULL;}int mid = left + (right - left) / 2;struct ListNode* l1 = merge(lists, left, mid);struct ListNode* l2 = merge(lists, mid + 1, right);return mergeTwoLists(l1, l2);}struct ListNode* mergeKLists(struct ListNode** lists, int listsSize) {return merge(lists, 0, listsSize - 1);}
class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val = val; }}public class Solution {public ListNode mergeKLists(ListNode[] lists) {if (lists.length == 0) return null;return merge(lists, 0, lists.length - 1);}private ListNode merge(ListNode[] lists, int left, int right) {if (left == right) return lists[left];int mid = left + (right - left) / 2;ListNode l1 = merge(lists, left, mid);ListNode l2 = merge(lists, mid + 1, right);return mergeTwoLists(l1, l2);}private ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1 == null) return l2;if (l2 == null) return l1;if (l1.val < l2.val) {l1.next = mergeTwoLists(l1.next, l2);return l1;} else {l2.next = mergeTwoLists(l1, l2.next);return l2;}}}
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = nextdef mergeKLists(lists):if not lists or len(lists) == 0:return Nonedef mergeTwoLists(l1, l2):if not l1:return l2if not l2:return l1if l1.val < l2.val:l1.next = mergeTwoLists(l1.next, l2)return l1else:l2.next = mergeTwoLists(l1, l2.next)return l2def merge(lists, left, right):if left == right:return lists[left]mid = left + (right - left) // 2l1 = merge(lists, left, mid)l2 = merge(lists, mid + 1, right)return mergeTwoLists(l1, l2)return merge(lists, 0, len(lists) - 1)
算法解析
热门推荐