HuberyYang Blog

BE WILD AND HAVE FUN

组合数算法

组合数简化算法

一、概念 什么是组合数呢? 从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数(Combination)。 组合数基本公式为: 线性写法为:c(m,n) = m!/((m-n)!*n!) 现实生活中彩票的概率计算就涉及到组合数,比如双色球中红球选择需要从 01~33 红球中选出6个,组合结果为 c(33,6) = 110756...

GCD(四) dispatch_apply、dispatch_barrier

dispatch_apply、dispatch_barrier

dispatch_apply dispatch_apply 可以像 for 循环一样多次执行其绑定的block,在所有block任务完成之后,再进行后续任务 /* iterations 执行次数 * queue 执行队列,并行或者串行,会影响到任务执行顺序 * block 具体任务 * size_t 执行下标,区分不同block,代表每个block执行顺序 */ void ...

GCD(三) dispatch_group 调度群组

dispatch_group

假设一下下面的场景:某APP首页分为多个功能模块,每个模块使用不同的数据接口,为了提升用户体验,在加载首页时可以先将所有模块数据拿到后再加载UI,但不用考虑哪个模块先得到数据。这种情况下使用GCD的 dispatch_group 调度群组 很容易处理。 dispatch_group 包含的函数 /* 生成 group 实例 */ dispatch_group_create() /* g...

GCD(二) dispatch_semaphore 信号量

dispatch_semaphore

在实际场景中我们需要对某一公共资源进行保护或者一些任务依次之间存在依赖关系,在GCD中可以使用一下几种处理方式: 串行队列 dispatch_queue_t sQueue = dispatch_queue_create("com.dis.seri", DISPATCH_QUEUE_SERIAL); //任务A dispatch_async(sQueue, ^{ ...

GCD(一) 进程、线程、队列、同步、异步 概念区分与使用

进程、线程、队列、同步、异步 概念区分以及GCD在这些方面的使用

以前不时会使用到多线程,但没有进行过总结;正好目前闲来无事,简单的总结了一下,方便以后回顾。水平有限,如有错漏,欢迎指正。 GCD简介 Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。...

iOS Uitextview的placeholder 占位文字的实现

Uitextview 扩展添加 placeholder 占位文字

UITextView的PlaceHolder 占位文字的实现方法网上已经有很多了,特别是 VV木公 的 史上最全的iOS之UITextView实现placeHolder占位文字的N种方法 文章里面总结的很全面,我只是对里面最后一种方法封装了一下,方便以后偷懒 ~ 嘻嘻 .h 文件 #import <UIKit/UIKit.h> @in...

iOS 相机拍照、相册获取照片(仿微信) 一一 从相册获取图片、图片裁剪

从相册获取图片、图片仿微信界面进行裁剪

上篇写了使用相机拍照并裁剪的过程,本篇是关于从相册获取图片、图片裁剪的内容。 本篇使用的 iOS8.0 之后的 Photos 框架 导入框架 #import <Photos/Photos.h> 获取所有的相册 - (void)getOriginalImages { // 获得所有的自定义相簿 PHFetchResult...

iOS 相机拍照、相册获取照片(仿微信) 一一 拍照、图片裁剪

仿微信进行拍照以及图片的裁剪

最近项目做到用户自定义头像功能模块,然后仿照微信做了一个,功能包括照片拍摄和图片裁剪。 使用相机拍照 导入需要的框架 #import <AVFoundation/AVFoundation.h> 创建相机 /** 捕获设备,通常是前置摄像头,后置摄像头,麦克风(音频输入) */ @...

编程中较常用的搜索技巧

编程中较常用的搜索技巧

转自:好的搜索技巧能够造就好的程序员 搜索,是互联网的入口,每个人都离不开搜索,更何况程序员?程序员最离不开的有两样东西,一个是 GitHub ,一个是搜索引擎。离开这两样东西,我相信大部分程序员都不会编程了。所以,一个好的程序员利用好的搜索技巧不仅可能提高自己的能力,还可以提高开发效率。 今天,我们就来讲一讲利用 Google 或者让人讨厌,而国内人又不得不用的百度进行有效的搜...

HTML5 表单

表单学习

<!DOCTYPE html> <html> <head> <title>表单</title> <meta charset="utf-8"> <style type="text/css"> ...