11 2021 档案

摘要:梯度下降法: w= w - α*dw (dw是损失函数J对w的导数) 在a点时 αdw时负数 w-αdw 一直减小到全局最优解 在b点同理, 损失函数为凸函数,则函数在一点用梯度下降法走到最低点的过程中,梯度一直减小到极值点(最值点)梯度为0,停止迭代; 所以损失函数一般为凸函数。 阅读全文
posted @ 2021-11-23 18:42 夜未央111 阅读(58) 评论(0) 推荐(0)
摘要:代码实现: public int maxSubArray(int[] nums) { int[] dp = new int[nums.length]; dp[0] = nums[0]; int max = nums[0]; for (int i = 1; i < nums.length; i++)  阅读全文
posted @ 2021-11-16 20:00 夜未央111 阅读(35) 评论(0) 推荐(0)
摘要:解法一: 序列dp class Solution { int count[]= new int[10001]; public int deleteAndEarn(int[] nums) { int max =0; int n=nums.length; if(n==0) return 0; for ( 阅读全文
posted @ 2021-11-15 16:48 夜未央111 阅读(20) 评论(0) 推荐(0)
摘要:代码实现: class Solution { public int minCostClimbingStairs(int[] cost) { int n = cost.length; int []dp = new int [n+1]; dp[0]=0; dp[1]=0; for(int i=2;i<= 阅读全文
posted @ 2021-11-14 16:41 夜未央111 阅读(37) 评论(0) 推荐(0)
摘要:代码实现:public int climbStairs(int n) { int []dp = new int [n+1]; if(n<=2) return n; dp[1]=1; dp[2]=2; for (int i=3;i<=n;i++){ dp[i]=dp[i-1]+dp[i-2]; } r 阅读全文
posted @ 2021-11-13 20:44 夜未央111 阅读(27) 评论(0) 推荐(0)
摘要:代码实现: public int tribonacci(int n) { if(n<=1) return n; if(n==2) return 1; int []dp = new int[n+1]; dp[0]=0; dp[1]=1; dp[2]=1; for (int i=3;i<=n;i++) 阅读全文
posted @ 2021-11-13 20:29 夜未央111 阅读(106) 评论(0) 推荐(0)
摘要:代码实现 public int fib(int n) { if(n==0) return 0; int[] dp = new int[n+1]; dp[0] = 0; dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + d 阅读全文
posted @ 2021-11-13 20:22 夜未央111 阅读(15) 评论(0) 推荐(0)
摘要:题目描述: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 思路:统计是空格的字符,跳过, 不是空格的字符遍历完整个单词+1 代码实现: public int countSegments(String s) { int n = s 阅读全文
posted @ 2021-11-12 16:59 夜未央111 阅读(28) 评论(0) 推荐(0)
摘要:问题描述:给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中: answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。 answer[i] == "Fizz" 如果 i 是 3 阅读全文
posted @ 2021-11-11 15:58 夜未央111 阅读(41) 评论(0) 推荐(0)
摘要:问题描述: 给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 解法1: 辗转相除法 (补码即原数加上2^32) 思路:辗转相除16 ,最后翻转,这是二进制转换的常规算法 代码: public String toHex(int num) { if(num= 阅读全文
posted @ 2021-11-10 17:11 夜未央111 阅读(336) 评论(0) 推荐(0)
摘要:问题描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。 思路:三种情况,第一种 末位相加不进位,直接+1返回 第二种 末位相加后进位 但首位不进位,循环判断 阅读全文
posted @ 2021-11-06 20:24 夜未央111 阅读(32) 评论(0) 推荐(0)
摘要:问题描述: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 思路:模拟公共前缀过程,返回最长公共前缀。 代码实现: public String longestCommonPrefix(String[] strs) { String ans = ""; if  阅读全文
posted @ 2021-11-06 19:57 夜未央111 阅读(15) 评论(0) 推荐(0)
摘要:问题描述:给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。 思路:模拟数组的和 代码实现: public int[] runningSum(int[] nums) { int n = num 阅读全文
posted @ 2021-11-04 20:03 夜未央111 阅读(23) 评论(0) 推荐(0)
摘要:问题描述 给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环 阅读全文
posted @ 2021-11-03 19:59 夜未央111 阅读(49) 评论(0) 推荐(0)
摘要:题目描述: 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 解法:双指针法思路:按题目描述 阅读全文
posted @ 2021-11-02 16:57 夜未央111 阅读(43) 评论(0) 推荐(0)