由买买提看人间百态

topics

全部话题 - 话题: ints
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
X****r
发帖数: 3557
1
来自主题: Programming版 - int (*b)[2]; 是什么意思?
Frankly I never get what is so hard about reading variable declarations.
As long as you can read C expressions, you can read variable declarations.
e.g. int (*b)[2] => (*b)[2] is a int.
So (*b) is an array of 2 ints, and b is a pointer to an array of 2 ints.
The same operator precedence applies here, too.
Another slightly more complex example
double (*(*f)(int (*)(int)))(double);
==> (*(*f)(int (*)(int)))(double) is a double
==> (*(*f)(int (*)(int))) is a function from a double to a double
==> (... 阅读全帖
t*********3
发帖数: 87
2
Leetcode的Best Time to Buy and Sell Stock IV 那道题,我看到网上的答案就改了
下来:
请注意看定义数组local和global的那两行。如果按照int a[n]的方式定义,leetcode
能编译但是输出错误。请问这是为什么?
class Solution {
public:
int maxProfit(int k, vector& prices) {
int days = prices.size();
if(days == 0) return 0;
if(k >= days/2) return maxProfitUnlimitedTimes(prices);
//int local[days][k+1] = {0}; //-> Compile OK but run error, if I
define the array in this way. Why?
//int global[days][k+1] = {0};
vecto... 阅读全帖
z****e
发帖数: 2024
3
来自主题: Programming版 - C++指针问题 int (*) [10]
int (*m)[10]:
m是一个指针,指向一个 array of 10 ints. m的类型是:int (*) [10]?
int m[10]:
m是一个指针,指向一个 array of 10 ints. m的类型是:int* ?(函数传递时候)
但是我知道,int (*) [10] 和 int* 是不一样的类型对吧?那怎么不一样的类型,却
表示一样的东西:m是一个指针,指向一个 array of 10 ints.?
请大侠指教。
还有:
int*
int [ ]
两者的区别。
int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样的类型?
t****t
发帖数: 6806
4
void (*A)(int): declare A as [pointer to function that takes int as
parameter, with no return]
void (*A(....))(int): declare A as a function that returns [pointer to
function that takes int as parameter, with no return], taking whatever
parameter (...)
replace "..." with "int signo, void (*func)(int)", you get what it means:
declare signal as a function, that returns [pointer to function that takes
int as parameter, with no return], and takes two parameter: first is int,
second is [pointer to fu... 阅读全帖
e******d
发帖数: 310
5
来自主题: Programming版 - C++指针问题 int (*) [10]
int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样
的类型?
no,
give you an example,
int a[][5] ={{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}};
int b[][10] ={{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}};
int (*c)[5] = a[0];
int (*d)[10] = b[0];
//note (c+1) - c is different from (d+1) - d
// (c+1) - c should be sizeof(int)*5
//(d+1) - d should be sizeof(int)*10
n********r
发帖数: 65
6
来自主题: Programming版 - why int** cannot convert to const int** ?
a simple example:
/***** code begin ************************/
void fn(const int** a)
{
std::cout << a[0][0] << std::endl;
}
int main(void)
{
int** a = new int*;
a[0]=new int;
fn(a);
return 0;
}
/***** code end **************************/
compiling error: int** cannot convert to const int**
I used to use const modifier before all the parameters
that will not change it value in the function,
and it works well if I pass a none const value to that
function. looks like all variabl
j*****g
发帖数: 16
7
来自主题: Programming版 - int F::*x = &F::x是什么意思?
(From "Thinking in C++")
Pointers to members
A pointer is a variable that holds the address of some location. You can
change what a pointer selects at runtime, and the destination of the pointer
can be either data or a function. The C++ pointer-to-member follows this
same concept, except that what it selects is a location inside a class. The
dilemma here is that a pointer needs an address, but there is no “address”
inside a class; selecting a member of a class means offsetting into that
class. Y... 阅读全帖
L*****e
发帖数: 8347
8
来自主题: Programming版 - int 和 unsigned int 比大小会出问题 c++
convert signed int a to unsigned int时,如果signed是个负数的话,convert后就
是2^32 + a。
convert unsigned int a to signed int时,如果unsigned int比max signed int大的
时候,cast的原则是implementation defined,一般是把最高位convert成正负号,剩
余的31位数convert成int。
L*****e
发帖数: 8347
9
来自主题: Programming版 - int 和 unsigned int 比大小会出问题 c++
convert signed int a to unsigned int时,如果signed是个负数的话,convert后就
是2^32 + a。
convert unsigned int a to signed int时,如果unsigned int比max signed int大的
时候,cast的原则是implementation defined,一般是把最高位convert成正负号,剩
余的31位数convert成int。
f****4
发帖数: 1359
10
int bitCounter(int number){
int counter = 0;
int n = sizeof(int) * 8;
int mask = 1 << (n - 1);
for(int i = 1; i <= n; ++i)
{
if((mask & number) != 0)
++counter;
number <<= 1;
}
return counter;
}
只能做<<操作,如果是负数,>>会有1多出来的
y*****n
发帖数: 243
11
结果必然在0到n+1之中。我们可以这样,扫描一遍数组,如果a[i]上的数为m,就找到a
[m]看里面的数是什么。如果是a[m]不是m我们就把a[i]a[m]换个位置。如果a[i]<0 or
>n就不要找a[m]了。这样一来最后大小为m的必然在a[m]位置上,如果a[m]位置上不为m
,那么这个m就是我们要找的值了。空间0时间O(n)
public static int getFirstPositive(int[] a) {
int i = 0;
while (i < a.length) {
int m = a[i];
if (m>=0 && m int tmp = a[m];
a[m] = a[i];
a[i] = tmp;
}else i++;
}

for(i = 1;i< a.le... 阅读全帖
B*****t
发帖数: 335
12
不解释了, 给你个code参考一下就明白了
#include
using namespace std;
int main() {
const int ANumNotInArray = 0x7fffffff;
class Node {
public:
int x, cnt;
}d[3];
int m[] = {3, 2, 6, 3, 2, 1, 6, 3, 6, 2, 7};
int n, i, j;
n = sizeof(m)/sizeof(int);
bool found = false;
for(i=0; i<3; i++) {
d[i].x = ANumNotInArray;
d[i].cnt = 0;
}
for(i=0; i for(j=0; j<3; j++) {
if(m[i]==d[j].x) {
d[j].cnt++; f
B*****t
发帖数: 335
13
又改了一下,你看看还有没有bug
#include
using namespace std;
int main() {
const int ANumNotInArray = 0x7fffffff;
class Node {
public:
int x, cnt;
}d[3];
int m[] = {3,3,3,7,2,2,6,1,6,2,6};
int n, i, j, ix;
n = sizeof(m)/sizeof(int);
bool found = false;
for(i=0; i<3; i++) {
d[i].x = ANumNotInArray;
d[i].cnt = 0;
}
for(i=0; i for(j=0; j<3; j++) {
if(m[i]==d[j].x) {
d[j].cnt++; found = true
s******d
发帖数: 61
14
可以多余2个数,这题DP怎么做啊.......
还有
最经典的DP coin问题, careercup上是求所有可能的次数
public static int makeChange(int n, int denom){
int next_denom=0;
switch(denom){
case 25:
next_denom=10;
break;
case 10:
next_denom=5;
break;
case 5:
next_denom=1;
break;
case 1:
return 1;
}
int ways=0;
for(int i=0;i*denom ways+=makeChange(n-i*denom,next_denom);
}
return ways;
}
如果要求print 所有的pair应该如果改code呢?
多谢多谢
c*z
发帖数: 86
15
思路同 yezhuen。
#include
#define V(i) (i + 1) /* Expected value of index i */
#define I(x) (x - 1) /* Expected index of value x */
int go(int *x, int n)
{
int i, t;
for (i = 0; i < n; i ++) {
while (x[i] > 0 && x[i] <= n &&
x[i] != V(i) &&
x[I(x[i])] != x[i]) {
t = I(x[i]);
x[i] = x[t];
x[t] = V(t);
}
}
... 阅读全帖
d***o
发帖数: 6117
16
来自主题: Football版 - 关于endzone int的问题
今天早上蹲马桶的时候突然想到的,搞得自己有点脑子转不过来了:
-如果本队防守在本方5码处int了对方传球,然后跑回本方端区kneel,下个play应该是
从本方5码进攻,对吧?
-如果本队防守在本方5码处int了对方传球,然后跑回本方端区被对方tackle,下个
play还是应该从本方5码进攻,对吧?
-如果本队防守在本方端区int了对方传球,跑出端区5码,然后又跑回端区kneel,下个
play还是应该从本方5码进攻,对吧?
-如果本队防守在本方端区int了对方传球,跑出端区5码,然后又跑回端区被对方
tackle,下个play是个什么情况?
-如果本方防守在本方端区int了对方传球,端区内放炮出界,又是个什么情况?
以上情况都不变,所有的int改成punt receiver,又是个什么情况?
G****y
发帖数: 3537
17
来自主题: NCAA版 - 八盖JTB的PASS INT真是无解啊
打OU那场,本来势均力敌,第四节开始落后11分时,一个INT导致对方在自己20几码轻
松TD。不然将会把悬念留到八盖最后一个DRIVE,有可能扳平,或输一个TD以内。
打好可爱4个INT,其中3个INT送了对方17分,有个对方红区被INT自己损失3-7分。要不
然会是一场恶战,输赢都在1TD内。
这些INT中,最不理解的就是OU那个和IOWA第一个,都是在自己红区,1ST AND 10,然
后打传不打跑,就悲剧了。这种INT是最伤的,对方直接或轻松得分,DEFENSE士气也受
挫,从此整个球队就GO SOUTH了。
其实八盖如果一上来就取得领先优势,然后多跑少传,稳扎稳打,还是很有实力的。希
望对UM和WISC两场都能如此。如果一直落后被迫要多打传的话,那八盖基本没戏了。(
打PSU那场是例外,在主场有如神助,运气好)
x**e
发帖数: 96
18
来自主题: Programming版 - unsigned int subtract int
in C/C++, what is the most portable way to subtract an int from unsigned int?
int a;
unsigned b;
a could be either positive or negative,
b>0 and cannot be represented by int (may overflow)
and I know b>abs(a) and b+abs(a) will not overflow in unsigned int.
is it safe and portable to write
b-=a;
or what is the best way to write it?
g***s
发帖数: 3811
19
i dont know why Hashmap doesn't work. maybe i mis-
understand the question?
void findPairs(int[] array, int sum) {
HashMap map = new HashMap();
for (int num : array){
if (map.containsKey(sum - num)){
for (int i = 0; i< map.get(sum-num); i++){
System.out.println(num + "," + (sum-num));
}
}
map.put(num, map.containsKey(num)? map.get(num)+1 : 1);
}
... 阅读全帖
g***j
发帖数: 1275
20
来自主题: JobHunting版 - 问一个reverse int的问题
请问leetcode上面的oj,没有考虑overflow么?但是题目描述里面提到了overflow
显然我这个code没有处理overflow啊,但是两个都过了,如果要考虑overflow,怎么处
理呢?
class Solution {
public:
int reverse(int x) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(x == 0) return x;

int sign = 1;

if (x < 0) { sign = -1; x = -x;}

int temp = 0;


while(x > 0) {

temp = temp * 10 + x %10;

x ... 阅读全帖
g*******d
发帖数: 495
21
2012年开了一个BOA的checking帐户,收到100刀的bonus。后来收到他们发来的一张
1099-INT,上面写的Interest income 100刀。
我是2010年来的,F-1学生。
再之前我在chase开户给bonus的时候就没有给1099-INT。(其实一开始给bonus时候有
withholding,但是我问他们怎么回事,他们问了我说是国际学生,就去掉了,说是这
个不用交税)
今天用学校office of international services给弄的windstar软件报税,里面问有没
1099-INT,我就填进去了,然后出来的1040NREZ里这个100刀是要交30刀的税。
我是在想,既然chase的不需要交,BOA的应该也可以不用交的吧。
刚打电话给BOA客服(1099-INT上写的电话),他问我说开户时候有没填写SSN,我应该
是写了,因为1099-INT表格上有。
c*****t
发帖数: 1879
22
来自主题: Java版 - is access to int[] faster than List?
Yes.
1. int[] is only a single function call to set/retrieve a primary value.
2. List involves 2 (one to retrieve and one to get value from Integer
object. This is not counting the fact that List internally
may access an array itself using another function call. The list
algorithm may also be slower. There are maybe several logic checks as
well. In short, List has a lot more overhead costs.
When in doubt, read the source code :)
b******y
发帖数: 9224
23

for
I think you'd have to do a loop and get the value from the Integer array and
store the int value into the int array.
Example:
int[] intArr = new int[integerArr.length];
for (int i = 0; i < integerArr.length; i++)
{
intArr[i] = integerArr[i];
}
k*k
发帖数: 508
24
来自主题: Programming版 - ask a simple question about int pointer.
仔细看原题
#include
int GetSizeOfMemory(int *a) {
return sizeof(a)/sizeof(int);
}
int main() {
int a[10];
printf("%d\n", GetSizeOfMemory(a));
}
输出 1.
d*****a
发帖数: 110
25
ISO/IEC 9899:1990, Programming Languages - C (ISO C) left the definition of
the short int, the int, the long int, and the pointer deliberately vague to
avoid artificially constraining hardware architectures that might benefit
from defining these data types independent from the other. The only
constraints were that ints must be no smaller than shorts, and longs must be
no smaller than ints, and size_t must represent the largest unsigned type
supported by an implementation. It is possible, for ins
b*****d
发帖数: 23
26
int *p = new int;
int *q = new int();
这两个有啥区别? 为什么?
A* pp = new A;
A* qq = new A();
为什么这两个就没区别了呢?
糊涂了。。。请大牛指教。
t****t
发帖数: 6806
27
int *p=new int; // *p is indeterminated
int *q=new int(); // *q is 0
for (class type) A, A has constructor, it is called anyway, so there's no
difference.
See C++ Standard 5.3.4, Clause 15.
M*******i
发帖数: 82
28
来自主题: Programming版 - C++指针问题 int (*) [10]
int m[10]:
the type of m is int[10] not int*. It can be converted to int* automatically
under certain situations.
int(*f)[10]:
f can hold the position of m.
f = &m is correct.
f = m is wrong.
t****t
发帖数: 6806
29
来自主题: Programming版 - int (*b)[2]; 是什么意思?
当然不多了, 你自己写程序这么写么?
以前常见的一个复杂玩艺是
void (*signal(int sig, void (*disp)(int)))(int);
但是现在一般都这样写:
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
D*****r
发帖数: 6791
30
来自主题: Programming版 - int *a [] 和int (*a)[] 一样吗
cdecl.org
int* a[] ==> declare a as array of pointer to int
int (*a) [] ==> declare a as pointer to array of int
e********r
发帖数: 2352
31
bool array [] = {T, T, T, T, T, T, T, T, T, …}
unsorted int array
int array2 [] = {3, 1, 2, 0, -1, …}
for(int i = 0; i < array2.size(); i++)
{
if(array2[i] > 0)
array[array2[i]] = false;
}
for(int i = 0; i < array.size(); i++)
if(array[i])
return i;
刚想的答案,看一下符合你的要求吗.
h*******e
发帖数: 1377
32
我在看cracking code interview阿,第三章
实现三个函数,o(1)push pop min
第一次做 没考虑太多 堆栈为空的情况。。
就是开个int数组, 然后 push pop 之后 时候 顺便计算 min
但是后来 发现我第一次写 newPop的时候
我写的函数类似
int newPop() { return arr[pos--];}
这样的函数 不规范 没考虑为空的情况
第二次又思考的时候 发现 和书上实现 java stack
不同的是.. C++/C 返回类型 如果是int 的话。。
无法判断stack 为空, 因为 没有一个类似NULL的
特殊value来 表明这个堆栈是空。。
莫非 函数是
int pop(){ if(!isEmpty()) return arr[pos --]; else;}
else 后面 为空。。。什么都不作 还是 返回异常 还是怎样阿? 还是这种 很基础
的stack 实现也必须要调用 c++ stl 的 stack来完成才标准阿。。
o***d
发帖数: 313
33
来自主题: JobHunting版 - leetcode:这题 int sqrt(int)??!!为啥用int
int同样用二分法么?这个误差可大了点.
要是我就先转成float,算晚了再返回int,这样的结果跟test case的结果不同....
D***n
发帖数: 6804
34
来自主题: JobHunting版 - C里的int和long有区别吗
有很多区别:
16位下的就不谈了。
Windows 下使用LLP64模型,int/long 都是32位的。
Unix下大部分使用LP64模型,int=32位,long=64位。
如果你使用long作为函数参数,那么函数的demagling 是一个问题,C++ ABI里面long
是一个独立的符号名。很多typedef的基础是int或者long,比如SInt32 32位定义为
long,64位定义为int,这样你的函数可能在不同环境下会有冲突。
B*****e
发帖数: 9375
35
来自主题: Football版 - 就知道发叔要int
发信人: BigBlue (#15), 信区: Football
标 题: 发叔的生涯
发信站: BBS 未名空间站 (Sun Jan 24 23:07:40 2010, 美东)
他19年前在Falcons生平第一次出手传球, 是INT;
在包装工的最后一次出手传球, 是INT;
在茄子的最后一次出手传球, 是INT;
在维京人的最后一次出手传球, 是INT;
他生平第一次出手传球成功, 是传给了他自己。
Interceptions and himself -- a very poignant summary on what he is about.
I*1
发帖数: 5635
36
来自主题: Football版 - 不用int,直接打掉就行。
大部分时候,如果能INT,没有哪个球队的教练会让你打掉。当然也有特殊情况。刚
才这球,INT之后也许会有更好机会,而且有很好的为对方QB制造心理压力的机会。为
什么不INT。特别象drew这种特别喜欢扔的QB,一定要用INT压制对方一直想扔的欲望
B*****e
发帖数: 9375
37
来自主题: NCAA版 - 发叔这个INT是他的一生写照
发信人: BigBlue (#15), 信区: Football
标 题: 发叔的生涯
发信站: BBS 未名空间站 (Sun Jan 24 23:07:40 2010, 美东)
他19年前在Falcons生平第一次出手传球, 是INT;
在包装工的最后一次出手传球, 是INT;
在茄子的最后一次出手传球, 是INT;
在维京人的最后一次出手传球, 是INT;
他生平第一次出手传球成功, 是传给了他自己。
Interceptions and himself -- a very poignant summary on what he is about.
e*********6
发帖数: 3453
38
大学3年 0 INT
职业队第三年常规赛结束,也是0个INT
终于在野卡赛第一场,拿了一个INT,不容易啊。
回想老爷子SOS眼光还不错,当年就知道要给Clowney 发offer,后来虽然一直拿不到
INT,还是一直给Clowney主力位置。
其实对高中的潜力球员来说,去个八马等超级强队也不一定好,要是Clowney当年硬要
去八马,说不定来了就被Saban给red shirt坐板凳了,毕竟八马强手如云,想Clowney
这个档次的防守线人至少有2位数吧
t*****g
发帖数: 5282
39
来自主题: TVGame版 - 什么装备加int
晕好像都是帽子,那带戒指吧
astrologist's set:帽子加2点int
moon butter fly set 帽子加1
black witch hat:能多加一个法术
white priest set: 帽子加1(这个好像能从赎罪那买到)
priestess set:帽子加1(这个好像能从赎罪那买到)
black/white hollow mage set:帽子加1
archdrake set:帽子加1
warlock mask:帽子加1 int和faith
desert sorceress set 帽子加3
leydia black set 帽子加1 int和faith
dark set 帽子加1 int和faith(这款很早能捡到还是买到来着)
saint's set 帽子增加每种法术使用数量
hexer's set 你已经知道了
c*********n
发帖数: 128
40
来自主题: Java版 - 关于char和int的问题
今天写程序碰到一个问题, 搞清楚了,
但是由此想到之前在这里问的为什么write()参数为int c问题, 故来讨论一下
用InputStream的read()来从文件中读字节
read
public abstract int read()
throws IOException
Reads the next byte of data from the input stream. The value byte is
returned as an int in the range 0 to 255. If no byte is available because the
end of the stream has been reached, the value -1 is returned. This method
blocks until input data is available, the end of the stream is detected, or an
exception is thrown.
这里读的是byte却用int的形式
b******y
发帖数: 9224
41
java's int and integer is using auto-boxing/auto-unboxing. Syntactic sugar I
think.
Internally, it is just int or Integer object.
So, int[] != Integer[]
Otherwise, it is too much of a waste in terms of memory usage, should you
use simple int[] array.
d*******n
发帖数: 524
42
原本的问题是这样的,我写了一个QuickSorter,如下。但是这样好像只能sort各种
Object的数组,而不能sort built-in 的变量的数组比如int[]
import java.util.Random;
public class QuickSorter> {
public static final Random Rnd = new Random();

public void quickSort(T[] array) {
quickSort(array, 0, array.length-1);
}

private void quickSort(T[] array, int begin, int end) {
if(end > begin) {
int finalPivotPosition = partition(array, begin, end);
quickSort(array, begin,
j******n
发帖数: 108
43
来自主题: Java版 - byte[] to int[]
很简单的一个问题,把 byte[] 转换成相应的 int[]
我写了一个循环,每次转换 4byte
因为需要转换的数量可能比较大,有几十万的int
我测了一下时间,还是不大能满足我的要求
请问,还有没有比较优化的方法么?比如类似 c 里面的 memcp
4byte 到 int 的转换如下:
int x = ((buf[start] & 0xFF) << 24)
| ((buf[start+1] & 0xFF) << 16)
| ((buf[start+2] & 0xFF) << 8)
| (buf[start+3] & 0xFF);
还是说,大概只能达到这个水平,很难再优化了?
非常感谢!
b******y
发帖数: 9224
44
jdk里面的源程序如下:
public int nextInt(int n) {
if (n<=0)
throw new IllegalArgumentException("n must be positive");
if ((n & -n) == n) // i.e., n is a power of 2
return (int)((n * (long)next(31)) >> 31);
int bits, val;
do {
bits = next(31);
val = bits % n;
} while(bits - val + (n-1) < 0);
return val;
}
读不懂的地方是while(bits - val + (n-1) < 0);
为啥要这样判断呢?
g***l
发帖数: 2753
45
来自主题: Programming版 - ask a simple question about int pointer.
I was asked such a question: how to determine the size of memory of the int
pointer pointed? for example
int GetTheSizeofMemory(int *buffer)
{
int size;
//enter your code here, to calculate the memory size of buffer point to.
return size;
}
we can not use sizeof(buffer) to get the value, how should we do?
thanks.
P********e
发帖数: 2610
46
来自主题: Programming版 - ask a simple question about int pointer.
I don't know if this will work or not, but, at least nobody is giving
answers
int sizeOfArray(int[] a) {
int i = 0;
try {
while(true)
int x = a[i++];
}
catch(OutOfBoundException e)
{
return i-1;
}
}
P********e
发帖数: 2610
47
来自主题: Programming版 - ask a simple question about int pointer.
or
int foo(int[] a, int& nextInstantiatedVariable)
{
int x = 0;
while( a+x != & nextInstantiatedVariable)
x++;
return x;
}
b******g
发帖数: 54
48
来自主题: Programming版 - ask a simple question about int pointer.
ft, 仔细看贴。我说的是这个怎么不对:
#include
#define sizeofmemory(a) (sizeof(a)/sizeof(int))
void main()
{
int s[]={0,1,2,3,4,5,6,7,8,9};
int *b;
int size = sizeofmemory(s);
printf("%d\n ",size);
}
b***i
发帖数: 3043
49
来自主题: Programming版 - int &x=y;的问题
假如,p 是个指针,指向数据结构class{public int aa, int bb;};
我要int &x=p->aa;
但是,我需要判断p的值

if (p)
int &x=p->aa;
但这样,会不会造成 x不能在后续程序中使用,因为在if 内?
谢谢
t****t
发帖数: 6806
50
来自主题: Programming版 - c++ std::abs(int) ambiguous?
abs(int) is declared in stdlib.h (); while fabs(double) and
additional overloaded abs(double) is declared in math.h ().
if you want abs(int), but include only without , then
compiler won't know how to convert int to double/float/long double.
on the other hand, if you want abs(double) but you include only
without , compiler won't know how to convert double to int/long/long
long.
so make sure you included what you need.
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)