[XChat-Server开发笔记]2019.01.28 – 30

http://blog.ihuxu.com/xchat-server-development-notes-list在👆上面,可以找到[XChat-Server开发笔记]主题相关的所有文章1. 未登录的客户端线程池采用单例模式(Singleton Parttern)设计未登录的客户端线程池,采用静态内部类的形式保证其线程安全。之所以静态内部类能够保证单例模式的线程安全,是因为Java在底层针对类的加载已经做了同步处理,已经是线程安全的了。这种方式的优点懒加载,只有在需要的时候进行加载,节省资源在多线程共享使用一个单例时,确保线程安全关于线程安全下的单例模式的使用,参考文章:http://blog.ihuxu.com/java-singleton-pattern-usages-for-thread-safe1.1 客户端线程池的主要数据结构1.1.1 基于链表的阻塞队列(Linked B... Read More

[iOS Swift学习笔记]函数篇

http://blog.ihuxu.com/ios-swift-learning-notes-summary在这里,能够找到所有关于该主题的文章内容相关代码目录:iOS高级教程swift3.0微博项目/02/002-函数的定义 at git@github.com:GenialX/iOS-Swift-learning.gi函数函数的定义外部参数(实参的描述)省略外部参数(使用_实现)参数的默认值通过设置函数的默认值,在调用的时候,可以任意组合有默认值的型参的形式,而不用定义多个型参格式的函数无返回值的函数无返回值的函数,主要用在闭包相关代码目录:iOS高级教程swift3.0微博项目/02/003-闭包的定义 at git@github.com:GenialX/iOS-Swift-learning.gi闭包在Swift中,函数是特殊的闭包主要的应用场景异步执行完成回调控制器间回调自定义... Read More

[iOS Swift 学习笔记]基础篇

http://blog.ihuxu.com/ios-swift-learning-notes-summary在这里,可以看到所有该主题相关的学习笔记文章。时间2019.01.2内容基础数据结构变量(var) 与 常量(let)运算符可选项概念 & 解包方式 & ?? 运算符流程控制语句if let & guard letif var & guard varswitchfor字符串遍历长度拼接集合数组定义遍历增、删、改容量合并字典定义遍历增、删、改合并文章来源:胡小旭 => [iOS Swift 学习笔记]基础篇 Read More

[iOS Swift 学习笔记]前言

前言学习资源:传智播客的《iOS高级教程swift3.0微博项目》代码笔记:git@github.com:GenialX/iOS-Swift-learning.git 目录:iOS高级教程swift3.0微博项目学习方式:视频为什么选择视频学习的方式?相对于看书有哪些优点?乐趣更高,不容易困倦视频资源会高效率的讲解实战中的应用技巧,比如语法特性相关、xCode集成开发环境相关、项目架构设计相关等等笔记列表http://blog.ihuxu.com/ios-swift-learning-notes-basihttp://blog.ihuxu.com/ios-swift-learning-notes-functionhttp://blog.ihuxu.com/ios-swift-learning-notes-object-oriented文章来源:胡小旭 => iOS Swift 学习笔... Read More

小旭讲解 LeetCode 399. Evaluate Division 并查集

原题英文 —— Evaluate DivisioEquations are given in the formatA / B = k, whereAandBare variables represented as strings, andkis a real number (floating point number). Given some queries, return the answers. If the answer does not exist, return-1.0.Example:Givena / b = 2.0, b / c = 3.0.queries are:a / c = ?, b / a = ?, a / e = ?, a / a = ?, x / x = ? .return[6.0, 0.5, -1.0, 1.0, -1.0 ].The input is:vec... Read More

小旭讲解 LeetCode 39. Combination Sum 回溯法

原题Given asetof candidate numbers (candidates)(without duplicates)and a target number (target), find all unique combinations incandidateswhere the candidate numbers sums totarget.Thesamerepeated number may be chosen fromcandidatesunlimited number of times.NoteAll numbers (includingtarget) will be positive integers.The solution set must not contain duplicate combinations.Example 1Input: candidates... Read More

动态规划与分治法的思考

如果一个问题具有最优子结构的性质,此外子问题具有重叠性质,那么可以采用自底向上的动态规划的思路进行求解。同时,往往可以用递归的方式自顶向地进行求解,即分治法。如果用分治法去求解这个问题时,能够利用备忘录法进行避免对于子问题的重复计算,那么其计算的效率可以和动态规划的计算效率相比。文章来源:胡小旭 =>动态规划与分治法的思考 Read More

分治法与回溯法的思考

共同的递归性质在广义上来说,所有递归的算法都属于分治法。无非是将问题分解成一个规模更小的问题,还是将问题分解成若干个,甚至和输入规模多项式级别的子问题。那么对于前者,有些作者称作是减治法,后者称作分治法。那么对于回溯法(以深度优先搜搜方式进行)来说,目前为止我见过的都是通过递归的形式来实现的,那么从这个意义上来讲,回溯算法就是分治法的一种。回溯状态的有无再说,之所以称作是回溯法,是因为在搜索的过程中需要回溯到问题的某个状态,所以这往往需要保存回溯时的一些状态属性。然而,分治法通常并不需要考虑回溯状态的保存。分解问题的规模分治法往往是将问题分解成若干个子问题的形式,然而回溯法往往是将问题分解成规模更小的一个子问题。由于分治法将问题分解成若干个子问题,故当前问题的解需要依赖于若干个子问题,也就是若干个搜索路径的解,所以重点在于如何合并子问题的解;而然回溯法问题规模就为1个,当前的搜索路径的问题... Read More