第 270 场周赛 - 力扣

123 阅读1分钟

第 270 场周赛 - 力扣

image.png

  1. 排名

No.1 找出 3 位偶数

func findEvenNumbers(digits []int) []int {
	sort.Ints(digits)
	m := map[int]int{}
	r := []int{}
	for i := 0; i < len(digits); i++ {
		for j := 0; j < len(digits); j++ {
			for k := 0; k < len(digits); k++ {
				if i != j && j != k && i!=k {
					sum := digits[i]*100 + digits[j]*10 + digits[k]
					_, ok := m[sum]
					if sum >= 100 && sum%2 == 0 && !ok {
						m[sum] = 1
						r = append(r, sum)
					}
				}
			}
		}
	}
	sort.Ints(r)
	return r
}

No.2 删除链表的中间节点

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func deleteMiddle(head *ListNode) *ListNode {
	sz := len(head)
    if sz==1{
        return nil
    }
	pre := head
	for i := sz / 2; i > 1; i-- {
		pre = pre.Next
	}
	pre.Next=pre.Next.Next
	return head
}

func len(head *ListNode) int {
	sz := 0
	t := head
	for t != nil {
		t = t.Next
		sz++
	}
	return sz
}

No.3 从二叉树一个节点到另一个节点每一步的方向

No.4 合法重新排列数对