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

河北廊坊建设银行网站微信小程序开发教程

河北廊坊建设银行网站,微信小程序开发教程,网络销售主要做些什么,wordpress logo替换挑战100天 AI In LeetCode Day05#xff08;热题面试经典150题#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-72.1 题目2.2 题解 三、面试经典 150 题-73.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站#xff0c;提供各种算法和数据结构的题目热题面试经典150题 一、LeetCode介绍二、LeetCode 热题 HOT 100-72.1 题目2.2 题解 三、面试经典 150 题-73.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站提供各种算法和数据结构的题目面向程序员、计算机科学专业学生和技术爱好者等人群旨在帮助他们提高算法和编程技能。LeetCode上的问题通常来自各种技术公司的面试题目因此它也是程序员面试准备的重要资源之一。 LeetCode上的问题涵盖了各种难度级别从入门级到专家级都有不同难度的题目可供练习。用户可以选择使用不同的编程语言提交答案LeetCode能够对结果进行评估并返回测试结果。 除了题目外LeetCode还提供了讨论区、排行榜等社区功能用户可以在这里交流学习心得、解决疑难问题并与其他用户比较自己的做题成绩。 挑战100天 AI In LeetCode是基于LeetCode题库借助AI的能力进行解题、并学习其解题过程。 二、LeetCode 热题 HOT 100-7 2.1 题目 N 字形变换 将一个给定字符串 s 根据给定的行数 numRows 以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 PAYPALISHIRING 行数为 3 时排列如下P A H N A P L S I I G Y I R 之后你的输出需要从左往右逐行读取产生出一个新的字符串比如PAHNAPLSIIGYIR。请你实现这个将字符串进行指定行数变换的函数string convert(string s, int numRows);示例 1输入s PAYPALISHIRING, numRows 3 输出PAHNAPLSIIGYIR 示例 2 输入s PAYPALISHIRING, numRows 4 输出PINALSIGYAHRPI 解释 P I N A L S I G Y A H R P I 示例 3输入s A, numRows 1 输出A提示1 s.length 1000 s 由英文字母小写和大写、, 和 . 组成 1 numRows 10002.2 题解 这道题目需要我们将一个给定的字符串按照Z字形排列并输出结果。 解题思路 首先我们可以定义一个二维数组来存储排列后的字符串。然后我们可以按照Z字形排列的规律将字符串中的字符逐个填充到数组中。最后我们按照从左到右的顺序将数组中的字符依次取出并拼接成字符串输出即可。 public class Solution { public String convert(String s, int numRows) { if (numRows 1) { return s; } StringBuilder[] rows new StringBuilder[numRows]; for (int i 0; i numRows; i) { rows[i] new StringBuilder(); } int rowIndex 0; boolean goingDown false; for (char c : s.toCharArray()) { rows[rowIndex].append(c); if (rowIndex 0 || rowIndex numRows - 1) { goingDown !goingDown; } rowIndex goingDown ? 1 : -1; } StringBuilder result new StringBuilder(); for (StringBuilder row : rows) { result.append(row); } return result.toString(); } }三、面试经典 150 题-7 数组 / 字符串 3.1 题目 买卖股票的最佳时机 给定一个数组 prices 它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润返回 0 。示例 1输入[7,1,5,3,6,4] 输出5 解释在第 2 天股票价格 1的时候买入在第 5 天股票价格 6的时候卖出最大利润 6-1 5 。注意利润不能是 7-1 6, 因为卖出价格需要大于买入价格同时你不能在买入前卖出股票。 示例 2输入prices [7,6,4,3,1] 输出0 解释在这种情况下, 没有交易完成, 所以最大利润为 0。提示1 prices.length 105 0 prices[i] 1043.2 题解 时间复杂度为 O(n)空间复杂度为 O(n)。 解题思路 这个问题可以使用动态规划来解决。我们可以定义一个长度为 n 的数组 dp其中 dp[i] 表示在价格为 prices[i] 的情况下能获取的最大利润。 考虑到买入和卖出的任意一天有两种情况 如果选择第 i 天买入那么必须选择在 i 之后的某一天卖出假设卖出日期为 j。此时利润为 prices[j] - prices[i]。但是我们需要注意 j 必须大于 i否则无法完成交易。 如果不选择第 i 天买入那么最大利润只能是前面的某个日期的最大利润。 因此我们可以得到状态转移方程 dp[i] max(prices[i] - min(dp[i1], dp[i2], …, dp[n-1]), max(dp[0], dp[1], …, dp[i-1])) 其中 min(dp[i1], dp[i2], …, dp[n-1]) 表示在未来的日子里能获取的最大利润max(dp[0], dp[1], …, dp[i-1]) 表示在前面的日子里能获取的最大利润。 最后我们只需要返回 dp[n-1]即最后一个价格对应的最大利润。 public int maxProfit(int[] prices) { int n prices.length; int[] dp new int[n]; dp[0] 0; int minPrice prices[0]; for (int i 1; i n; i) { dp[i] Math.max(prices[i] - minPrice, dp[i - 1]); minPrice Math.min(minPrice, prices[i]); } return dp[n - 1]; }至此挑战100天 AI In LeetCode Day05热题面试经典150题完成后续会持续调整查阅过程中若遇到问题欢迎留言或私信交流。
http://www.pierceye.com/news/815753/

相关文章:

  • 中国网站设计师联盟福州网站大全
  • 香奈儿网站建设竞价培训
  • 毕业设计做网站的步骤电脑培训学校在哪里
  • 怎样在网站图片上做店铺广告公司名logo设计图片
  • 做ic什么网站好攀枝花三线建设网站
  • 台州市网站建设东莞网站策划
  • 网站建设响应技术wordpress502
  • 开个捕鱼网站怎么做网络销售面试问题有哪些
  • 外国纪录片网站机场建设海外seo是什么
  • 一个服务器做多个网站微信商城和网站建设
  • 网站的基本类型地推平台
  • 简单的企业小网站网页统计代码大全
  • 中国手机网站建设公司大气网站建设
  • 国内建网站费用青岛网站建设公司排行
  • 石台做网站策略网页游戏排行榜
  • 注册网站怎么做网站深圳网站设计公司怎么样
  • 网站备案后有什么好处个人主页网页设计
  • 网站搭建上海wordpress主题范例
  • 网站内容建设出现的问题马鞍山人才网
  • 上海正规做网站公司电话演示 又一个wordpress站点
  • 建设银行网站特色完整网站开发视频教程
  • 株洲做网站渠道电话设计师培训生招聘
  • 四川阿坝建设招标网站wordpress调整文章编辑界面
  • 福州seo计费优化设计的答案
  • 网站建设教程网什么是oa系统软件
  • 建设一个网站app需要多少钱哪个做问卷网站佣金高
  • 宁夏网站设计公司网页视频怎么下载ios
  • 滁州建设厅网站工程建设施工企业质量管理规范
  • 从事网站建设的职业wordpress 外网
  • 百度百度上海百度seo