当前位置: 首页 > news >正文

洛阳建站推广公司网址导航推广

洛阳建站推广公司,网址导航推广,有源代码怎么制作网站,建筑工程网课哪个好文章目录 1. 山脉数组的峰顶索引题干#xff1a;算法原理#xff1a;代码#xff1a; 2. 寻找峰值题干#xff1a;算法原理#xff1a;1. 暴力解法2. 二分查找 代码#xff1a; 3. 下降路径最小和题干#xff1a;算法原理#xff1a;1. 状态表示2.状态转移方程3. 初始化… 文章目录 1. 山脉数组的峰顶索引题干算法原理代码 2. 寻找峰值题干算法原理1. 暴力解法2. 二分查找 代码 3. 下降路径最小和题干算法原理1. 状态表示2.状态转移方程3. 初始化4. 填表顺序5. 返回值 代码 1. 山脉数组的峰顶索引 原题链接 题干 山脉数组 找峰顶 返回索引 算法原理 由于这个数组具有“二段性”使用二分查找 目标是左边的左边小于右边 目标值右边的左边大于右边 峰顶数据特点 arr[i] arr[i - 1] arr[i] arr[i 1]峰顶左边的数据特点 arr[i] arr[i - 1] arr[i] arr[i 1] 也就是呈现上升趋势峰顶右边数据的特点 arr[i] arr[i - 1] arr[i] arr[i 1] 也就是呈现下降趋势 如果 mid 置呈现上升趋势说明我们接下来要在 [mid 1, right] 区间继续搜索如果 mid 位置呈现下降趋势说明我们接下来要在 [left, mid - 1] 区间搜索如果 mid 位置就是⼭峰直接返回结果 代码 class Solution {public int peakIndexInMountainArray(int[] arr) {int left 1;int right arr.length - 2;while(left right) {int mid left (right - left 1) / 2;if(arr[mid] arr[mid - 1]) {left mid;}else {right mid - 1;}}return left;} }2. 寻找峰值 原题链接 题干 峰值元素严格大于左右相邻的元素 算法原理 首先这道题有三种情况 1. 暴力解法 从第一个位置开始一直向后走 分情况讨论 2. 二分查找 任取⼀个点 i 与下⼀个点 i 1 会有如下两种情况 arr[i] arr[i 1] 此时「左侧区域」⼀定会存在⼭峰因为最左侧是负无穷那么我们可以去左侧去寻找结果arr[i] arr[i 1] 此时「右侧区域」⼀定会存在⼭峰因为最右侧是负无穷那么我们可以去右侧去寻找结果 接下来按照模版写就可以 代码 class Solution {public int findPeakElement(int[] nums) {int left 0;int right nums.length - 1;while(left right) {int mid left (right - left) / 2;if(nums[mid] nums[mid 1]) {left mid 1;}else {right mid;}}return left;} }3. 下降路径最小和 原题链接 题干 有一个 n * n 的整形数组 找到下降路径的最小和 比如示例一就有两种情况 1 可以向下、向左下、向右下 算法原理 1. 状态表示 dp[i][j] 表示到达 [i, j] 位置时所有下降路径中的最小和 2.状态转移方程 对于普遍位置 [i, j] 根据题意得到达 [i, j] 位置可能有三种情况 从正上方 [i - 1, j] 位置转移到 [i, j] 位置从左上方 [i - 1, j - 1] 位置转移到 [i, j] 位置从右上方 [i - 1, j 1] 位置转移到 [i, j] 位置 我们要的是三种情况下的「最小值」然后再加上矩阵在 [i, j] 位置的值 dp[i][j] min(dp[i - 1][j], min(dp[i - 1][j - 1], dp[i - 1][j 1])) matrix[i][j] 3. 初始化 可以在最前⾯加上⼀个「辅助结点」帮助我们初始化 辅助结点里面的值要「保证后续填表是正确的」「下标的映射关系」 在本题中需要「加上⼀行」并且「加上两列」 所有的位置都初始化为无穷大然后将第⼀行初始化为 0 即可 4. 填表顺序 从上往下 5. 返回值 返回「dp表中最后⼀行的最小值」 代码 class Solution {public int minFallingPathSum(int[][] matrix) {int n matrix.length;int[][] dp new int[n 1][n 2];for(int i 1; i n; i) {dp[i][0] dp[i][n 1] Integer.MAX_VALUE;}for(int i 1; i n; i) {for(int j 1; j n; j) {dp[i][j] Math.min(dp[i-1][j], Math.min(dp[i-1][j-1],dp[i-1][j1])) matrix[i-1][j-1];}}int ret Integer.MAX_VALUE;;for(int j 1; j n; j) {ret Math.min(ret, dp[n][j]);}return ret;} }
http://www.huolong8.cn/news/34999/

相关文章:

  • win7 做服务器开网站wordpress页面特效
  • 保定专业网站建设开发公司站长工具流量统计
  • 网络营销方式对经济效益的影响wordpress 网站排名优化
  • 织梦网站模板修改携程旅行网
  • 石家庄市制作网站公司wordpress鼠标标题插件
  • 做爰全过程免费的教网站一般电商网站做集群
  • 网站建设资讯站个人房产信息网查询网签备案信息
  • 单页网站制作程序专门做微信推送的网站
  • 界首做网站wordpress缩略图没
  • 网站怎么做IPv6ui设计一个页面多少价格合适
  • 网站建设开发服务费税率网站建设流程的怎样的
  • 海原县城乡建设局网站网络管理系统的功能
  • 做网站公司选智投未来兰山网站建设
  • 百竞网站建设企业网站建设合同应注意什么
  • 怎样策划一个营销型网站能浏览外国网页的浏览器
  • 网站权重查询手表网站推荐
  • wordpress amp 8211整站优化方案
  • 电脑网站怎么创建到桌面上部队网站制作
  • 运城做网站公司搜索引擎
  • 工程建设管理网站建网站找哪家好
  • 中文 域名的网站用htlm做静态网站怎么用
  • 软件园做网站wordpress 嵌入pdf
  • 济南烨铭网站建设wordpress栏目设置
  • 仿银行网站 asp哈尔滨做网站哪家好强
  • 在建工程十堰优化网站哪家好
  • 离石做网站网络营销是什么专业学的
  • 举报网站建设公司哪里有网络推广
  • wordpress做网站宝安网
  • 网站推广分析网站开发必须要用js
  • 深圳网站设计 商城上海建站哪家好