leetcode之美团公司算法
1.小美的用户名
package main
import (
"fmt"
"unicode"
)
func check(s string)string{
d := false
for i,c := range s{
if i==0{
//判断首字母是否为字母
if !unicode.IsLetter(c){
return "Wrong"
}
}
if !unicode.IsLetter(c) &&!unicode.IsNumber(c){
return "Wrong"
}else if unicode.IsNumber(c){
d = true
}
}
if d{
return "Accept"
}else{
return "Wrong"
}
}
//需要定义main函数
func main(){
var T int
var s string
fmt.Scanln(&T)//传入地址
for i:=0;i<T;i++{
fmt.Scanln(&s)//传入地址
fmt.Println(check(s)) //%s是指以字符串输出
}
}
//测实:可以在goland里尝试一下
//注:若在goland控制台直接空白回车的话,控制台没有任何输出,与leecode那个不符合
//思想:书写规则如下图所示:
一开始的默认写代码的地方是空白的,没有任何字母
当写完代码后,点击执行代码后,测试用例是空的
题目要求
2.小团的复制粘贴
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
var n int
fmt.Scan(&n)
A := make([]int, n, n)
for i := 0; i < n; i++ {
fmt.Scan(&A[i])
}
var num int
fmt.Scan(&num)
input := bufio.NewScanner(os.Stdin)
//input.Scan()
op := make([][]int, num, num)
for i := 0; i < num; i++ {
input.Scan()
readtemp := strings.Split(input.Text(), " ")
op[i] = make([]int, len(readtemp), len(readtemp))
for j := 0; j < len(readtemp); j++ {
op[i][j], _ = strconv.Atoi(readtemp[j])
}
}
B := make([]int, n, n)
for i := 0; i < n; i++ {
B[i] = -1
}
res := []int{}
for i := 0; i < num; i++ {
ok, resint := get(n, A, B, op[i])
if ok {
res = append(res, resint)
} else {
continue
}
}
for i := 0; i < len(res); i++ {
fmt.Println(res[i])
}
}
func get(n int, A, B, opreate []int) (bool, int) {
if opreate[0] == 1 {
ctrlc := A[opreate[2]-1 : opreate[2]-1+opreate[1]]
for i := 0; i < len(ctrlc); i++ {
if opreate[3]-1+i >= n {
break
}
B[opreate[3]-1+i] = ctrlc[i]
}
return false, 0
} else if opreate[0] == 2 {
return true, B[opreate[1]-1]
}
return false, 0
}