本专区由 开发技能 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
行走代码江湖,怎能没有一把趁手的兵器?本专区包括开发者工具、极客技能、开发库、文档、应用开发、操作系统、编码工具等。
本专区由 开发技能 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
之前学习基础知识的时候也说了,递推和动态规划有这暧昧不清的关系,可以说,动态规划就是多了一个决策过程的递推。因此,我们今天的刷题也会涉及到一些比较简单的动态规划的题目,同样能够对我们深刻的理解递推算法起到帮助,也为我们之后深入学习动态规划算法和动态规划的优化打下基础。 作者/ 汤文辉 编辑/ 刘振宇 youdao 一、前置知识 ydtech 1.1 滚动数组 使用场景:当我们下(上)一行的状态可以仅仅通过上(下)一行的信... 展开更多
相信了解算法同学经常会说动态规划太难了,看到题目完全不知从何下手,或者是说“一看题解就会,一看题目就废”这样的一个状态。本质上是由于学习动态规划的时候,学习方法不对,最终导致南辕北辙,没有掌握其中精髓。而动态规划与递推算法又有着暧昧不清的关系,我们选择先从递推算法入手,一步一步揭开动态规划的神秘面纱。 作者/ 汤文辉 编辑/ 黄倩倩(实习) youdao 一、递推公式 ydtech 每一个递推算法,都有一个递推公式,... 展开更多
摘要:日常生活中,很多事物都可以用树来描述,例如书的目录、工作单位的组织架构等等。树是计算机中非常重要的一种数据结构,树存储方式可以提高数据的存储、读取效率。 本文分享自华为云社区《【云驻共创】想了解二叉树,看这篇文章就够了》,作者: liuzhen007 。 前言 日常生活中,很多事物都可以用树来描述,例如书的目录、工作单位的组织架构等等。树是计算机中非常重要的一种数据结构,树存储方式可以提高数据的存储、读... 展开更多
# 背景 身处信息时代之中,我们最能明显感受到的一点就是密集数据大量爆发,人们积累的数据也越来越多。这些庞杂的数据出现在一起,传统使用的很多数据记录、查询、汇总工具并不能满足人们的需求。更有效的将这些大量数据处理,让计算机听懂人类需要的数据效果,从而形成更加自动化、智能的数据处理方式。 为了处理这些海量数据,出现了各种大数据引擎、搜索引擎、计算引擎、3D引擎等,用以更好解决数据庞杂带来人工无法处理的问... 展开更多
![](https://tva1.sinaimg.cn/large/008i3skNly1gtzamux9jcj61c00u0dpn02.jpg) # 前言 设计模式不管是在面试还是工作中都会遇到,但我经常碰到小伙伴抱怨实际工作中自己应用设计模式的机会非常小。 正好最近工作中遇到一个用`观察者模式`解决问题的场景,和大家一起分享。 背景如下: 在用户创建完订单的标准流程中需要做额外一些事情: ![](https://tva1.sinaimg.cn/large/008i3skNly1gu3e9roxqxj60bg057jrb02.jpg) 同时这些业... 展开更多
### 内容简介指南 - Paxo算法指南 - Zab算法指南 - Raft算法指南 ------------ ### Paxo算法指南 #### Paxos算法的背景 > 【Paxos算法】是莱斯利·兰伯特(Leslie Lamport)**1990年提出的一种基于消息传递的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一**,其解决的问题就是在分布式系统中如何就某个值(决议)达成一致。 #### Paxos算法的前提 > **Paxos算法的前提假设是不存在拜占庭将军问题,即:信道是安全... 展开更多
在系列文章上篇和中篇(参考相关阅读),我们介绍了优化效果,并且评估了影响。而在本文中,我们将进一步展示详细的模拟结果,通过分析这些不同场景的结果给出结论和建议;我们还会介绍采集和模拟工具,使读者能针对自己的业务场景进行评估。 相关阅读: 上篇:干掉讨厌的 CPU 限流,让容器跑得更快 | 龙蜥技术 中篇:CPU Burst 有副作用吗?让数学来回答!| 龙蜥技术 场景和参数设定 我们设定整个系统存在 m 个 cgroup,每个 ... 展开更多
链式调用:返回对象然后调用对应对象的方法即可实现 一个例子 例子一 Piggy.m -(Piggy *)buy_wood{ NSLog(@"买木材"); return self;//这里的思路很关键 } -(Piggy *)build_A_House{ NSLog(@"盖房子"); return self;//这里的思路很关键 } 复制代码 实现 Piggy * pig = [[[Piggy new] buy_wood] build_A_House]; 输出 盖房子 买木材 复制代码 在我们使用时难免有些麻烦,而且也不雅观,对吧。当...... 展开更多
## 前言 如果只用普通的知识解释i++和++i的话 - i++ 先将i赋值再++ - ++i 先++再赋值 但是这简单的回答并不能入吸引面试官的眼球,如果用java字节码指令分析则效果完全不同。 ## **代码实现** ``` public class OperandStackTest { /** 程序员面试过程中, 常见的i++和++i 的区别 */ public static void add(){ //第1类问题: int i1 = 10; i1++; System.out.println(i1);//11 int i2 = 10; ++i2; System.out.println(i2);//11 ... 展开更多
摘要:最小二乘法是一种在误差估计、不确定度、系统辨识及预测、预报等数据处理诸多学科领域得到广泛应用的数学工具。最小二乘很简单,也在业界得到了广泛使用。 本文分享自华为云社区《最小二乘法介绍》,作者:Yan 。 最小二乘法是一种在误差估计、不确定度、系统辨识及预测、预报等数据处理诸多学科领域得到广泛应用的数学工具。最小二乘很简单,也在业界得到了广泛使用。 但是对于最小二乘法和它的故事,也许很多人并不了解... 展开更多
hello,大家好,我是张张,「架构精进之路」公号作者。 最近跟团队同学聊到了一致性算法Raft,于是翻了下之前发布整理过的文章,重新温故学习之。 一、Raft算法概述 当我们只有一个服务节点的情况下,是不存在节点共识的问题的,当存在多个不同服务节点时,才会引入分布式一致性的问题。 Raft是一种实现分布式共识的协议。所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。... 展开更多
首先看一下这道常见的面试题,下面代码中,会创建几个字符串对象? ```java String s="a"+"b"+"c"; ``` 如果你比较一下Java源代码和反编译后的字节码文件,就可以直观的看到答案,只创建了一个String对象。 ![](https://gitee.com/trunks2008/picture/raw/master/2021-8-12/1628736584649-1.png) 估计大家会有疑问了,为什么源代码中字符串拼接的操作,在编译完成后会消失,直接呈现为一个拼接后的完整字符串呢? 这是因为在编译... 展开更多
作者|羿川 审校|泰一 ![1.gif](https://oscimg.oschina.net/oscnet/up-db94f9ae57ca3f3df750bfabd82cc968ebe.gif) 虚拟背景依托于人像分割技术,通过将图片中的人像分割出来,对背景图片进行替换实现。根据其使用的应用场景,大体可以分成以下三类: **直播场景**:用于氛围营造,例如教育直播、线上年会等; **实时通讯场景**:用于保护用户隐私,例如视频会议等; **互动娱乐场景**:用于增加趣味性,例如影视编辑、抖音人物... 展开更多
摘要:本文将会从最基础的调度算法说起,逐个分析各种主流调度算法的原理,带大家一起探索CPU调度的奥秘。 本文分享自华为云社区《探索CPU的调度原理》,作者:元闰子。 前言 软件工程师们总习惯把OS(Operating System,操作系统)当成是一个非常值得信赖的管家,我们只管把程序托管到OS上运行,却很少深入了解操作系统的运行原理。确实,OS作为一个通用的软件系统,在大多数的场景下都表现得足够的优秀。但仍会有一些特殊的场... 展开更多
写在前面: 大家好,我是时光。 今天给大家带来的是排序算法中的堆排序,这种排序跟二叉树相关。我采用图解方式讲解,争取写透彻。话不多说,开始! 思维导图: 堆排序导图 1,堆排序概念 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 相关概念: 1.1,二叉树 二叉树 特征:每个节点最多只有2... 展开更多
摘要:单纯型算法是求解线性规划问题(LP)的一个经典算法,在单纯型算法中最耗时的模块是计算矩阵的逆矩阵的算法。网络单纯形算法是单纯形算法的一个特殊版本,它使用生成树基来更有效地解决具有纯网络形式的线性规划问题。 本文分享自华为云社区《网络单纯型算法简介》,原文作者:云小凡 。 前言 单纯型算法是求解线性规划问题(LP)的一个经典算法,在单纯型算法中最耗时的模块是计算矩阵的逆矩阵的算法。网络单纯形算法是单... 展开更多
摘要:平时练习算法题学习算法知识时,经常会发现题解里写着“动态规划”,里面一上来就是一个复杂的dp公式,对于新人来说除了说声“妙啊”,剩下就是疑惑,他是怎么想到这个公式的?我能想到吗?这玩意工作中有用吗? 本文分享自华为云社区《动态规划究竟是怎么想到的?【奔跑吧!JAVA】》,原文作者:breakDraw。 平时练习算法题学习算法知识时,经常会发现题解里写着“动态规划”,里面一上来就是一个复杂的dp公式,对于新人... 展开更多
摘要:在编程里,排序是一个重要算法,它可以帮助我们更快、更容易地定位数据。在这篇文章中,我们将使用排序算法分类器对我们的数组进行排序,了解它们是如何工作的。 本文分享自华为云社区《Python 排序算法指南》,原文作者:唐里 。 在编程里,排序是一个重要算法,它可以帮助我们更快、更容易地定位数据。在这篇文章中,我们将使用排序算法分类器对我们的数组进行排序,了解它们是如何工作的。为了保障本文的可读性,这里只... 展开更多
>原创不易 还请一键三连支持 ### 什么是栈 栈在我们日常编码中遇到的非常多,很多人对栈的接触可能仅仅局限在 **递归使用的是栈** 和 **StackOverflowException**,栈是一种后进先出的数据结构(可以想象生化金字塔的牢房和生化角斗场的狗洞)。 栈是这么定义的: 栈(stack)又名堆栈,它是一种**运算受限**的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又... 展开更多
简介 Blowfish是由Bruce Schneier在1993年发明的对称密钥分组加密算法,类似的DES和AES都是分组加密算法,Blowfish是用来替代DES算法出现的,并且Blowfish是没有商用限制的,任何人都可以自由使用。 对比而言,虽然AES也是一种密码强度很高的对称密码算法,但是如果需要商用的话要向NIST支付授权费用。 blowfish详解 blowfish和DES一样,使用的是feistel密码来进行分组加密。blowfish的分组块大小是64bits,可变密钥长度可以从3... 展开更多