上药三品,神与气精

曾因酒醉鞭名马 生怕情多累美人


  • 首页

  • 关于

  • 分类

  • 标签

  • 归档

  • 搜索

leetcode-0005

发表于 2019-03-17 | 阅读次数:
字数统计: 104 | 阅读时长 ≈ 1
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

func longestPalindrome(s string) string {
if len(s) < 2 {
return s
}

begin, maxLen := 0, 1

for i := 0; i < len(s); {
if len(s)-i <= maxLen/2 {
break
}

b, e := i, i
for e < len(s)-1 && s[e+1] == s[e] {
e++
}
i = e + 1

for e < len(s)-1 && b > 0 && s[e+1] == s[b-1] {
e++
b--
}

newLen := e + 1 - b
if newLen > maxLen {
begin = b
maxLen = newLen
}
}

return s[begin : begin+maxLen]
}

leetcode-0004

发表于 2019-03-17 | 阅读次数:
字数统计: 150 | 阅读时长 ≈ 1
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
class Solution:
def findMedianSortedArrays(self, A, B):
m, n = len(A), len(B)
if m > n:
A, B, m, n = B, A, n, m
if n == 0:
raise ValueError

imin, imax, half_len = 0, m, (m + n + 1) / 2
while imin <= imax:
i = (imin + imax) / 2
j = half_len - i
if i < m and B[j-1] > A[i]:
# i is too small, must increase it
imin = i + 1
elif i > 0 and A[i-1] > B[j]:
# i is too big, must decrease it
imax = i - 1
else:
# i is perfect

if i == 0: max_of_left = B[j-1]
elif j == 0: max_of_left = A[i-1]
else: max_of_left = max(A[i-1], B[j-1])

if (m + n) % 2 == 1:
return max_of_left

if i == m: min_of_right = B[j]
elif j == n: min_of_right = A[i]
else: min_of_right = min(A[i], B[j])

return (max_of_left + min_of_right) / 2.0

leetcode-0003

发表于 2019-03-15 | 阅读次数:
字数统计: 58 | 阅读时长 ≈ 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

class Solution {
public:
int lengthOfLongestSubstring(string s) {
set<char> t;
int res = 0, left = 0, right = 0;
while (right < s.size()) {
if (t.find(s[right]) == t.end()) {
t.insert(s[right++]);
res = max(res, (int)t.size());
} else {
t.erase(s[left++]);
}
}
return res;
}
};

2019-go-25

发表于 2019-03-14 | 分类于 golang | 阅读次数:
字数统计: 153 | 阅读时长 ≈ 1

beego 模块化设计之 context

上下文模块主要是针对 HTTP 请求中,request 和 response 的进一步封装,他包括用户的输入和输出,用户的输入即为 request,context 模块中提供了 Input 对象进行解析,用户的输出即为 response,context 模块中提供了 Output 对象进行输出。

context 对象是对 Input 和 Output 的封装,里面封装了几个方法:

  • Redirect
  • Abort
  • WriteString
  • GetCookie
  • SetCookie

context 对象是 Filter 函数的参数对象,这样你就可以通过 filter 来修改相应的数据,或者提前结束整个的执行过程。

2019-go-24

发表于 2019-03-14 | 阅读次数:
字数统计: 347 | 阅读时长 ≈ 1

beego 模块化设计之httplib

httplib 库主要用来模拟客户端发送 HTTP 请求,类似于 Curl 工具,支持 JQuery 类似的链式操作。使用起来相当的方便;

有点像 requests模块

httplib 包里面支持如下的方法返回 request 对象:

  • Get(url string)
  • Post(url string)
  • Put(url string)
  • Delete(url string)
  • Head(url string)

发送文件

req := httplib.Post("http://beego.me/")
bt,err:=ioutil.ReadFile("hello.txt")
if err!=nil{
    log.Fatal("read file err:",err)
}
req.Body(bt)

文件直接上传接口

b:=httplib.Post("http://beego.me/")
b.Param("username","astaxie")
b.Param("password","123456")
b.PostFile("uploadfile1", "httplib.pdf")
b.PostFile("uploadfile2", "httplib.txt")
str, err := b.String()
if err != nil {
    t.Fatal(err)
}

获取数据主要有如下几种方式:

  • 返回 Response 对象,req.Response() 方法 这个是 http.Response 对象,用户可以自己读取 body 的数据等。

  • 返回 bytes, req.Bytes() 方法 直接返回请求 URL 返回的内容

  • 返回 string,req.String() 方法 直接返回请求 URL 返回的内容

  • 保存为文件,req.ToFile(filename) 方法 返回结果保存到文件名为 filename 的文件中

  • 解析为 JSON 结构,req.ToJSON(&result) 方法 返回结构直接解析为 JSON 格式,解析到 result 对象中

  • 解析为 XML 结构,req.ToXml(&result) 方法 返回结构直接解析为 XML 格式,解析到 result 对象中

1…293031…109
John Cheung

John Cheung

improve your python skills

543 日志
33 分类
45 标签
RSS
GitHub Email
© 2020 John Cheung
本站访客数:
|
主题 — NexT.Pisces v5.1.4
博客全站共226.3k字