上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要: 总共有n枚硬币,排成阶梯形状,满足第K行有K个硬币。 求形成的完整阶梯行的总行数。 例如n=5时, 1 1 1 1 1 此时完整的阶梯行的总行数为2,因为第3行未排满。 n为一个非负整数,且在32位有符号整型的范围内。 暴力破解 func arrangeCoins(n int)int{ for i: 阅读全文
posted @ 2021-04-07 21:48 pangqianjin 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 递归 func fibRecursive(n int)int{ if n==0{ return 0 } if n==1{ return 1 } return fibRecursive(n-1) + fibRecursive(n-2) } 动态规划 func fibDynamic(n int)int{ 阅读全文
posted @ 2021-04-07 21:01 pangqianjin 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 给定一个升序的整数数组numbers,从数组中找出两个数满足: 两数之和等于目标数target,且两个数不能是同一个数, 假设每个输入只对应唯一的答案,不能重复使用同一个元素(下标不能相同)。返回两数的下标。 暴力破解,O(n2) map打标记,O(n),但是空间复杂度也为O(n) 二分查找(对于每 阅读全文
posted @ 2021-04-07 19:57 pangqianjin 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 给定一个无序的整数数组numbers,从数组中找出两个数满足: 两数之和等于目标数target,且两个数不能是同一个数, 假设每个输入只对应唯一的答案,不能重复使用同一个元素(下标不能相同)。返回两数的下标。 暴力解法 map打标记 package main import ( "fmt" ) fun 阅读全文
posted @ 2021-04-07 19:21 pangqianjin 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 整形数组nums,在数组中找出由三个数字组成的最大乘积,并输出这个乘积。(乘积不会越界。不考虑超过int的最大值) 重点考察:线性扫描。 暴力破解 先排序 全是正数或全是负数,则nums[length-1]*nums[length-2]*nums[length-3] 有负数有正数,则要么是nums[ 阅读全文
posted @ 2021-04-07 18:49 pangqianjin 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 递归版牛顿迭代 package main import ( "fmt" ) func newton(n int)int{ if n==0{ return 0 } return int(sqrt(float64(n), float64(n))) } func sqrt(x, n float64)flo 阅读全文
posted @ 2021-04-07 17:57 pangqianjin 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 不能使用sqrt函数,得到x的平方根的整数部分(x>0)。 package main import "fmt" func mySqrt(x int) int { var left = 0 var right = x for left<=right{ mid := (left+right)/2 if 阅读全文
posted @ 2021-04-07 15:41 pangqianjin 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组nums,编写一个能返回数组中心下标的方法。 中心下标:是数组的一个下标,其左侧所有元素相加的和等于右侧元素相加的和。 如果数组不存在,则返回-1.如果数组存在多个中心下标,返回最靠近左侧的那个。 注意:中心下标可能会出现在数组的两端。 package main import "fm 阅读全文
posted @ 2021-04-07 15:23 pangqianjin 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一个有序数组nums,原地删除重复出现的元素,使每个元素只能出现一次,返回删除后数组的新长度。 不能使用额外的数组空间,必须在原地修改输入的数组,并在使用O(1)额外空间的条件下完成(临时变量、指针等) 例如:输入:[0,1,2,2,3,3,3,4] 输出:5 重点考察:双指针算法 package 阅读全文
posted @ 2021-04-07 14:58 pangqianjin 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 暴力破解 func isPrime(n int) bool{ for i:=2;i*i<=n;i++{ if n%i==0{ return false } } return true } func bf(n int)int{ sum := 0 for i:=2;i<n;i++{ if isPrime 阅读全文
posted @ 2021-04-07 14:17 pangqianjin 阅读(59) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页