【leetcode】( 141 环形链表)

bool hasCycle(struct ListNode *head) { struct ListNode *fast=head,*slow=head; while((fast)!=NULL && (fast->next)!=NULL) { fast=fast->next->next; slow=slow->next; if(fast==slow) { .
分类: 其他 发布时间: 10-26 14:31 阅读次数: 0

时间复杂度与空间复杂度看这就够了!

时间复杂度和空间复杂度总结1.算法效率2.时间复杂度3.空间复杂度1.算法效率算法效率分两种,时间效率和空间效率,即时间复杂度和空间复杂度,前者衡量算法运行速度,后者衡量算法所需要的额外空间2.时间复杂度2.1基本概念算法中的时间复杂度是一个函数,定量描述了算法运行时间总结下来就是:算法种基本操作的执行次数关注点:操作的数量级/基本操作的执行次数①执行时间和硬件资源强相关,不同硬件处理速度有差异②CPU每秒钟执行操作在亿级以上3.空间复杂度...
分类: 其他 发布时间: 10-26 14:31 阅读次数: 0

leetcode【 142 环形链表Ⅱ】

struct hashTable { struct ListNode* key; UT_hash_handle hh;};struct hashTable* hashtable;struct hashTable* find(struct ListNode* ikey) { struct hashTable* tmp; HASH_FIND_PTR(hashtable, &ikey, tmp); return tmp;}void insert(s.
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【 416 分割等和子集】

bool canPartition(int* nums, int numsSize) { if (numsSize < 2) { return false; } int sum = 0, maxNum = 0; for (int i = 0; i < numsSize; ++i) { sum += nums[i]; maxNum = fmax(maxNum, nums[i]); } if (sum .
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【 530 二叉搜索树的最小绝对差】

void dfs(struct TreeNode* root, int* pre, int* ans) { if (root == NULL) { return; } dfs(root->left, pre, ans); if (*pre == -1) { *pre = root->val; } else { *ans = fmin(*ans, root->val - (*pre)); .
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【 24 两两交换链表中的节点】

struct ListNode* swapPairs(struct ListNode* head) { if (head == NULL || head->next == NULL) { return head; } struct ListNode* newHead = head->next; head->next = swapPairs(newHead->next); newHead->next = head; .
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【 1002 查找常用字符】

这个题解来源于官方题解!char** commonChars(char** A, int ASize, int* returnSize) { int minfreq[26], freq[26]; for (int i = 0; i < 26; ++i) { minfreq[i] = INT_MAX; freq[i] = 0; } for (int i = 0; i < ASize; ++i) { memset(f.
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【100 相同的树】

/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */bool isSameTree(struct TreeNode* p, struct TreeNode* q){ if(!p && !q) return true.
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【 116 填充每个节点的下一个右侧指针】

struct Node* connect(struct Node* root) { if (root == NULL) { return root; } // 初始化队列同时将第一层节点加入队列中,即根节点 struct Node* Q[5000]; int left = 0, right = 0; Q[right++] = root; // 外层的 while 循环迭代的是层数 while (left < righ.
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

leetcode【 977 有序树的平方】

双指针就完事了!int* sortedSquares(int* A, int ASize, int* returnSize) { int* ans = malloc(sizeof(int) * ASize); *returnSize = ASize; for (int i = 0, j = ASize - 1, pos = ASize - 1; i <= j;) { if (A[i] * A[i] > A[j] * A[j]) .
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

数组相关面试题小结

思路:双指针遍历,idx和i,i不等于val,右移下一位,因为题目要求不能申请内存,所以不可以像注释那么写int removeElement(int* nums, int numsSize, int val){//int* newA=(int*)malloc(numsSize*sizeof(int));int idx=0;for(i=0;i<numsSize;++i){if(nums[i]!=val)nums[idx++]=nums[i];}//memcpy(nums,newA,.
分类: 其他 发布时间: 10-26 14:30 阅读次数: 0

Centos7搭建PPTP

搭建清单:Centos7 (我这里使用腾讯云的服务器)ppp和pptpd 包iptables (我这里使用iptables)win10客户端(连接测试使用)1、查看是否支持[root@VM_centos ~]# modprobe ppp-compress-18 && echo yesyes [root@VM_centos ~]# cat /dev/ppp cat: /dev/ppp
分类: 企业开发 发布时间: 10-26 14:30 阅读次数: 0

原来不只是fastjson,这个你每天都在用的类库也被爆过反序列化漏洞!

原来不只是fastjson,这个你每天都在用的类库也被爆过反序列化漏洞!△Hollis,一个对Coding有着独特追求的人△这是Hollis的第292篇原创分享作者lHollis来源lHollis(ID:hollischuang)在《fastjson到底做错了什么?为什么会被频繁爆出漏洞?》文章中,我从技术角度分析过为什么fastjson会被频繁爆出一些安全漏洞,然后有人在评论区发表"说
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0

阿里开源那个牛哄哄问题排查工具竟然不会用?最佳实践来了!

阿里开源那个牛哄哄问题排查工具竟然不会用?最佳实践来了!△Hollis,一个对Coding有着独特追求的人△这是Hollis的第291篇原创分享作者l汪吉来源lHollis(ID:hollischuang)入门步骤安装https://arthas.gitee.io/install-detail.html上述命令会下载启动脚本文件as.sh到当前目录,执行方式:curl-Lhttps://aliba
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0

人人网惨遭全网下架,但是我并不同情他!

人人网惨遭全网下架,但是我并不同情他!收录于话题#人人网4#以史为鉴6△Hollis,一个对Coding有着独特追求的人△这是Hollis的第288篇原创分享作者lHollis来源lHollis(ID:hollischuang)人人网,现在可能很多00后都完全不知道这是个什么网站,但是对于大部分80、90后来说,在微信诞生之前,他伴随了我们的青春。可以说很多人亲眼见证并参与了人人网的起伏与兴衰,甚
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0

从一段 Dubbo 源码到 CPU 分支预测的一次探险之旅

每个时代,都不会亏待会学习的人。大家好,我是 yes。这次本来是打算写一篇 RocketMQ 相关文章的,但是被插队了,我也是没想到的。说来也是巧最近在看 Dubbo 源码,然后发现了一处很奇怪的代码,于是就有了这篇文章,让我们来看一下这段代码,它属于 ChannelEventRunnable,这个 runnable 是 Dubbo IO 线程创建,将此任务扔到业务线程池中处理。看到没,把 sta
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0

透彻,分布式事务一网打尽

每个时代,都不会亏待会学习的人。大家好,我是 yes。今天我想和大家一起盘一盘分布式事务,会介绍常见的分布式事务实现方案和其优缺点以及适用的场景,并会带出它们的一些变体实现。还会捎带一下分布式数据库对 2PC 的改进模型,看看分布式数据库是如何做的。然后再分析一波分布式事务框架 Seata 的具体实现,看看分布式事务究竟是如何落地的,毕竟协议要落地才是有用的。首先我们来提一下事务和分布式事务是什么
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0

哪家互联网巨头值得去?互联网巨头比较

来自大佬们对互联网巨头的评价,看哪家公司你值得去阿里巴巴: 钱多+996福报;绩效比较严格末位淘汰,3.25你们懂的。压力大,p7就是人中龙凤;企业认同感较强。腾讯: 加班强度一般;技术一般,微信和其他部门待遇悬殊;bat中评价较好。美团: 发展前景比较好,今年市值暴涨,互联网市值第三;老实又直男,每年两次调薪,给新人机会多。据说今年给的薪资比字节都高。华为∶ 爆肝加班;狼性竞争;缺少关怀为;憋2年年终股票多字节跳动: 大小周、比较累,面试难,钱多;其中有个头条前同事说:头条待一年,人间已三年;入
分类: 其他 发布时间: 10-26 13:50 阅读次数: 0

HTTP 的前世今生,那些不为人知的秘密

每个时代,都不会亏待会学习的人。大家好,我是 yes。HTTP 协议在当今的互联网可谓是随处可见,一直默默的在背后支持着网络世界的运行,对于我们程序员来说 HTTP 更是熟悉不过。平日里我们都说架构是演进的,需求推动着技术的迭代、更新和进步,对于 HTTP 协议来说也是如此。不知你是否有想过 HTTP 协议是如何诞生的,一开始是怎样的,又是怎么一步一步发展到今天的 HTTP/3 ?其中经历了哪些不
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0

时间轮算法在Netty和Kafka中的应用,为什么不用Timer、延时线程池?

大家好,我是yes。最近看 Kafka 看到了时间轮算法,记得以前看 Netty 也看到过这玩意,没太过关注。今天就来看看时间轮到底是什么东西。为什么要用时间轮算法来实现延迟操作?延时操作 Java 不是提供了 Timer 么?还有 DelayQueue 配合线程池或者 ScheduledThreadPool 不香吗?我们先来简单看看 Timer、DelayQueue 和 ScheduledThr
分类: 编程语言 发布时间: 10-26 13:50 阅读次数: 0