- 博客(4)
- 收藏
- 关注
原创 2020-08-27
Task04:查找2 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解析 使用一层循环,每遍历到一个元素就计算该元素与 targettarget 之间的差值,然后到 Ha
2020-08-28 15:55:50 120
原创 2020-08-25
Task3:查找1 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2:: 输入: [1,3,5,6], 2 输出: 1 解析: 遍历数组,与目标值逐一比较,如果当前值小于或者等于目标值则返回当前值的下标,否则直接返回数组长度,即为应该插入的位置; javascript代码如下: var searchInsert = f
2020-08-25 18:33:47 92
原创 2020-08-22
days02 动态规划 动态规划一般步骤: 1.状态容器 2.状态容器初始化 3.状态转移方程 4.结果 5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 解析 利用动态规划进行解题,创建一个布尔值的状态容器dp[i][j],表示给定字符串下标从i到j的子串是否是回文串,长度为s的长度,并且i<j&&i<len-1,j从1开始
2020-08-22 11:57:02 89
原创 Task01分治(2天)
50.实现 pow(x, n) ,即计算 x 的 n 次幂函数。 利用分治法进行解答,使用javascript语言 解析 对于任意个n次幂,假设n=8,我们可以拆成两个4次幂来计算,4次幂继续可拆(分治,切成小问题)。利用递归的思想很容易就可以实现。主要利用分治,可以按照情况分为以下几个点: n==0 ,任何数的0次幂都为1; n==1 返回x本身; n<0 n为负数,即返回其正次幂的倒数1除以x的-n次幂; n>0 ,又分为n为偶数和n为奇数,**n为偶数:**将n分治为n/2次幂的平方递归
2020-08-19 10:50:28 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人