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

公司网站怎么建昆明网站建设工作室有哪些

公司网站怎么建,昆明网站建设工作室有哪些,网店代运营商,国内电商企业有哪些文章目录 1、合并两个有序数组1.1 题目链接1.2 题目描述1.3 解题代码1.4 解题思路 2、移除元素2.1 题目链接2.2 题目描述2.3 解题代码2.4 解题思路 3、删除有序数组中的重复项3.1 题目链接3.2 题目描述3.3 解题代码3.4 解题思路 4、删除有序数组中的重复项 II4.1 题目链接4.2 题… 文章目录 1、合并两个有序数组1.1 题目链接1.2 题目描述1.3 解题代码1.4 解题思路 2、移除元素2.1 题目链接2.2 题目描述2.3 解题代码2.4 解题思路 3、删除有序数组中的重复项3.1 题目链接3.2 题目描述3.3 解题代码3.4 解题思路 4、删除有序数组中的重复项 II4.1 题目链接4.2 题目描述4.3 解题代码4.4 解题思路 5、多数元素5.1 题目链接5.2 题目描述5.3 解题代码5.4 解题思路 6、轮转数组6.1 题目链接6.2 题目描述6.3 解题代码6.4 解题思路 7、买卖股票的最佳时机7.1 题目链接7.2 题目描述7.3 解题代码7.4 解题思路 8、买卖股票的最佳时机 II8.1 题目链接8.2 题目描述8.3 解题代码8.4 解题思路 1、合并两个有序数组 1.1 题目链接 点击跳转到题目位置 1.2 题目描述 给你两个按非递减顺序排列的整数数组 nums1 和 nums2另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目。 请你合并 nums2 到 nums1 中使合并后的数组同样按非递减顺序排列。 **注意**最终合并后数组不应由函数返回而是存储在数组 nums1 中。为了应对这种情况nums1 的初始长度为 m n其中前 m 个元素表示应合并的元素后 n 个元素为 0 应忽略。nums2 的长度为 n 。 提示 nums1.length m nnums2.length n0 m, n 2001 m n 200-109 nums1[i], nums2[j] 109 1.3 解题代码 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int i m - 1; int j n - 1;int index m n - 1;while(i 0 j 0){if(nums1[i] nums2[j]){nums1[index] nums1[i];--i;} else{nums1[index] nums2[j];--j;}--index;}while(j 0){nums1[index] nums2[j];--index;--j;}} }1.4 解题思路 使用双指针来解决该问题。因为是原地修改nums1数组后面为空又因为nums1数组和nums2数组都是按照非递减排序的所以可以通过逆序遍历的方式获取每个数组中的当前最大的元素。添加数组时从nums1的mn-1位置开始添加每次都比较nums1和nums2中的最大元素即可。如果nums1没遍历完就保持原状即可如果nums2没遍历完还需要将nums2中的剩余元素放在nums1中。 2、移除元素 2.1 题目链接 点击跳转到题目位置 2.2 题目描述 给你一个数组 nums 和一个值 val你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k要通过此题您需要执行以下操作 更改 nums 数组使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。 返回 k。 提示 0 nums.length 1000 nums[i] 500 val 100 2.3 解题代码 class Solution {public int removeElement(int[] nums, int val) {int i 0;int j 0;int n nums.length;int ret 0;while(j n){if(nums[j] ! val){nums[i] nums[j];i;ret;}j;}return ret;} }2.4 解题思路 使用双指针来解决问题一个指针用来遍历数组判断当前数组是否等于val如果不等于则需要存放进nums数组中。另一个指针作为存放下标来存放需要存放的元素。最后返回存放的数字量即可。 3、删除有序数组中的重复项 3.1 题目链接 点击跳转到题目位置 3.2 题目描述 给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k 你需要做以下事情确保你的题解可以被通过 更改数组 nums 使 nums 的前 k 个元素包含唯一元素并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 。 提示 1 nums.length 3 * 104-104 nums[i] 104nums 已按 非严格递增 排列 3.3 解题代码 class Solution {public int removeDuplicates(int[] nums) {int n nums.length;int idx 0;int i 0;int j 0;while(i n){if(i n - 1){nums[idx] nums[i];i;idx;} else{j i 1;while(j n nums[j] nums[i]){j;}nums[idx] nums[j - 1];idx;i j;}}return idx;} }3.4 解题思路 使用双指针来解决问题用idx从0开始更新数组一个指针用来遍历数组另一个指针负责来遍历该指针所在的位置记录当前的数为num右边所有相同的数直到遍历到不等于num将num放在idx的位置然后更新idx和左端指针。最后根据idx返回nums 中唯一元素的个数。 4、删除有序数组中的重复项 II 4.1 题目链接 点击跳转到题目位置 4.2 题目描述 给你一个有序数组 nums 请你 原地 删除重复出现的元素使得出现次数超过两次的元素只出现两次 返回删除后数组的新长度。 不要使用额外的数组空间你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 提示 1 nums.length 3 * 104-104 nums[i] 104nums 已按升序排列 4.3 解题代码 class Solution {public int removeDuplicates(int[] nums) {int n nums.length;int idx 0;int i 0;int j 0;while(i n){if(i n - 1){nums[idx] nums[i];i;idx;} else{j i 1;int num 0;while(j n nums[j] nums[i]){num;j;}if(num 1){nums[idx] nums[j - 1];idx;nums[idx] nums[j - 1];idx;} else{nums[idx] nums[j - 1];idx;} i j;}}return idx;} }4.4 解题思路 与题目3思路一样只是需要增加判断相同的数是否大于等于2个大于等于2个则需要往数组里面添加2次。 5、多数元素 5.1 题目链接 点击跳转到题目位置 5.2 题目描述 给定一个大小为 n 的数组 nums 返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的并且给定的数组总是存在多数元素。 提示 n nums.length1 n 5 * 104-109 nums[i] 109 5.3 解题代码 class Solution {public int majorityElement(int[] nums) {Arrays.sort(nums);return nums[nums.length / 2];} }5.4 解题思路 先对原来的数组进行排序。输出数组的中位数即为次数 大于 ⌊ n/2 ⌋ 的元素。 6、轮转数组 6.1 题目链接 点击跳转到题目位置 6.2 题目描述 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 提示 1 nums.length 105-231 nums[i] 231 - 10 k 105 6.3 解题代码 class Solution {public void rotate(int[] nums, int k) {int n nums.length;int[] ret new int[n];for(int i 0; i n; i){ret[(i k) % n] nums[i]; }for(int i 0; i n; i){nums[i] ret[i];}} }6.4 解题思路 使用额外数组然后找到变换后数组的坐标j和原数组中坐标i的关系即j i k% n。最后将额外数组的值赋值给原数组即可。 7、买卖股票的最佳时机 7.1 题目链接 点击跳转到题目位置 7.2 题目描述 给定一个数组 prices 它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润返回 0 。 7.3 解题代码 class Solution {public int maxProfit(int[] prices) {int n prices.length;int max_price 0;for(int i 1; i n; i){int now_price prices[i];prices[i] Math.min(prices[i - 1], prices[i]);max_price Math.max(max_price, now_price - prices[i]); } return max_price;} }7.4 解题思路 一次遍历数组从下标为1开始遍历每次先储存当前price为now_price。接着prices[i]用来存储0~i范围内最低价格的股票获取一个最大的盈利为now_price - prices[i]。最后返回比较的结果如果不存在盈利就返回一开始初始化的max_price 0。 8、买卖股票的最佳时机 II 8.1 题目链接 点击跳转到题目位置 8.2 题目描述 给你一个整数数组 prices 其中 prices[i] 表示某支股票第 i 天的价格。 在每一天你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买然后在 同一天 出售。 返回 你能获得的 最大 利润 。 8.3 解题代码 class Solution {public int maxProfit(int[] prices) {int n prices.length;int sum 0;int min_price prices[0];for(int i 1; i n; i){if(min_price prices[i]){sum (prices[i] - min_price);min_price prices[i];} else{min_price Math.min(prices[i], min_price);}}return sum;} }8.4 解题思路 使用贪心算法的思想来解决。如果当天的价格比之前最低价格要高就卖出否则就更新最低价格即可。如果卖出就更新为当天价格
http://www.sczhlp.com/news/182037/

相关文章:

  • 网站获取信息wordpress主题lightsns
  • 重庆便民服务网站APPhtml5微网站开发教程
  • 出名的网站制作正规公司外包加工项目
  • 选择网站的关键词linode安装wordpress
  • 大数据营销论文优化网站公司哪家口碑好
  • 成都网站制作028net企业注册查询网
  • 编写网站策划方案怎么编辑网页里面内容
  • 苏州网站建设孙峰防盗网站人做清洁
  • 网站毕业作品代做做的网站没流量吗
  • PyCharm 2025.1重磅升级:AI驱动开发+全功能免费核心,Python开发者必看
  • Oracle案例:SOLARIS RAC平台模拟节点crash后强制删除与增加
  • 学习笔记——计算机程序设计
  • CAD文件处理控件Aspose.CAD教程:在 Python 中将 SVG 转换为 PDF
  • 怎样在外国网站开发客户国外做汽配的网站
  • 国外网站怎么做企业网站 实名认证
  • 在线设计平台canva可画广西seo网站推广
  • 搬瓦工的主机可以用来做网站吗廊坊做网站的企业哪家好
  • 中国建设银行阆中分行网站呼伦贝尔人才网官方网站入口
  • 企业网站建设情况 文库自己做影视类网站
  • 在pc端预览手机网站登录四川省住房和城乡建设厅官网
  • 国际外贸网站推广手机网站怎么解析
  • 商丘市网站建设建网站 可以看到访客吗
  • 深圳外文网站制作p2p是什么意思
  • 网站怎样注册备案企业网址下载
  • 搭建网站的大致流程1企业网站案例
  • 信管女生做网站开发wordpress电子商城主题
  • 网站竞价做用户运营应该关注哪些网站
  • 高端品牌网站建设内容怎么样才能创建自己的网站
  • 品牌学习网站php 新闻类网站怎么做
  • 怎么做自己的企业网站网页升级紧急通知网页打不开