随笔分类 - 持续输出
dps
摘要:用go写代码现在还算是比较快了 /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func isSymmetric
阅读全文
摘要:dfs 中序遍历即可 /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ var num, ans int var
阅读全文
摘要:dfs 取左右子树第二大的值进行比较 /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func findSeco
阅读全文
摘要:简单题,重拳出击 func prefixCount(words []string, pref string) int { validCnt := 0 for _, w := range words { notValid := false if len(w) < len(pref) { continu
阅读全文
摘要:正向双指针 有点麻烦,但是能通过,先提交一下,待我学习一下其他的解法再来提交 这个里面不用对opNum进行计数,可以利用left和right的位置计算出来左右两边的长度,可以省略一些,这里我就不重新写了 func minOperations(nums []int, x int) int { if n
阅读全文
摘要:对Go的多维切片的初始化语法不是特别熟悉 还有一种 [[算法-前缀和]] ,但是是二维数组的前缀和,没有深究 func imageSmoother(img [][]int) [][]int { ret := make([][]int, len(img)) for i, v := range img
阅读全文
摘要:657. 机器人能否返回原点 - 力扣(Leetcode) 刚开始用了个 map ,比较复杂,后来看了答案,按照这种简单的方式,并且做了 len(moves) % 2 != 0 的判断 func judgeCircle(moves string) bool { x, y := 0, 0 if len
阅读全文
摘要:653. 两数之和 IV - 输入二叉搜索树 - 力扣(Leetcode) 用了迭代进行遍历二叉树,因为二叉搜索树的中序遍历是有序的,所以肯定左边大于右边,然后就可以用一个map来存放之前的数值, /** * Definition for a binary tree node. * type Tre
阅读全文
摘要:645. 错误的集合 - 力扣(Leetcode) 又用了哈希表,又用了数学计算,看题解有个位运算看不太懂 func findErrorNums(nums []int) []int { m := make(map[int]struct{}, len(nums)) pSum := (1+len(num
阅读全文
摘要:643. 子数组最大平均数 I - 力扣(Leetcode) 滑动窗口,判断好边界条件即可 func findMaxAverage(nums []int, k int) float64 { begin, end := 0, k-1 if end >= len(nums) { end = len(nu
阅读全文
摘要:637. 二叉树的层平均值 - 力扣(Leetcode) 层次遍历+求平均值,Go中的切片也可以模拟queue的功能 /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNod
阅读全文
摘要:628. 三个数的最大乘积 - 力扣(Leetcode) 排序后取最小的两个数和最大的数的乘积与前三大的乘积的最大值,防止最小的两个数是负数,负负得正 取这5个数的过程,其实可以直接一次遍历出来,但是排序可以调用标准库 func maximumProduct(nums []int) int { so
阅读全文
摘要:627. 变更性别 - 力扣(Leetcode) # Write your MySQL query statement below update Salary set sex= if(sex='m', 'f', 'm');
阅读全文
摘要:620. 有趣的电影 - 力扣(Leetcode) # Write your MySQL query statement below select * from cinema where description <> "boring" and id%2 = 1 order by rating des
阅读全文
摘要:617. 合并二叉树 - 力扣(Leetcode) 递归合并二叉树 easy /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode
阅读全文
摘要:607. 销售员 - 力扣(Leetcode) 这个有点像是写离线查询了 # Write your MySQL query statement below select sp.name from ( select sales_id, name from SalesPerson ) sp left o
阅读全文
摘要:606. 根据二叉树创建字符串 - 力扣(Leetcode) 前序遍历 /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * }
阅读全文
摘要:605. 种花问题 - 力扣(Leetcode) 下面是中间有0的情况下,可以种植的个数 1 0 2 0 3 1 4 1 5 2 6 2 7 3 8 3 9 4 两边边界问题,左边我使用 begin 往后挪了两位后认为是1,右边往右挪了两位后算作1 func canPlaceFlowers(flow
阅读全文
摘要:586. 订单最多的客户 - 力扣(Leetcode) # Write your MySQL query statement below select customer_number from ( select customer_number, count(*) cnt from Orders gr
阅读全文
摘要:题目 1567. 乘积为正数的最长子数组长度 解法 解法一 算是贪心吧? 遍历的方向从前往后也是一样的道理,只不过当时写代码的时候从后往前想的,就这么写了 class Solution { /** * @param Integer[] $nums * @return Integer */ funct
阅读全文