程序员入职5天被开除!因按时下班.....
有网友爆料,公司有个新来的小伙伴,才刚刚报到上班没几天,结果就因为每天准时打卡下班被开除了。是的,就因为按时下班!
说到加班,我估计很多上班族都有话说。现在很多公司几乎把加班当成了一种“企业文化”,你不加班简直就是异类。这种现象,不是一两个公司的问题,而是一个普遍存在的职场文化问题。
我翻了翻贴子的评论区,网友们也是积极讨论。有人说,这样的公司还能招到人吗?
也有人说,这种环境下,这种公司迟早要完。
更有网友直言,这种现象简直是歪风邪气。
工作和生活应该是一个平衡,我们需要坚持自己的生活节奏,改善这种现象。现在都说零零后整顿职场,我觉得咱们还是可以期待一下的。
下面是今日的大厂算法题
今日算法题,来自LeetCode的第24题:两两交换链表中的节点,下面是我的算法思路及实现,让我们来看看吧。 算法题目 给定一个链表,实现一个算法来交换链表中每两个相邻节点的值,并返回交换后的链表。不能只是单纯地改变节点内部的值,而是需要实际地交换节点。
算法思路
创建哨兵节点:为了简化边界条件,创建一个哨兵节点,它的next指针指向链表的头节点。
初始化指针:使用两个指针prev和current。prev初始化为哨兵节点,current初始化为链表的头节点。
遍历链表:只要current及其下一个节点不为空,执行交换操作。
节点交换:
记录current的下一个节点为next。
将current的next指针指向next的下一个节点。
将next的next指针指向current,完成一对节点的交换。
更新prev的next指针为next,以链接到已交换的节点对。
移动prev和current指针,为下一对节点的交换做准备。
返回结果:返回哨兵节点的下一个节点,即交换后的链表的头节点。
//假设链表节点定义如下:struct ListNode {int val;struct ListNode *next;};//实现函数struct ListNode* swapPairs(struct ListNode* head) {struct ListNode dummy;dummy.next = head;struct ListNode *prev = &dummy, *current = head;while (current && current->next) {struct ListNode *next = current->next;current->next = next->next;next->next = current;prev->next = next;prev = current;current = current->next;}return dummy.next;}
Java实现
// 链表节点定义:public class ListNode {int val;ListNode next;ListNode(int x) { val = x; }}//实现方法:public ListNode swapPairs(ListNode head) {ListNode dummy = new ListNode(0);dummy.next = head;ListNode prev = dummy, current = head;while (current != null && current.next != null) {ListNode next = current.next;current.next = next.next;next.next = current;prev.next = next;prev = current;current = current.next;}return dummy.next;}
Python实现
// 链表节点定义:class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next// 实现方法:def swapPairs(head: ListNode) -> ListNode:dummy = ListNode(0, head)prev, current = dummy, headwhile current and current.next:next = current.nextcurrent.next = next.nextnext.next = currentprev.next = nextprev = currentcurrent = current.nextreturn dummy.next
算法解析
以链表1->2->3->4为例,应用上述算法后,链表变为2->1->4->3。
扫描下方二维码,购买《ChatGPT实战课程》,送ChatGPT独享账号!
课程包含超多ChatGPT前沿玩法,帮助大家熟练掌握ChatGPT!