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

雅虎网站提交外包公司做的网站

雅虎网站提交,外包公司做的网站,网站模拟课堂模式应该怎么做,360搜索联盟网站制作Leetcode Test 1281 整数的各位积和之差(8.9) 给你一个整数 n#xff0c;请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 提示#xff1a; 1 n 10^5 【原始代码】#xff1a; int subtractProductAndSum(int n){//1 n 10^5//…Leetcode Test 1281 整数的各位积和之差(8.9) 给你一个整数 n请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 提示 1 n 10^5 【原始代码】 int subtractProductAndSum(int n){//1 n 10^5//except 100000, therere 5 bitsif(n100000){return -1;}int bits[5]{0,0,0,0,0,0};int cnt0;while(n0){bits[cnt]n%10;n/10;}int multi1,sum0;for(int i0;icnt;i){multi*bits[i];sumbits[i];}return (multi-sum); }【优化代码】 int subtractProductAndSum(int n) {int m 1, s 0; //m是乘积sum是求和while (n) { //当n0时int x n % 10; //x是n的余数n / 10; //n缩小m * x; //m进行乘积s x; //s进行求和}return m - s; //返回 乘积-求和 } //减少位数的存储空间复杂度为O(1) //时间复杂度仍然为O(m)m为n的位数【其他思路】 将n转为字符串例如n是1234则char temp‘1234’ 后续直接遍历strlen(temp)计算temp[i]-0’的值即可 1289 下降路径最小和 II(8.10) 给你一个 n x n 整数矩阵 grid 请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为从 grid 数组中的每一行选择一个数字且按顺序选出来的数字中相邻数字不在原数组的同一列。 提示 n grid.length grid[i].length1 n 200-99 grid[i][j] 99 int minFallingPathSum(int** grid, int gridSize, int* gridColSize) {int first_min_sum 0;int second_min_sum 0;int first_min_index -1;for (int i 0; i gridSize; i) { //遍历外层int cur_first_min_sum INT_MAX; //记录最小值int cur_second_min_sum INT_MAX; //记录次小值int cur_first_min_index -1; //记录最小值列编号for (int j 0; j gridSize; j) { //遍历内层int cur_sum (j ! first_min_index ? first_min_sum : second_min_sum) grid[i][j];//当前求和计算如果j和最小值列编号不一样则添加最小值否则添加次小值if (cur_sum cur_first_min_sum) { //如果当前求和小于最小cur_second_min_sum cur_first_min_sum; //更新次小为之前的最小cur_first_min_sum cur_sum; //更新最小为当前的求和cur_first_min_index j; //更新比列编号} else if (cur_sum cur_second_min_sum) { //如果当前求和小于次小cur_second_min_sum cur_sum; //更新次小为当前的求和}}first_min_sum cur_first_min_sum; //更新最小second_min_sum cur_second_min_sum; //更新次小first_min_index cur_first_min_index; ///更新列编号}return first_min_sum; }1572 矩阵对角线元素的和(8.11) 给你一个正方形矩阵 mat请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 提示 n mat.length mat[i].length1 n 1001 mat[i][j] 100 int diagonalSum(int** mat, int matSize, int* matColSize){//n x n matrixint nmatSize,sum0;for(int i0;in;i){for(int j0;jn;j){if((ij)||(ijn-1)){ //ij 主对角线ijn-1 次对角线summat[i][j];}}}return sum; }2681 英雄的力量(8.1补) 给你一个下标从 0 开始的整数数组 nums 它表示英雄的能力值。如果我们选出一部分英雄这组英雄的 力量 定义为 i0 i1 … ik 表示这组英雄在数组中的下标。那么这组英雄的力量为 max(nums[i0],nums[i1] ... nums[ik])2 * min(nums[i0],nums[i1] ... nums[ik]) 。 请你返回所有可能的 非空 英雄组的 力量 之和。由于答案可能非常大请你将结果对 109 7 取余。 提示 1 nums.length 1051 nums[i] 109 int cmp(void *a,void *b){return *(int*)a-*(int*)b; }int sumOfPower(int* nums, int numsSize){qsort(nums,numsSize,sizeof(int),cmp); //元素的顺序不影响答案,先排序//power max*max*minint dp 0, preSum 0;int res 0, mod 1e9 7;for (int i 0; i numsSize; i) {dp (nums[i] preSum) % mod;preSum (preSum dp) % mod;res (int) ((res (long long) nums[i] * nums[i] % mod * dp) % mod);if (res 0) {res mod;}}return res; }23 合并K个升序链表(8.12) 给你一个链表数组每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中返回合并后的链表。 提示 k lists.length0 k 10^40 lists[i].length 500-10^4 lists[i][j] 10^4lists[i] 按 升序 排列lists[i].length 的总和不超过 10^4 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/int cmp(const void * a, const void * b)//升序子函数 {return *(int *)a - *(int *)b; } struct ListNode* mergeKLists(struct ListNode** lists, int listsSize){if(listsSize 0 ){return NULL;}int ans[10000];//临时保存链表值int node 0;for(int i 0; i listsSize; i)//保存所有链表值{while(lists[i]){ans[node] lists[i]-val;lists[i] lists[i]-next;}}qsort(ans, node, sizeof(int), cmp);//排序struct ListNode * h NULL;struct ListNode * root NULL;for(int i 0; i node; i)//转换为链表存储{struct ListNode * r malloc(sizeof(struct ListNode));r-val ans[i];r-next NULL;if(root NULL){h r;root r;}else{h-next r;h r;} }return root; }88 合并两个有序数组(8.13) 给你两个按 非递减顺序 排列的整数数组 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 int cmp(void *a,void *b){return *(int*)a-*(int*)b; }void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){int cnt0,im;while(cntn){nums1[i]nums2[cnt];}qsort(nums1,(nm),sizeof(int),cmp); }a former method void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){for(int i0;i!n;i){nums1[mi]nums2[i];}int minno;for(int i0;imn-1;i){minnoi;for(int ji1;jmn;j){if(nums1[j]nums1[minno]){minnoj;}}//找到i后面的最小数交换i位置和minno位置int tempnums1[i];nums1[i]nums1[minno];nums1[minno]temp;} }a new-spaced method: O(nm) of both time and space void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {int p1 0, p2 0;int sorted[m n]; //new-spacedint cur;while (p1 m || p2 n) {if (p1 m) {cur nums2[p2];} else if (p2 n) {cur nums1[p1];} else if (nums1[p1] nums2[p2]) {cur nums1[p1];} else {cur nums2[p2];}sorted[p1 p2 - 1] cur;}for (int i 0; i ! m n; i) {nums1[i] sorted[i];} }617 合并二叉树(8.14) 给你两棵二叉树 root1 和 root2 。 想象一下当你将其中一棵覆盖到另一棵之上时两棵树上的一些节点将会重叠而另一些不会。你需要将这两棵树合并成一棵新二叉树。合并的规则是如果两个节点重叠那么将这两个节点的值相加作为合并后节点的新值否则不为 null 的节点将直接作为新二叉树的节点。 返回合并后的二叉树。 注意: 合并过程必须从两个树的根节点开始。 提示 两棵树中的节点数目在范围 [0, 2000] 内-104 Node.val 104 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*///深度优先搜索 dfs struct TreeNode* mergeTrees(struct TreeNode* root1, struct TreeNode* root2){//如果两个节点重叠那么将这两个节点的值相加作为合并后节点的新值//否则不为 null 的节点将直接作为新二叉树的节点。if(root1 NULL) return root2;else if(root2 NULL) return root1;struct TreeNode* resultmalloc(sizeof(struct TreeNode));result-valroot1-val root2-val;result-leftmergeTrees(root1-left,root2-left); //左子树递归result-rightmergeTrees(root1-right,root2-right); //右子树递归return result; }C 递归直接在原root1进行修改 class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if (root1 root2) {root1-val root2-val;root1-left mergeTrees(root1-left, root2-left);root1-right mergeTrees(root1-right, root2-right);}return root1 ? root1 : root2;} };另可进行广度优先较为复杂
http://www.hkea.cn/news/14409790/

相关文章:

  • 好的买手表网站怎么创建wordpress站点
  • 包装设计平台sem优化软件选哪家
  • 南京专业做网站公司地址购物网站需要哪些模块
  • 营销型建设网站实训总结召唤神龙网页小游戏在线玩
  • apache 网站建设ui设计是做什么的
  • 专业做网站多少钱东莞网站建设相关技术
  • 网站备案相关手续费WordPress链接加前缀
  • 大型网站制作需要什么设备wordpress付费下载
  • 养生网站模板做网站的女生多么
  • python网站开发详细步骤站长之家查询域名
  • 在线做网站免费黄搞上海网址推广
  • 专业制作网站图片商务
  • 成都企业网站制作哪家好wordpress多语言生成工具
  • 企业网站 个人备案物流官网
  • 如何解析域名关键词搜索排名优化
  • 查询网站dns服务器免费网站建设专业的公司
  • wordpress 路由规则威海网站优化
  • 合肥网站建设策划方案数据做图网站有哪些
  • 做贷款在那些网站找客户宜昌建设网站
  • 哪个视频网站做自媒体织梦模板免费下载
  • 建设网站 请示 报告哪方面网站
  • 沧州网站优化价格网站IcP在哪查
  • 制作网站商城网站管理人员
  • 简述企业网站建设的目的wap 网站 手机
  • 装饰设计网站大全网页制作那家好
  • 深圳市做网站有哪些公司今天宁波最新消息
  • 网站 后台 设计h5直播网站
  • 个体户 做网站狠狠做网站
  • 内蒙古城乡建设部网站首页东莞市建设信息网
  • 以个人名义做地方门户网站北京企业建设网站公司