这个博主找规律的部分写得很好,原样放在下面。最后给出了顺时针和逆时针方向的螺旋队列的实现,可以看出它们的差别如此之小。
和螺旋队列类似,也是找规律的zigzag数组见这个帖子。
螺旋队列的样子如下图:
两大规律:
1、螺旋规律
2、奇数(圈数,或X轴正坐标)平方规律(紫线)
问题描述:
设1的坐标是(0,0),x方向向右为正,y方向向下为正,例如,7的坐标为(...
分类:
其他好文 时间:
2015-01-26 22:55:48
阅读次数:
247
昨天说了字符串拼接,今天来说说连接,我指的是非数组或集合类型的一堆内容拼一个字符串出来。
最简单的是用+运算符,然后还有StringBuilder和StringBuffer。如果是培训学校教的,一般都是说首选使用StringBuilder其次是StringBuffer,不要用+效率很低。实际上在大部分情况下使用+已经足够了,因为+实际上编译之后就是StringBuilder(没有StringBuilder的版本是StringBuffer),而且如果是2个字符串常量相加还能在编译器合并成一个。
一种考虑手工创...
分类:
编程语言 时间:
2015-01-26 22:55:38
阅读次数:
185
堆:堆是具有特殊性质的二叉树
每个结点都大于其左右儿子的的二叉树叫大顶堆
每个结点都小于其左右儿子的二叉树叫做小顶堆
堆排序图解:
给定一个整形数组a[]={16,7,3,20,17,8},对其进行堆排序。
首先根据该数组元素构建一个完全二叉树,得到
然后需要构造初始堆,则从最后一个非叶节点开始调整,调整过程如下:
20和...
分类:
编程语言 时间:
2015-01-26 22:55:08
阅读次数:
248
高德iOS面试整理(顺序有些乱,一面跪了)
1.简单自我介绍
2.聊c语言
3.两个数比较大小不用if和三目运算符
4.int转化为bit数组
5.多态和隐藏
6.const 和define区别
7.String类实现拷贝构造函数注意事项,是否有必要重写
数据结构
1.树层次遍历
2.链表删除
iOS
1.通知和delegate
2.ViewContr...
分类:
移动开发 时间:
2015-01-26 22:55:05
阅读次数:
242
题目大意:给定一个序列,求差分后有多少个子串满足形式为ABA,其中B部分长度为m,A部分长度大于0
首先枚举A的长度j,将序列上每隔j个点插入一个关键点
对于第i个位置上的关键点,我们找到第i+j+m个位置
利用后缀数组找出两个位置向左拓展多少个位置都是相同的,以及向右拓展都少个位置都是相同的
为了保证不重复向左和向右最多拓展j-1个位置
设拓展之后长度为len,那么如果len>=j,a...
分类:
编程语言 时间:
2015-01-26 22:51:50
阅读次数:
274
//
// main.m
// OC04-task-07
//
// Created by Xin the Great on 15-1-24.
// Copyright (c) 2015年 Xin the Great. All rights reserved.
//
#import
#import "NSArray+Log.h"
#import "Person.h"
int main...
分类:
编程语言 时间:
2015-01-26 22:48:04
阅读次数:
131
//
// main.m
// OC04-task-08
//
// Created by Xin the Great on 15-1-24.
// Copyright (c) 2015年 Xin the Great. All rights reserved.
//
#import
#import "Person.h"
int main(int argc, const char * ...
分类:
编程语言 时间:
2015-01-26 22:46:04
阅读次数:
197
题目大意:一个国王通过一个序列来做决定,他有几段段连续子序列的和的条件,知道
各段子序列的和是大于还有小于某个数(这个数已知)。问:是否能找到这样的序列。
转换一下,就是N个数组成一个序列,已知M段几个连续的数组成的子序列构成的不等
式,求这几个不等式构成的不等式组是否有解。
例如:序列{A1,A2,A3,A4,A5,…,An},有M个不等式,比如说:
Ai + A(i+1) + A(i+2) + A(i+3) + A(i+4) + … + A(i+t) < Ki 或者是
Ai + A(i+1) + A(i...
分类:
其他好文 时间:
2015-01-26 22:45:21
阅读次数:
422
题意:每个人都属于一个团体,在排队的时候,如果他所在的团体有人在队伍中,则他会站到这个团体的最后。否则站到整个队伍的队尾。输出每次出队的人的编号。分析:容易看出,长队中,在同一个团体的人是排在一起的。所以用两个队列模拟即可,一个队列保留团体的编号,另外一个队列数组存放的是团体中每个人的编号。 1 #...
分类:
其他好文 时间:
2015-01-26 22:40:10
阅读次数:
312
1.二目运算符从右往左优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符...
分类:
编程语言 时间:
2015-01-26 22:39:24
阅读次数:
159