Algorithem_MoveZeros
Algorithem_MoveZerosGiven an integer array nums, move all 0’s to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array. Example 1: 1234Input: nums = [0,1,0,3,12]Output: [1,3,12,0,0] Example 2: 1234Input: nums = [0]Output: [0] 解法一实现逻辑: 首先把所有非0元素放到前面,并记录长度,最后从非0长度到数组尾部元素置为0 举例如下: 12345678910111213141516nums = [1, 0, 2, 3, 0, 6]j = 0 遍历数组:i = 0,nums[0] = 1, != 0, num[j] = num[i], j + 1, [1, 0, 2, ...
Algorithem_ReverseArray
Algorithem_ReverseArrayGiven an array, rotate the array to the right by k steps, where k is non-negative. Example 1: 12345678Input: nums = [1,2,3,4,5,6,7], k = 3Output: [5,6,7,1,2,3,4]Explanation:rotate 1 steps to the right: [7,1,2,3,4,5,6]rotate 2 steps to the right: [6,7,1,2,3,4,5]rotate 3 steps to the right: [5,6,7,1,2,3,4] Example 2: 1234567Input: nums = [-1,-100,3,99], k = 2Output: [3,99,-1,-100]Explanation: rotate 1 steps to the right: [99,-1,-100,3]rotate 2 steps to the right: [3,9...
Algorithem_Sort
Algorithem_SortGiven an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order. QuickSort实现逻辑:取指定位置的 index 的值key,比较index和 index之前的数字,如果前面的数字大于后面的数字,则交换位置; 比如: 123456789[ 8 3 5 1 4 2 ]从 index为1开始,当前元素3,前面元素8,8 > 3,故而交换位置,数组还为[ 3 8 5 1 4 2 ]然后 index 为2,当前元素为5,前面元素为8,8>5,故而交换位置,数组为[ 3 5 8 1 4 2 ]然后 index 为3,当前元素为1,前面元素为8,8>1,故而交换位置,数组为[ 3 5 1 8 4 2 ];5>1,故而交换位置,数组为[ 3 1 5 8 4 2 ];3>1,故而交换位置,数组为[ 1 3 5 8 4 2...
Algorithem_BinarySearch
Algorithem_BinarySearchBinarySearchGiven an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity. Constraints:All the integers in nums are unique.nums is sorted in ascending order. 解法一开始我的想法是,从每次数组的中间 middleIndex 开始查找,比较数组中间的数字和 target 的大小,target 大则取 从middleIndex到数组结尾截取数组生成新的数组;target 小则取从0到 middle...
2022年04月经历
我住在上海青浦,想记录一下这次的经历。从来没想过有一天需要担心的事情:今天吃什么,家里东西够不够,今天哪里能买到菜。 由于公司在浦东,浦东街道分批排查疫情的缘故,03🈷24号开始居家办公,并没有感觉到疫情对青浦这边的影响。而后的突然通知公司里有个无症状感染者,虽然和我不在同一楼层,但公司受到影响,所以仍继续居家办公,彼时只是稍微感觉有些紧迫,但并未太在意。再接下来,就是收到浦东4天(2022年03月28日——2022年04月01日)、浦西4天(2022年04月01日——2022年04月05日)的通知,这时还在感叹终于舍得封闭了,由于还是居家办公,所以打算等浦西封闭前一天去买菜。 但是
图片中多个二维码选择的实现
背景买早餐的时候会遇到,支付宝和微信的二维码贴在一起,然后扫码的时候两个二维码一起被识别出来的情况。之前的处理可能是:APP内部判断 是自己的 Scheme 的时,自动跳转;后来发现变成了识别到多个二维码时,弹出二维码选择页,用户选择具体二维码后,再跳转。 公司的项目一直没有做这个功能,最近有时间,就来整理添加到项目中,这里分享记录一下实现的过程。 过程整个的过程是: 识别二维码 只有一个,则直接跳转; 有多个二维码信息,则跳转二维码选择页面; 二维码选择页面标记出每个二维码的位置; 点击对应位置的二维码,跳转对应的链接。 二维码识别二维码识别的逻辑,代码如下: 12345678910111213// UIImage + Category//识别二维码图片- (NSArray <CIFeature*> *)imageQRFeatures { CIImage *ciImage = [[CIImage alloc] initWithCGImage:self.CGImage options:nil]; CIContext *co...
Xcode 13.3 Archive 失败
背景升级Xcode 13.3之前,Debug 和 Archive 都没问题;升级 Xcode 13.3之后,Debug 没问题,Archive 就报错。错误信息是error: Abort trap: 6 (in target 'ZLPhotoBrowser' from project 'Pods'),于是提了个 issue,目前已解决。 解决方案是: 123"You can work around this issue by replacing UI_USER_INTERFACE_IDIOM() with UIDevice.current.userInterfaceIdiom. 这里记录分享一下,如果遇到同样问题的,可以搜一下,看是否同样是因为UI_USER_INTERFACE_IDIOM()。
更新:SDWebImage 添加 token
背景网上搜到的关于SDWebImage 添加 token,亦或者 SDWebImage add header的方法,都是直接使用SDWebImageDownloader中的setValue:forHTTPHeaderField:方法来设置。但是设置了之后笔者这边图片还是出不来,仔细研究后发现笔者这边的图片显示是先经过一次302跳转,然后跳转后才是真正的图片链接,第二次的这个链接是需要 token 的。 而直接设置SDWebImageDownloader的HTTPHeaderField设置到了第一个链接上面,302重定向后第二个链接的HTTPHeaderField仍是没有 token 解决方法一般来说,直接使用SDWebImageDownloader中的setValue:forHTTPHeaderField:方法设置即可。如下: 12345678- (void)addSDWebImageToken { SDWebImageDownloader *downloader = [SDWebImageDownloader sharedDownloader]; NS...
挑战24点
挑战24点下载链接: 挑战 24 点-益智休闲 背景开发这个是因为,龙卡信用卡每天签到,有时候会出现挑战 24 点的任务,感觉挺有意思的,就想着自己做成一个 APP ,上下班路上可以自己耍。龙卡信用卡界面如下: 开发起初以为很简单,做了之后才发现,给定数字如何计算能不能等于 24 ,给定数学表达式如何计算结果,都是问题。这里整理了一片博客[Swift 后缀表达式(逆波兰式)转换计算]( https://morganwang.cn/2022/01/06/Swift%20后缀表达式 /),大家可以参考。 和其他 24 点 APP 不一样的地方是,提供换肤,之前有打算单独针对小孩子提供一套皮肤,即用水果代替数字,比如 1 个香蕉代表数字 1 ,2 个苹果代表数字 2 等等,但是没有合适的图片,所以改成了自定义图片功能,想给小孩子使用的,可以自己找图片替换即可。 本来还有挑战分享功能,一期有,模仿微信读书的分享页,但是二期审核的时候一直 4.3 Design Spam ,我删除了。 Ps:这个审核真的有点心累,我删除了分享 APP 、关于页、建议反馈、去评价、还有挑战历史分享,来来回...
不止美剧
不止美剧《不止美剧》是个人自用的一个 APP,仅供学习,不要传播,没有上架。 界面设计参考《香色闺阁》,数据来源是《美剧 TV》,由于《美剧 TV》播放时顶部有间距不能消失,且首页具体分类剧集每次下拉刷新时,数据源都会错乱,故而自己写了一个这个 APP,大家有兴趣可以参考。 《不止美剧》其实是最先开发的 APP,比《极简天气》、《极简待办》、《水印相机-简单好用》、《挑战24点》都要早,但是一直没有放出来,最终决定开源出来,大家自用。 Github 地址: [https://github.com/mokong/buzhimeiju] 功能描述: 美剧、韩剧、日剧、泰剧最近更新 收藏、剧集搜索 播放、画中画播放 支持 iPad 关于博客地址:今是昨非的博客 我其他的 APP 推荐: 水印相机-简单好用 挑战24点