摘要: /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ var res [][]int func levelOrder( 阅读全文
posted @ 2021-04-08 23:01 pangqianjin 阅读(33) 评论(0) 推荐(0) 编辑
摘要: func addStrings(num1 string, num2 string) string { add := 0 //进位标志 ans := ""//最终字符串 var i = len(num1)-1//从末尾开始 var j = len(num2)-1//从末尾开始 for i >= 0 | 阅读全文
posted @ 2021-04-08 21:51 pangqianjin 阅读(78) 评论(0) 推荐(0) 编辑
摘要: func maxSubArray(nums []int) int { var res = nums[0] // 默认第一个是最大和 var sum = 0 // sum为nums[i]前面的元素的最大和 for i:=0;i<len(nums);i++{ sum = max(sum + nums[i 阅读全文
posted @ 2021-04-08 21:02 pangqianjin 阅读(34) 评论(0) 推荐(0) 编辑
摘要: func sortArray(nums []int) []int { quickSort(nums, 0, len(nums)-1) return nums } func quickSort(nums []int, low, high int){ if low<high{ var pivot = p 阅读全文
posted @ 2021-04-08 19:21 pangqianjin 阅读(66) 评论(0) 推荐(0) 编辑
摘要: func lengthOfLongestSubstring(s string)int{ var length = 0 var max = 0 var start = 0//慢指针 var end = 0//快指针 for end<len(s){ tmpChar:=s[end] for i:=star 阅读全文
posted @ 2021-04-08 17:52 pangqianjin 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 一般思路 先遍历A链表,记录所有点 再遍历B链表,若已经在记录中存在则返回该节点. /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ type voi 阅读全文
posted @ 2021-04-08 15:12 pangqianjin 阅读(91) 评论(0) 推荐(0) 编辑
摘要: /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func mergeTwoLists(l1 *ListNode, l2 *ListNode) *Li 阅读全文
posted @ 2021-04-08 14:33 pangqianjin 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 给定一些正数(代表长度)组成的数组arr,返回由其中三个 长度组成的面积不为0的三角形的最大周长。 如果不能组成三角形,返回0. 三角形满足条件:a+b>c且a+c>b且b+c>a 贪心算法 先排序(升序) 从后往前选三个数,看是否满足三角形条件 package main import ( "fmt 阅读全文
posted @ 2021-04-08 12:39 pangqianjin 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 在柠檬水摊上,每一杯柠檬水的售价为5美元。 顾客排队购买,一次购买一杯。 每一个顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。 必须给每个顾客正确找零。 **注意:**一开始你手头并没有任何零钱。 如果你能给每位顾客正确找零,则返回true,否则返回false。 贪心算法 顾客给你5块, 阅读全文
posted @ 2021-04-08 12:27 pangqianjin 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。 如: [1,2,3,2,3,4,3,4,5,6,7] 返回5. 贪心算法 func findLength(nums []int)int{ var start = 0 var maxLength = 0 for i:=1;i 阅读全文
posted @ 2021-04-08 12:10 pangqianjin 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到叶子节点经过的最短路径上的节点数量。 如: 则返回3. 广度优先 func minDepth2(root *TreeNode)int{ if root==nil{//第一次进入时根节点的判断 return 0 } root.deep = 1 va 阅读全文
posted @ 2021-04-08 11:41 pangqianjin 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到叶子节点经过的最短路径上的节点数量。 如: 则返回3. 深度优先 package main import ( "fmt" "math" ) type TreeNode struct{ val int left *TreeNode right *T 阅读全文
posted @ 2021-04-08 10:53 pangqianjin 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组,找出平均数最大且长度为K的下标连续的子数组, 并输出该平均数。 如[1,12,-5,-6,50,3], k=4 返回 12.75 滑动窗口 func findMaxAverage(nums []int, k int)float64{ var sum = 0 var n = len( 阅读全文
posted @ 2021-04-08 10:27 pangqianjin 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 两个有序数组nums1和nums2,将nums2合并到nums1中,使nums1成为一个有序数组。 初始化nums1和nums2的元素数量分别为m和n。 假设nums1的空间大小等于m+n(足够)。 一般解法,先拷贝,再排序 package main import ( "fmt" "sort" ) 阅读全文
posted @ 2021-04-08 09:50 pangqianjin 阅读(259) 评论(0) 推荐(0) 编辑