1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
|
local s = {}
local 简文件库 = require("lfs")
local ffi = require("ffi")
--~ 排
--~ 办排中值的能
--~ 入参2
--~ 入参3
--~ 入参4
function s.历排(u1_0, u1, u2, o3, o4)
function s.历排(u1_0, u1, u2, u3, o4)
local k1_0
--~ 集排
k1_0 = {}
for o5 = 1, #u1_0 do
k1_0[#k1_0 + 1] = u1(u1_0[o5], u2, o3, o4)
k1_0[#k1_0 + 1] = u1(u1_0[o5], u2, u3, o4)
end
return k1_0
end
--~ 文
--~ 历文的能
--~ 入参2
--~ 入参3
function s.历文(u1, u2, o3, o4)
function s.历文(u1, u2, u3, o4)
local k1_0
--~ 集排
k1_0 = {}
for o5 in u2(u1, o3, o4) do
for o5 in u2(u1, u3, o4) do
k1_0[#k1_0 + 1] = o5
end
return k1_0
end
--~ 排
--~ 能
function s.历排取一(u1_0, u1)
local k1
for u2 = 1, #u1_0 do
--~ 值
k1 = s.历排取一的模(k1, u1_0[u2], u1)
end
return k1
end
--~ 值
--~ 排中值
function s.历排取一的模(u1, u2, o3)
function s.历排取一的模(u1, u2, u3)
if u1 == nil then
return u2
elseif o3(u1, u2) then
elseif u3(u1, u2) then
return u2
else
return u1
end
end
--~ 对
--~ 能
function s.历对取一(u1_0, u1)
local k1, k2
for u2, u2_0 in pairs(u1_0) do
--~ 键
--~ 值
k1, k2 = s.历对取一的模(k1, k2, u2, u2_0, u1)
end
return k1, k2
end
function s.历对取一的模(u1, u2, o3, o4, o5)
function s.历对取一的模(u1, u2, u3, o4, o5)
if u1 == nil then
return o3, o4
elseif o5(u1, u2, o3, o4) then
return o3, o4
return u3, o4
elseif o5(u1, u2, u3, o4) then
return u3, o4
else
return u1, u2
end
end
function s.历对(u1_0, u1, u2)
local k1
local k1_0, k2_0
--~ 对
k1_0 = {}
for o3, u2_0 in pairs(u1_0) do
for u3, u2_0 in pairs(u1_0) do
--~ 键
--~ 值
k1, k2_0 = u1(o3, u2_0, u2)
k1, k2_0 = u1(u3, u2_0, u2)
if k1 then
k1_0[k1] = k2_0
else
end
end
return k1_0
end
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
-
+
-
+
|
return u1_0
end
end
--~ 排中文
--~ 入参2
--~ 入参3
--~ 入参4
function s.全筛文(u1, u2, o3, o4)
function s.全筛文(u1, u2, u3, o4)
print(4)
if string.find(u1, u2, o3, o4) then
if string.find(u1, u2, u3, o4) then
return u1
end
end
--~ 文
--~ 前缀
function s.加前缀(u1, u2)
return (u2 or "") .. u1
|
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
-
+
-
+
|
table.insert(u1_0, 1, "local k1_0 = {}")
table.insert(u1_0, "return k1_0")
return table.concat(u1_0, "\n")
end
--~ 文
--~ 文件路
--~ 式
function s.写文件(u1, u2, o3)
function s.写文件(u1, u2, u3)
local k1_3
--~ 文件
k1_3 = io.open(u2, o3 or "w")
k1_3 = io.open(u2, u3 or "w")
k1_3:write(u1)
k1_3:flush()
k1_3:close()
end
--~ 文
function s.删左右空白(u1)
u1 = string.gsub(u1, "^%s+", "")
|
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
-
+
-
-
+
+
-
-
+
+
|
function s.位右移(u1, u2)
return bit.rshift(u1, u2)
end
--~ 键
--~ 最大值
--~ 键
--~ 值
function s.筛对中最大值(u1, u2, o3, o4)
function s.筛对中最大值(u1, u2, u3, o4)
if u2 < o4 then
return true
end
end
--~ 最短键
--~ 值
--~ 键
--~ 值
function s.筛对中最短键(u1, u2, o3, o4)
if #u1 > #o3 then
function s.筛对中最短键(u1, u2, u3, o4)
if #u1 > #u3 then
return true
end
end
--~ 最短文
--~ 值
function s.筛排中最短文(u1, u2)
if #u1 > #u2 then
return true
end
end
--~ 内数
function s.to_uint64(u1)
local uint64_pointer = ffi.new("uint64_t[1]", u1)
return uint64_pointer[0]
end
--~ 键
--~ 值
--~ 要找的值
function s.全等筛对中值(u1, u2, o3)
if u2 == o3 then
function s.全等筛对中值(u1, u2, u3)
if u2 == u3 then
return u1, u2
else
end
end
return s
|