Fork me on GitHub
欣欣向戎

AndyRon's Blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 公益404

  • 搜索

《培根随笔》摘录

发表于 2019-02-04 | 分类于 读书笔记 | | 阅读次数 |
字数统计 : 1,262 字 | 阅读时长 ≈ 4 分钟

作者和本书概要

弗兰西斯·培根(Francis Bacon,1561–1626)是英国文艺复兴时期最伟大的哲学家和文学家,“英国唯物主义和整个现代实验科学的真正鼻祖”。

豆瓣:《培根随笔》

内容

论真理

真正可怕的,并不是那种人人都难以避免的一念之差,而是那种深入习俗、盘踞于人心深处的谬误与偏见。

论死亡

“死亡是大自然赐给人类的一种恩惠。”

一个坚定执著、有信念的心灵不会因对死亡的畏惧而陷入恐怖。

阅读全文 »

《爱默生随笔》摘录

发表于 2019-02-02 | 分类于 读书笔记 | | 阅读次数 |
字数统计 : 977 字 | 阅读时长 ≈ 3 分钟

作者和本书概要

爱默生(Ralph Waldo Emerson), 美国思想家、文学家,诗人。爱默生是确立美国文化精神的代表人物。

豆瓣:《爱默生随笔》

内容

论爱情

成熟的年龄和迂腐的学识会使人类的花样年华逐渐凋零。

在思想或是真理的天空下,看任何事物都是美好的。在记忆的天空下,看每一段人生经历中的任何事物,则总是苦涩的。仔细地体味总是充满伤感,而热情的计划总是让人充满希望,感觉崇高。

真挚情感的最初流露与和谐仁爱是人的天性中最为迷人的风景。

爱的世界永远是人创造的,如果不尝试着去收回那些违背人性、诋毁社会本能的言语,理性而无情的哲学家们决不可能描述出每一个彷徨于此的年轻心灵所蒙受到的爱情恩惠。

世间的一切,无论已知还是未知,都已巧妙地融入男人和女人这一对机体当中了。
阅读全文 »

【译】Swift算法俱乐部-Boyer-Moore字符串搜索

发表于 2019-01-19 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,605 字 | 阅读时长 ≈ 7 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。

Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。

🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。

本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Boyer-Moore String Search


Boyer-Moore字符串搜索(Boyer-Moore String Search)

这个主题已经有教程 here

目标:在纯Swift中编写字符串搜索算法,而无需导入Foundation或使用NSString的rangeOfString()方法。

换句话说,我们想在String上实现一个indexOf(pattern:String)扩展,它返回在字符串里面第一次出现搜索模式的String.Index,如果找不到模式则返回nil 。

阅读全文 »

【译】Swift算法俱乐部-暴力字符串搜索

发表于 2019-01-19 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 616 字 | 阅读时长 ≈ 3 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。

Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。

🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。

本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Brute-Force String Search


暴力字符串搜索(Brute-Force String Search)

如果不允许导入Foundation并且不能使用NSString的rangeOfString()方法,那么如何在纯Swift中编写字符串搜索算法呢?
目标是在String上实现indexOf(pattern: String)扩展,返回第一次出现的搜索模式的String.Index,如果在字符串中找不到模式,则返回nil。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
// Input: 
let s = "Hello, World"
s.indexOf("World")

// Output:
<String.Index?> 7

// Input:
let animals = "🦍🐢🐡🐮🦖🐋🐶🐬🐠🐔🐷🐙🐮🦟🦂🦜🦢🐨🦇🐐🦓"
animals.indexOf("🐮")

// Output:
<String.Index?> 6

注意: 牛的索引是6,而不是你想象的3,因为字符串为表情符号使用更多的存储空间。 String.Index的实际值并不那么重要,只要它指向字符串中的正确字符。

阅读全文 »

【译】Swift算法俱乐部-堆排序

发表于 2019-01-15 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,051 字 | 阅读时长 ≈ 4 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。

Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。

🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。

本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Heap Sort


堆排序(Heap Sort)

使用堆将数组从低到高排序。( 译注: 也可以从高到低排序)

堆是一个部分排序的二叉树,存储在数组中。 堆排序算法利用堆的结构来执行快速排序。

要从最低到最高排序,堆排序首先将未排序的数组转换为max-heap,让数组中的第一个元素是最大的。

假设,需要排序的数组为:

[ 5, 13, 2, 25, 7, 17, 20, 8, 4 ]

首先变成了一个如下所示的max-heap:

The max-heap

阅读全文 »

系统学习iOS动画之五:使用UIViewPropertyAnimator

发表于 2019-01-13 | 分类于 iOS-Animation | | 阅读次数 |
字数统计 : 10,313 字 | 阅读时长 ≈ 41 分钟

本文是我学习《iOS Animations by Tutorials》 笔记中的一篇。
文中详细代码都放在我的Github上 andyRon/LearniOSAnimations。

UIViewPropertyAnimator是从iOS10开始引入,它能够创建易于交互,可中断和/或可逆的视图动画。

这个类让某些类型的视图动画更容易创建,值得学习。

UIViewPropertyAnimator可以在同一个类中方便地将许多API包装在一起,这样更容易使用。

此外,这个新类不能完全取代了UIView.animate(withDuration...)API集。

内容预览:

20-UIViewPropertyAnimator入门

21-深入UIViewPropertyAnimator

22-用UIViewPropertyAnimator进行交互式动画

23-用UIViewPropertyAnimator自定义视图控制器转场

本文的四个章节都是使用同一个项目 LockSearch

阅读全文 »

【译】Swift算法俱乐部-堆

发表于 2019-01-11 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 4,746 字 | 阅读时长 ≈ 17 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。

Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。

🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。

本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Heap


堆(Heap)

这个话题已经有个辅导文章

堆是数组内的二叉树,因此它不使用父/子指针。 堆基于“堆属性”进行排序,“堆属性”确定树中节点的顺序。

堆的一般用途:

  • 构建优先队列。
  • 支持堆排序。
  • 快速计算集合中最大(或最小)值。
  • 给你的非程序员朋友留下深刻影响。
阅读全文 »

【译】Swift算法俱乐部-双端队列

发表于 2019-01-01 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 2,580 字 | 阅读时长 ≈ 11 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Deque


双端队列(Deque)

出于某种原因,双端队列也被称为“deck”。

常规队列元素在后面添加(入队),从前面删除(出队)。 除了这些,双端队列还可以在后面出队,从前面入队,并且两端都可查看。

Swift中双端队列的一个非常基本的实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public struct Deque<T> {
private var array = [T]()

public var isEmpty: Bool {
return array.isEmpty
}

public var count: Int {
return array.count
}

public mutating func enqueue(_ element: T) {
array.append(element)
}

public mutating func enqueueFront(_ element: T) {
array.insert(element, atIndex: 0)
}

public mutating func dequeue() -> T? {
if isEmpty {
return nil
} else {
return array.removeFirst()
}
}

public mutating func dequeueBack() -> T? {
if isEmpty {
return nil
} else {
return array.removeLast()
}
}

public func peekFront() -> T? {
return array.first
}

public func peekBack() -> T? {
return array.last
}
}
阅读全文 »

【译】Swift算法俱乐部-有序数组

发表于 2018-12-25 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,006 字 | 阅读时长 ≈ 4 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Ordered Array


有序数组(Ordered Array)

这是一个始终从低到高排序的数组。 每当您向此数组添加新元素时,它都会插入到其排序位置。

当您希望对数据进行排序并且相对较少地插入新元素时,有序数组非常有用。在这种情况下,它比排序整个数组更快。但是,如果您需要经常更改数组,则使用常规数组并手动对其进行排序可能会更快。

实现是非常基础的。 它只是Swift内置数组的包装器:

阅读全文 »

【译】Swift算法俱乐部-固定大小数组

发表于 2018-12-25 | 分类于 swift-algorithm-club-cn | | 阅读次数 |
字数统计 : 1,546 字 | 阅读时长 ≈ 6 分钟

本文是对 Swift Algorithm Club 翻译的一篇文章。
Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下,大概有一百左右个的算法和数据结构,基本上常见的都包含了,是iOSer学习算法和数据结构不错的资源。
🐙andyRon/swift-algorithm-club-cn是我对Swift Algorithm Club,边学习边翻译的项目。由于能力有限,如发现错误或翻译不妥,请指正,欢迎pull request。也欢迎有兴趣、有时间的小伙伴一起参与翻译和学习🤓。当然也欢迎加⭐️,🤩🤩🤩🤨🤪。
本文的翻译原文和代码可以查看🐙swift-algorithm-club-cn/Fixed-Size Arrays


固定大小数组(Fixed-Size Arrays)

早期的编程语言没有非常奇特的数组。 您将创建具有固定大小的数组,从那时起它将永远不会增长或缩小。 甚至C和Objective-C中的标准数组仍然是这种类型。

当您定义这样的数组时,

int myArray[10];

编译器分配一个可以容纳40个字节的连续内存块(假设int是4个字节):

An array with room for 10 elements

阅读全文 »
12…18
AndyRon

AndyRon

Just for fun.👨‍💻✍️🎨

180 文章
13 分类
165 标签
RSS
GitHub 简书 微博 Twitter email
推荐阅读
  • Appcoda
  • 阮一峰的个人网站
  • Ray Wenderlich
© 2017 - 2019 AndyRon 全站共269.6k字