- 博客(138)
- 收藏
- 关注
原创 关于大升级CocoaPods遇到几个的问题
在经历macOS系统升级、pods长时间没用后,这次按照网上步骤更改ruby源后更新pods遇到了些问题,记录如下。1、成功升级pods后,pod install时出现YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0)原因是ruby版...
2018-06-04 21:51:02 1788
原创 Xcode使用Launch Arguments调试app本地化
需要测试App本地化时,要频繁从模拟器setting更换语言很是麻烦。可以在选择target时的edit scheme->run->arguments->arguments passed on launch里,添加参数-AppleLanguages (zh-Hans)。括号里可以跟语言的全称或简写,比如西班牙文可以是Spanish,也可是国家简写es。特别注意-AppleLang...
2018-04-26 22:43:13 1251
原创 iOS App显示名称国际化相关
要在不同语言环境下显示相应的App名称,需要在Xcode里进行相应设置,否则只会显示Info.plist里设置的Bundle display name,或者是Target的名称。Xcode 7.2里设置大概步骤:1、项目设置PROJECT->Info->Localizations,“+”号添加需要的语言;2、项目里new一个文件,Resource->Strings File,名字...
2018-04-14 17:40:23 2086
原创 Python写小爬虫时遇到的问题记录
很早就知道python了,但一直没拿来用,最近突然觉得需要爬一些小图片(=_=)了,就想到了python。python用起来确实方便快捷,很快就构建好了主要功能。模块分2部分,一个是爬图模块,另一个是登录模块。爬一般网站就直接调爬图模块,爬xxx网站(+_+)就执行登录模块(嵌入了爬图模块),爬不同的xxx网站需要构造不同的formdata。在陆续完善各种检测功能的时候遇到些问题,以下为问题记
2017-10-23 17:19:31 384
原创 主进程中GCD用main queue会卡死但新生成queue却没问题
主进程中添加任务到GCD的main queue会卡死,而如果用生成的queue却正常运行,原因暂时不明,贴上来记录下。void synSerial(void) {//同步串行 dispatch_queue_t squeue =dispatch_queue_create("squeue",NULL);// dispatch_queue_t s2queu
2016-12-21 21:39:54 425
原创 账号竟然被盗
一段时间没上博客发现账号竟然被锁定了,联系管理员说是发了不该有的文章。修改密码后看了下回收站,确实有不少垃圾文章,标题都是些没有语义的文字,内容都是URL,明显是爬虫瞎爬的。正好这段时间也在鼓捣爬虫,说不定可以借鉴下咧。
2016-09-24 10:56:24 491
原创 89-m-Gray Code
求n位格雷码。大概意思就是n bit的数,从0开始,下一个码从bit位层面来看只有1位相反,例如0x000的下一位是0x001,0x001的下一位可以是0x101, 0x011。拿来一看觉得大概思路就是从最右边开始逐位^,找到第一个与之前不同的数然后加入result,那很显然还要个哈希表来存已知结果来比较,否则每次都要完全遍历数组检测在leet上必然超时。写完ac后网搜了下,果然有套路
2016-05-22 17:22:54 359
原创 347-m-Top K Frequent Elements
求一个数组中出现频率排名前k的数字。一定要理解好题目,求的是出现频率排名前k,而不是出现频率大于等于k,即如果k=2,那么[1,1,1,2,2,2,3,3]所求为出现频率最高的2个数字,结果为[1,2],而不是[1,2,3]。开始我理解为>=k,解出结果是错的。leet上类似的题目不少了一看就是要哈希。我的大体解法也是哈希,但因为求的是最大的前k个,所以哈希后还要对哈希表中的结果排序,于是
2016-05-14 16:48:16 343
原创 343-m-Integer Break
将一个大于等于2的整数分拆成多个整数并使这些整数的乘积最大。一看求乘积最大立马想到了乘方因为两数相等时乘积最大,于是几行代码写出来直接提交让leet帮忙验证。。。发现是错的,sqrt(n)并不是那个关键输字,例如n=6时是sqrt(6)=2,但2*2*2=8,而最大乘积应该是3*3=9。动规也是能写的,但需要个很大的数组存储每个数字的乘积结果,有些麻烦。越来越发现leet的题目但凡跟math有
2016-05-02 17:05:54 239
原创 344-e-Reverse String
倒转字符串。这个很简单了,递归、迭代都可以。先写了个递归的,提交竟然runtime error,用例貌似是一篇英文文章。。。那肯定是效率问题了,换个迭代的,双指针的很简单了。如下:char* reverseString(char* s) { unsigned long length = strlen(s); char *result = (char *)calloc(l
2016-04-26 16:24:38 238
原创 268-m-Missing Number
给定一个有n个元素的数组,数字从[0,1,2...n-1,n]任选,但会少选一个数字,求这个没选的数字。话说这题leet给的例子太有诱导性了,乍一看这还要选么按着顺序一个个来找不就找出来了么,后来一想估计测试用例中的数字是乱序的吧,如果是排好序的那根本没意义了。所以如果先排序再一个个找肯定也是可行的。不过有了一定量刷leet经验的话看到这种多个里面求某一个的题,怎么着也会想到要用异或试
2016-04-20 19:54:47 232
原创 319-m-Bulb Switcher
给定n盏灯,第1步把它们都打开on,然后第i步把每i盏灯都置为相反状态,直到第n步完成,问最后有多少盏灯是亮的on?例如给定8盏灯,第1步全亮,第2步置2、4、6、8为off,第3步置3off,6on 。。。第8步置8为相反状态。看完题目觉得应该跟数字因数的奇偶个数有关系,于是用笔写了下找了规律,发现如果该数字的因数的个数是2的倍数的话那么最后状态一定是off的,所以就照着思路直直的敲
2016-04-20 16:54:35 306
原创 提交App到Store时Xcode显示证书没有认证的问题
更新App版本时打好包后做Validate时Xcode说证书没有认证,赶紧上developer网站一看distribution证书是active的,于是看了看本机的证书竟然显示为无效证书,网搜了下原因不明,但下了个https://developer.apple.com/certificationauthority/AppleWWDRCA.cer就可以解决,或者手动把证书修改为[完全信任]貌似也可解
2016-04-16 17:24:46 612
原创 122-m-Best Time to Buy and Sell Stock II
给定一只股票的涨跌表(数组表示),数组的第i项表示第i天的股价,根据此数组求出所可获得的最大利润。你必须在买之前先把手上的卖掉才能再次买入,但买入时可以买n股。说实话光读题目没太弄明白咋回事,网搜了下解法大概意思是求出每一段有利润的区间然后相加就行。代码非常简单但不一定能分析出来,就像有一道easy题是小偷偷东西涉及动态规划的,如果从没遇到过要自己从头分析,我肯定做不出,但最后的代码也很简单。
2016-04-11 19:44:48 254
原创 238-m-Product of Array Except Self
生成一个数组,每项的值等于除它本身外全数组所有其它数字的乘积。要求不能用除法,时间复杂度要O(n)。本来看到不能用除法一下就想到遍历时每项的值肯定存储其之前所有项的乘积,但又要求O(n),觉得一次遍历搞不定啊难道有妙招?于是网搜了下,大多数的解法是左向遍历每项存储之前所有项乘积,再右项遍历依次乘以之前得出的值即可,但这样不是O(2n)了么?有了解法后代码还是很简单的,不过有个小坑就是目标数
2016-04-11 19:19:44 285
原创 260-e-Single Number III
这次是数组中有2个不同的数字,其他都成对,要求出这2个数字。有了single number I的经验,直接借用快排,修改了下数字判断的逻辑很快就鼓捣出来了,但这样过了没啥意义,于是自己借鉴异或的经验想了半天也想不出怎么从混合的结果中分离出a、b,于是网搜。原来混合的结果mix是用来分类的,求出mix最后一个1的位置然后将数组根据此位置为0或1分为两组,a、b一定分别在两组中,因为mix的末位1
2016-04-11 11:37:22 268
原创 136-m-Single Number
给定一个数组,其中有n对成双的数字,只有一个是单独的数,求出这个数。我记得以前看到过这题,用异或就能得出单独的数,因为成对的数字异或时结果一定是0,那么最后就像连连看一样把相似的都消掉留下那个唯一的。如果没看过的话,我的思路是先排序然后判断是否成双,应该也能过。异或的代码如下:int singleNumber(int* nums, int numsSize) { int res
2016-04-09 17:44:11 277
原创 338-m-Counting Bits
给定一个数num,求出从0开始到num各个数中2进制表示法包含1的个数。逻辑很简单了就是求0、1、2、3 ... num-1, num中1的个数,很容易联想到与0x01做与运算,于是用这个很直观很笨的方法写了代码直接ac了。代码如下:void oneCount(int num, int *one) { while (num > 0) { if (num & 0x
2016-04-09 11:52:53 275
原创 67-e-Add Binary
用字符串表示二进制加法。逻辑很简单了,不过要注意s1、s2长短不一时是否有进位的处理。本来还是用c写的,要返回char *所以肯定要calloc,但是leet上凡是c我用到calloc的少有不runtime error的,所以换成c++,用string就更简单了。c++如下:class Solution_AddBinary {public: string addBinary(
2016-04-07 18:27:57 246
原创 111-e-Minimum Depth of Binary Tree
求二叉树的最小深度。这题好像是以前漏写的。很明显要广搜了,但自己懒得写队列了,于是就用深搜写的,每次记录最小的level就行。注意判断叶子和层次的对应关系就行。另外预置的层次1024在oj时还太小会出错(该用例测试层次是1800多的单二叉树),所以改为10240.如下:void dfsBT(struct TreeNode *node, int level, int *result) {
2016-04-06 19:38:33 211
原创 290-e-Word Pattern
判断字符与字符串是否成对对应,例如pattern = "abba", str = "dog cat cat dog" 返回true,如果str = “dog cat cat cat”则返回false,如果pattern = “aaaa”则也是false。很明显这是哈希,如果用c++的map的话则直接就能得答案,就像如果题目要你写一个函数求2的幂,虽然你一个系统power()库函数也可以解决,但
2016-04-06 19:07:12 286
原创 292-e-Nim Game
给定一个数,玩家和对手依次每次只能选择1,2或3,玩家先手,谁拿到最后那个数就是胜者。写一个逻辑判断给出的数是否能让你必胜。我去这个小game我在游戏中真遇到过,还记得当时的数是21,我老是输以为有很难的规律。现在竟然leet有个题目,感觉有点像动态规划的即视感,但仔细一考虑这不是0和1两种选择能搞定的,于是从4,5,6,7模拟中找规律,发现只要每次将自己的数和对手拿的数凑成4,那么最后一个数
2016-04-05 19:41:04 201
原创 326-e-Power of Three
判断一个数是否是3的幂。求幂的不用想leet的规矩肯定要将除数自增的不然可能会超时。于是抄手就写oc了,看到题目竟然有要求可以不用循环,得网搜去吧,原来是用了log函数,这还真是没想到,也把代码贴上来做个记录吧。循环逻辑的:bool isPowerOfThree(int n) { if (n <= 0) return false; bo
2016-04-05 19:15:52 185
原创 303-e-Range Sum Query - Immutable
求数组中指定区间的和。乍一看觉得题目莫名其妙,为啥还要指定数据结构呢,直接用系统数组求和不就行了么。写了个简单片段提交后直接超时,原来是会leet会大量调用你写的函数来求和而且区间往往很大,所以此题考查不仅仅是求和逻辑的可行性,更是程序的性能性。于是思考了一下,想到既然要求和,那么节点中直接存储此节点前加上自己本身的和就行了,那么任意两个节点的差值就是此区间的和,不用再遍历之前节点来求和。于是
2016-04-05 19:01:19 344
原创 299-e-Bulls and Cows
数字游戏,根据提示猜数字。乍一看就是哈希了,好像不难上手就写,但后来发现自己根本没完全理解要求导致老是错误。难点在于当有重复数字时确定那个cows,也就是b。反正自己写了蛮久cows的逻辑,我只看出了b不能大于secret中该字的出现次数,然后就是改啊改的,就是不完全对。原因在于自己没有搞懂它确定的逻辑到底是什么。提交了n次后怒查答案,发现有个思路是将secret和guess都哈希然后其各位最小值
2016-03-30 17:01:09 281
原创 328-m-Odd Even Linked List
将单链表中所有奇数位和偶数位的节点按顺序平分成两部分,奇数位的在前部分。要求用O(1),否则新建2个表再连起来没意义。考虑设置一个奇数位指针和一个偶数位指针,分别将链表中奇数节点和偶数节点串联起来,就像串珠子一样,最后将奇数链的末位与偶数链的首位相连即可。写的时候有个小坑,就是奇数或偶数链走到最后时,要将另一个链表中的末节点的next置为NULL因为此时两个链的末位都是指向该节点,否则连起
2016-03-29 17:46:14 238
原创 257-e-Binary Tree Paths
本题逻辑不难,就一个深搜把经过的节点依次记录就行。但是因为用C,所以返回的char** 老要realloc,内存不好管理,写完后自己的Xcode过了但是oj老是runtime error应该就是内存处理不好,把自己代码贴上来做个记录,以后可能会重看内存是否有误://void pathOfBTree(struct TreeNode *node, int level, int *returnSiz
2016-03-29 16:38:35 234
原创 236-m-Lowest Common Ancestor of a Binary Tree
求二叉树的最小公共祖先。虽然LCA的定义很好理解,但要用程序逻辑表达出来不简单。自己想的思路是将两个目标节点的遍历路径记录下来然后找出第一个相同的节点。无奈用C的话没有vector不方便就作罢。网上参考了下,发现以下AC代码的逻辑还是很巧妙的,而且代码量很小:struct TreeNode* lowestCommonAncestor(struct TreeNode* root, str
2016-03-26 22:25:18 297
原创 110-e-Balanced Binary Tree
判断是否是平衡二叉树,即左右子树高度差不大于1,子树同样。之前写过的有错误就一直搁置了,因为自己没有用例可测只一次次修改后直接提交让leet来帮测(其实是自己懒写二叉树的构造遍历等等一些列函数所以构造不出二叉树来测试,没有输入当然也就无法debug)。重写时在求node的depth有思路想了很久但就是没实现,那感觉就像all most there但就是到不了there,纠结后还是参考了网络
2016-03-24 16:41:58 175
原创 6-e-ZigZag Conversion
好久没刷leet了,最近想着把以前遗留的题重新刷一下。这道折线排列字符的题目记得是刚开始刷leet的时候,对leet的难度和规律还没有映像,当时觉得很难而且理解还有误区(英语理解不准确),导致写了好大一段代码最后还是deny。现在重新看了一下,发现其实是个数学题,大致规律就是相邻两竖线中同列两字符的差值一定等于(numRows - 1)*2,如果其两字符中间有间隔字符的话,这些间隔字符的间
2016-03-20 20:35:51 244
原创 2016提交App到Store要注意的地方
鉴于现在网上找得到的“关于提交应用到苹果app store”的文章都是老版本的,有些要点已经变更,再依葫芦画瓢就很容易出错,所以结合自己提交的经验记录下要注意的地方。1、当然首先要先申请个distribution的证书。具体步骤就不多说了,跟之前写过的申请developer真机测试证书一样,只是certificate类型以及任何可选择distribution的地方都选distri就行。
2016-01-11 18:55:01 345
原创 在iPhone5以上机器显示iPhone4尺寸的launchImage
真机调试的时候发现,在launchImage中如果把对应iPhone5的portrait launch image设置为iPhone4s对应的尺寸的话,run以后会以640x960的尺寸在手机上跑,正好解决了手头没有iP4s调试的问题(至少是解决了UI问题)。开始以为是bug,后来检查发现是Xcode6.4的LaunchImage设置中,iPhone portrait iOS 7,8选
2016-01-08 16:52:43 421
原创 2016-Apple开发者账号申请真机调试的步骤
本文记录注册付费apple developer后申请iOS真机调试凭据的步骤。期间参照了网上资料但由于非最新有些出入,所以自己记录一下便于以后回顾。环境:Xcode6.4,硬件:iPhone5系,浏览器建议Safari貌似加载快一些,反正开始用chrome巨慢刷半天出不来。如下:1、登陆https://developer.apple.com/后,点击“Certificates, Ide
2016-01-03 15:05:58 2725
原创 UIViewController中edgesForExtendedLayout属性的画面切断现象
做了一个tableviewVC(B)嵌在一个UIViewVC(A)的场景,B的x、y坐标在A中部。在设置B的frame时,发现B的height和y值不匹配,例如y设置为60、h设置为40(B的cell高度为20,刚好2个cell高度),B的view竟然没显示出来,之后一个个高度试了下,发现正好是64的高度被遮挡了,是一个navibar的高度。也就是说view高度的起始y值是屏幕顶端的y(绝对坐
2015-11-05 17:45:44 314
原创 iOS7.1模拟器似乎不能运行在MacOS_10.11上
最近要适配,所以把系统升级到了最新的macos10.11,但是装得是Xcode6.4,因为要调试iOS7.1的版本所以没装Xcode7。每次升级系统,都伴随着烦人的环境配置问题,这也是我不太爱升级系统的原因,除非到了要用、非升不可的时候才会动。记录下升级的问题:1、升级10.11和Xcode6.4很顺利,然后发现没有iOS7.1,于是先把自己从之前Xcode5.1中拷贝出来的iOS7 sd
2015-10-23 16:09:32 1086
原创 面试小记-3-等概率输出10000内数字等4道算法题
前两天面了家单位,面试题就1页纸,虽然写着iOS试题,但没有任何跟oc相关的东西,竟然是4道算法题1道小学(初中?)算火车相遇次数的应用题。一看是这样的题目布局就知道自己要歇菜,但没关系来刷刷题也好,毕竟也刷过leet了。不多说先赶紧拍张题目照片先。。。回来后网上搜了下这几个题目,都没有搜到出处,所以不知道答案。以下解答是自己的理解,也许会有错误,仅供参考。1、给出已实现函数int ran
2015-10-16 12:01:26 533
原创 iOS7下Cell高度自适应
Cell高度根据文字自适应的代码,折腾了半天都不对,最后发现是api中的字典参数不能为nil。看来以后苹果的api不能望文生义的随便置参数为nil了,因为它不会崩溃,导致最后效果出来后你不知道问题到底是自己代码计算错误,还是其他问题。贴出计算高度的代码,是根据self持有的一个NSString数组来计算各个cell高度的:- (CGFloat)tableView:(UITableVie
2015-10-13 19:33:37 326
原创 面试小记-2-找出二维数组里连续的'A'
前两天面了一个公司,大门就很冷清,敲了半天门一个不是接待的男生过来询问,报上公司名他竟然不知道,他有点尴尬的去问了同事后连“哦”了几声领我去会议室呆着。本来一看大门这么冷清就不太想敲门的,进来后发现竟然连职员都不知道这招聘公司,大厅的工位也空着5/6,心里就知道这又是一次我来面试面试官的经历。。。还没笔试题,这种单位一般都比较随性,是不理想的类型。也罢,既来之则安之。打了几分钟瞌睡后一长相有些
2015-10-11 15:19:21 498
原创 面试小记-1-不重复输出[1-10000]区间数字
今天去面了一家不大不小的公司,面试题应该说不算难,唯一一道编程题是要求随机输出[1-10000]中的数字,不能重复,要考虑效率。一看要求不能重复脑门一下闪到哈希表,于是啪啦啪啦写道建立一个10001大小的int数组做哈希表用值做下标用rand函数什么的,恩没错写的是文字不是代码。。。脑袋抽了。。。交卷后等了几分钟前台MM走过来很礼貌的说“对不起先生您的成绩离我们的要求有点大不好意思”,“有点大
2015-10-09 20:22:07 710
原创 283-e-Move Zeroes
将0都移动到数组末端。双指针一个个比较移动想了好久都不对,查了下别人的思路,可以把非0位都前移,只要记录下有多少个0那么将数组之后的数全部置0就行。代码很简单,所以说算法题还真是思路不对搞死都写不出来,需要及时换个思路也许代码就能很简单。如下:void moveZeroes(int* nums, int numsSize) { int ip = 0, icur = 0; f
2015-10-06 21:34:44 335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人