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

大型网站开发案例番禺网站建设系统

大型网站开发案例,番禺网站建设系统,博客园网站开发,做网站软件大全文章目录 1. 汉诺塔问题题干#xff1a;算法原理#xff1a;代码#xff1a; 2. 合并两个有序链表题干#xff1a;算法原理#xff1a;代码#xff1a; 3. 反转链表题干#xff1a;算法原理#xff1a;代码#xff1a; 4. 最大子数组和题干#xff1a;算法原理#… 文章目录 1. 汉诺塔问题题干算法原理代码 2. 合并两个有序链表题干算法原理代码 3. 反转链表题干算法原理代码 4. 最大子数组和题干算法原理1. 状态表示2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码 5. 环形子数组的最大和题干算法原理1. 状态表示2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码 1. 汉诺塔问题 原题链接 题干 算法原理 利用递归算法 将x柱子上的一堆盘子借助 y柱子转移到z 柱子上面 递归函数流程 当前问题规模为 n1 时直接将 A 中的最上面盘子挪到 C 中并返回递归将 A 中最上面的 n-1 个盘子挪到 B 中将 A 中最上面的⼀个盘子挪到 C 中将 B 中上面 n-1 个盘子挪到 C 中 代码 class Solution {public void hanota(ListInteger a, ListInteger b, ListInteger c) {dfs(a, b, c, a.size());}public void dfs(ListInteger a, ListInteger b, ListInteger c, int n) {if(n 1) {c.add(a.remove(a.size() - 1));return;}dfs(a, c, b, n - 1);c.add(a.remove(a.size() - 1));dfs(b, a, c, n - 1);} }2. 合并两个有序链表 原题链接 题干 升序 链表 新链表是通过拼接给定的两个链表的所有节点组成的 算法原理 重复子问题函数头的设计 合并两个有序链表 只关心一个子问题咋做什么函数体的设计 选择两个头结点中较小的结点作为最终合并后的头结点然后将剩下的链表交给递归函数去处理 递归的出口 谁为空返回另一个 代码 class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if(l1 null) {return l2;}if(l2 null) {return l1;}if(l1.val l2.val) {l1.next mergeTwoLists(l1.next, l2);return l1;}else {l2.next mergeTwoLists(l1, l2.next);return l2;}} }3. 反转链表 原题链接 题干 单链表的头节点 head 反转链表并返回反转后的链表 算法原理 利用递归 从宏观角度 1让当前节点后面的链表先逆序并且把头结点返回 2让当前节点添加到逆置后的链表的后面将链表看成一棵树 仅需做一次 dfs 即可 后序遍历 代码 class Solution {public ListNode reverseList(ListNode head) {if(head null || head.next null) {return head;}ListNode newheader reverseList(head.next);head.next.next head;head.next null;return newheader;} }4. 最大子数组和 原题链接 题干 一个整数数组 nums 找出一个具有最大和的连续子数组 算法原理 1. 状态表示 dp[i] 表示以 i 位置为结尾的所有子数组中的最大和 2. 状态转移方程 dp[i] max(nums[i], dp[i - 1] nums[i]) 3. 初始化 辅助结点里面的值要「保证后续填表是正确的」「下标的映射关系」 4. 填表顺序 从左往右 5. 返回值 整个dp表的最大值 代码 class Solution {public int maxSubArray(int[] nums) {int n nums.length;int[] dp new int[n 1];int ret Integer.MIN_VALUE;for(int i 1; i n; i) {dp[i] Math.max(nums[i - 1], dp[i - 1] nums[i - 1]);ret Math.max(ret, dp[i]);} return ret;} }5. 环形子数组的最大和 原题链接 题干 长度为 n 的环形整数数组 nums 返回 nums 的非空 子数组 的最大可能和 算法原理 1. 状态表示 2. 状态转移方程 f[i] max(nums[i], f[i - 1] nums[i]) g[i] min(nums[i], g[i - 1] nums[i]) 3. 初始化 辅助结点里面的值要「保证后续填表是正确的」「下标的映射关系」 4. 填表顺序 从左往右 5. 返回值 先找到 f 表里面的最大值 - fmax找到 g 表里面的最小值 - gmin统计所有元素的和 - sum返回 sum gmin ? fmax : max(fmax, sum - gmin) 代码 class Solution {public int maxSubarraySumCircular(int[] nums) {int n nums.length;int[] f new int[n 1];int[] g new int[n 1];int sum 0;int fmax Integer.MIN_VALUE;int gmin Integer.MAX_VALUE;for(int i 1; i n; i) {int x nums[i - 1];f[i] Math.max(x, x f[i - 1]);fmax Math.max(fmax, f[i]);g[i] Math.min(x, x g[i - 1]);gmin Math.min(gmin, g[i]);sum x;}return sum gmin ? fmax : Math.max(fmax, sum - gmin);} }
http://www.hkea.cn/news/14376166/

相关文章:

  • 西安网站建设行业动态菠菜网站怎么做
  • 深圳高端网站制作多少钱平台网站怎么做seo
  • 做原型的网站网站建设图片
  • 园林效果图网站dedecms做的网站首页被挂马
  • c2c网站建设要多少钱中国文化网站建设策划书
  • 前端网站开发培训网站建设都需要
  • h5制作的炫酷个人网站一个月做网站
  • 河南 医院 网站建设在网站上上传文件需要怎么做
  • wordpress文章页404网站优化千牛帮
  • 建设银行网站在哪设置查询密码2345网址导航官网官方电脑版
  • 网站手机版模板百度seo价格
  • 莆田专业网站建设公司王也是谁
  • 企业的网站推广意义青州网站建设优化排名
  • 整形网站开发wordpress rss订阅
  • 网站建设费用 多少钱登陆到wordpress
  • 网站建设运行情况报告做网站和app哪个简单
  • 苏州企业网站设计企业高端网站建设 引擎技网络
  • 佛山网站建设哪里有珠海网站制作计划
  • 广西建设工程质量监督网站wordpress好看的主题
  • 网站建设 域名主机如何推广品牌知名度
  • 甘肃长城建设集团网站百度的官方网站
  • 潍坊昌大建设集团网站网站如何优化流程
  • 永嘉移动网站建设公司c2c代表网站有哪些
  • 开一个网站多少钱几个免费建立网站的平台
  • 公司网站做的比较好品牌建设成功的案例
  • 网络工程考研方向谷歌seo网站建设
  • 网站怎么做微信推广深圳市招聘信息网站
  • 网站手机网页如何做建设自己的网站有什么
  • 网站如何实现微信登录界面如何加入电商平台
  • 东莞制作公司网站温州网站 公司