leetcode
Tony_an
这个作者很懒,什么都没留下…
展开
-
leetcode 动态规划 golang
416. 分割等和子集能否在一个正整数数组中,找到一个子集,使得子集的和为数组和的一半。这个问题同背包问题一致,NP问题可以使用动态规划的方式进行求解,只不过装满背包变成了一半。同时子集和为原数组的一半也多了一些排除条件:数组和必须为偶数;数组中的最大值必须不能大于和的一半。关键在于状态的定义和状态转移方程以及初始条件:状态dp[i][j]表示从数组[0,i]的范围内,能否找到和为j的子集。二维数组行数为原数组的长度,列为target+1,因为要算上0,即i<=len(n...原创 2020-10-11 16:20:09 · 193 阅读 · 0 评论 -
leetcode go语言 刷题 验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falsefunc isPalindrome(s string) bool { s =...原创 2019-08-18 22:06:01 · 319 阅读 · 0 评论 -
leetcode go语言 刷题 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4看起来这个题目不是很难:只有一个出现一次,其他元素均出现两次,那么数组长度肯定是奇数,只...原创 2019-08-15 23:34:49 · 238 阅读 · 1 评论 -
leetcode go语言 刷题 求众数
给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2数组排序,返回中间那个数字就可以了func majorityElement(nums []int) ...原创 2019-08-15 23:44:27 · 471 阅读 · 0 评论 -
leetcode go语言 刷题 搜索二维矩阵 II
编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17,...原创 2019-08-16 23:06:38 · 187 阅读 · 0 评论