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

学校网站的功能网站多久才能在百度上收到

学校网站的功能,网站多久才能在百度上收到,凉山建设局网站,手机客户端app下载安装数组篇 26.删除有序数组中的重复项题目详情题解 27. 移除元素题解 35. 搜索插入位置题目详情题解 66. 加1题目详情题解 88. 合并两个有序数组题目详情题解 108. 将有序数组转换为二叉搜索树题目详情题解注意 118. 杨辉三角题目详情题解 119. 杨辉三角 II题目详情题解 136. 只出… 数组篇 26.删除有序数组中的重复项题目详情题解 27. 移除元素题解 35. 搜索插入位置题目详情题解 66. 加1题目详情题解 88. 合并两个有序数组题目详情题解 108. 将有序数组转换为二叉搜索树题目详情题解注意 118. 杨辉三角题目详情题解 119. 杨辉三角 II题目详情题解 136. 只出现一次的数字题目详情题解 169. 多数元素题目详情题解摩尔投票算法摩尔投票算法的优点摩尔投票算法的缺点 26.删除有序数组中的重复项 题目详情 给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k 你需要做以下事情确保你的题解可以被通过 更改数组 nums 使 nums 的前 k 个元素包含唯一元素并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。 返回 k 。 题解 int removeDuplicates(int* nums, int numsSize) {int i0,count;for(int j1;jnumsSize;j){if(nums[i]!nums[j])nums[i]nums[j];}counti1; // i是数组下标,count应该比i多1.return count; }27. 移除元素 ##题目详情 给你一个数组 nums 和一个值 val你需要 原地 移除所有数值等于 val 的元素并返回移除后数组的新长度。 不要使用额外的数组空间你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 题解 int removeElement(int* nums, int numsSize, int val) {int count0; // 记录val值的个数for(int i0;inumsSize;i){if(nums[i]val) // 数组的值等于val值,countcount;elsenums[i-count]nums[i];}return numsSize-count; }35. 搜索插入位置 题目详情 给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 题解 int searchInsert(int* nums, int numsSize, int target) {int low0,highnumsSize-1;while(lowhigh){int mid(lowhigh)/2;if(nums[mid]target)return mid;else if(nums[mid]target)highmid-1;elselowmid1;}return low; // low指向的位置是target元素应该在数组中存放的位置 }66. 加1 题目详情 给定一个由 整数 组成的 非空 数组所表示的非负整数在该数的基础上加一。 最高位数字存放在数组的首位 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外这个整数不会以零开头。 题解 int* plusOne(int* digits, int digitsSize, int* returnSize) {for(int idigitsSize-1;i0;i--){if(digits[i]9){digits[i];(*returnSize)digitsSize;return digits;}else{digits[i]0;}}int* res(int*)malloc(sizeof(int)*(digitsSize1));res[0]1;for(int i1;idigitsSize1;i)res[i]digits[i-1];(*returnSize)digitsSize1;return res; }88. 合并两个有序数组 题目详情 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中使合并后的数组同样按 非递减顺序 排列。 注意最终合并后数组不应由函数返回而是存储在数组 nums1 中。为了应对这种情况nums1 的初始长度为 m n其中前 m 个元素表示应合并的元素后 n 个元素为 0 应忽略。nums2 的长度为 n 。 题解 void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {int i, j 0, k 0, tempNums1[nums1Size];for (i 0; i m; i) // 移动元素到tempNums1中tempNums1[i] nums1[i];i 0;while (i m j n) {if (tempNums1[i] nums2[j]) {nums1[k]tempNums1[i];}else{nums1[k]nums2[j];}}while(im){nums1[k]tempNums1[i];}while(jn){nums1[k]nums2[j];} }108. 将有序数组转换为二叉搜索树 题目详情 给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 题解 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ struct TreeNode* travel(int nums[],int low,int high){if(lowhigh) return NULL;int mid(lowhigh)/2;struct TreeNode* root(struct TreeNode*)malloc(sizeof(struct TreeNode));root-valnums[mid];root-lefttravel(nums,low,mid-1);root-righttravel(nums,mid1,high);return root; }struct TreeNode* sortedArrayToBST(int* nums, int numsSize) {struct TreeNode* headtravel(nums,0,numsSize-1);return head; }注意 // 第一种 struct TreeNode{int data;struct TreeNode* left;struct TreeNode* right; }TLnode;// 第二种 struct TreeNode{int data;struct TreeNode* left;struct TreeNode* right; };// 为第一种的话函数的返回值可以写为 TLnode 或 struct TreeNode // 为第一种的话函数的返回值可以写为 struct TreeNode118. 杨辉三角 题目详情 给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中每个数是它左上方和右上方的数的和。 题解 int** generate(int numRows, int* returnSize, int** returnColumnSizes){//返回的是二维数组所以需要保存每一行的信息*returnSize numRows; // 返回有几列*returnColumnSizes (int *)malloc(sizeof(int)*numRows);//returnColumnSizes储存杨辉三角每一行元素的个数int** res (int**)malloc(sizeof(int*)*numRows);for (int i 0; i numRows; i) {(*returnColumnSizes)[i] i1;res[i] (int*)malloc(sizeof(int)*(i1));res[i][0] 1;res[i][i] 1;for (int j 1; j i; j) {res[i][j] res[i-1][j] res[i-1][j-1]; }}return res; }119. 杨辉三角 II 题目详情 给定一个非负索引 rowIndex返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex 0 输出: [1] 示例 3: 输入: rowIndex 1 输出: [1,1] 题解 int* getRow(int rowIndex, int* returnSize) {*returnSize (rowIndex 1);int** arr (int**)malloc(sizeof(int*) * (rowIndex1));int i, j;for (i 0; i rowIndex1; i) {arr[i] (int*)malloc(sizeof(int) * (i 1));arr[i][0] 1;arr[i][i] 1;for (j 1; j i; j) {arr[i][j] arr[i - 1][j - 1] arr[i - 1][j];}}return arr[rowIndex]; }136. 只出现一次的数字 题目详情 给你一个 非空 整数数组 nums 除了某个元素只出现一次以外其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题且该算法只使用常量额外空间。 示例 1 输入nums [2,2,1] 输出1 示例 2 输入nums [4,1,2,1,2] 输出4 示例 3 输入nums [1] 输出1 题解 int singleNumber(int* nums, int numsSize) {int res0;for(int i0;inumsSize;i)res^nums[i];return res; }169. 多数元素 题目详情 给定一个大小为 n 的数组 nums 返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的并且给定的数组总是存在多数元素。 示例 1 输入nums [3,2,3] 输出3 示例 2 输入nums [2,2,1,1,1,2,2] 输出2 题解 int majorityElement(int* nums, int numsSize) {int i, vote 0,elector; // vote 投票数 elector 选举者(把数组里面的数字看做选举者)for (i 0; i numsSize; i) {if (!vote) {elector nums[i];}if (elector nums[i])vote;elsevote--;}return elector; }摩尔投票算法 该算法的核心就是对拼消耗 摩尔投票算法的优点 时间复杂度低算法只需要遍历数组两次时间复杂度为O(n)其中n是数组长度。 空间复杂度低算法只需要常数级的额外空间因此空间复杂度为O(1)。 ● 高效适用于大规模数据能够在较短时间内找到主要元素。 摩尔投票算法的缺点 不适用于所有情况算法要求主要元素的出现次数超过一半因此对于没有主要元素的情况不适用。 需要额外验证算法找到候选主要元素后还需要额外的遍历来验证其是否真的满足条件。 摩尔投票算法
http://www.pierceye.com/news/614115/

相关文章:

  • 设计深圳网站制作网站建设及维护招聘
  • 网站开发实训新的体会wordpress防止机器人注册
  • 购买的网站如何换背景自建网站如何被百度收录
  • 国外外贸网站手机销售网站制作
  • 海外永久网站众车网是哪家公司网站
  • 上海 网站开发 兼职布吉建设网站
  • 做网站资金来源是什么wordpress模版sns
  • 聊城wap网站建设如何分析网站竞争对手
  • 卓业网站建设flash 网站 收费
  • 两学一做 答题 网站自己做网站买东西
  • 深圳哪家公司做网站好购物网站开发问题域分析
  • 简单个人网站wordpress插件查询
  • 上海做网站搜索一下马来西亚的网站建设的竞争对手的分析
  • 建站优化易下拉系统163邮箱登录注册
  • c 做网站电子商务平台中搜索词拆解包括
  • 腾讯云10g数字盘做网站够么四川省建设人才网
  • 批量 网站标题中海园林建设有限公司网站
  • 鲜花网站数据库建设免费律师咨询
  • 团队网站建设哪家便宜制作公司网站流程
  • 青龙桥网站建设企业网页是什么
  • 上海网站建设备案号怎么恢复法律咨询网站开发
  • 烟台做网站价格动力网站建设
  • 北戴河网站建设墨刀制作网页教程
  • 成都网站设计开发做得好微信商城怎么开发
  • 江西省城乡建设培训网-官方网站上海建设集团有限公司
  • 凡科网站设计模板grimhelm wordpress
  • 自己做的网站不备案行吗建筑工程集团有限公司
  • 网站初期 权重怎么做彩票类网站开发
  • 南通网站定制公司服务器网站建设维护合同
  • 亳州做商标网站的公司免费的网站模板