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

随州网站建设价格交换友情链接时需要注意的事项

随州网站建设价格,交换友情链接时需要注意的事项,建立一个网站需要多久,律师网站模板最后一个单词的长度: 思路:跳过末尾的空格,可以从后向前遍历 然后再利用 while(i>0 && s[i] ! ) 可以得到字符串的长度, int lengthOfLastWord(char* s) {int length 0;int i strlen(s) - 1; //从字符串末尾开始//…

最后一个单词的长度:

思路:跳过末尾的空格,可以从后向前遍历

然后再利用 while(i>=0 && s[i] != '  ') 可以得到字符串的长度,

int lengthOfLastWord(char* s) {int length = 0;int i = strlen(s) - 1; //从字符串末尾开始//跳过末尾的空格:while(i>=0 && s[i] == ' '){i--;}while(i>=0 && s[i] != ' '){i--;length++;}return length;
}

 加一:

示例 1:

输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。

示例 3:

输入:digits = [9]
输出:[1,0]
解释:输入数组表示数字 9。
加 1 得到了 9 + 1 = 10。
因此,结果应该是 [1,0]。
/*** Note: The returned array must be malloced, assume caller calls free().*/
int* plusOne(int* digits, int digitsSize, int* returnSize) {//从末尾开始处理,模拟加一操作int carry = 1;//创建一个新数组,用于存放加一后的结果int* result = (int*)malloc(sizeof(int) * (digitsSize + 1));//从后向前遍历://   0 1 2 3 4//eg 4 2 9 9//eg   4 3 0 0for(int i = digitsSize - 1; i >= 0;i--){int sum = digits[i] + carry;result[i + 1] = sum % 10;carry = sum / 10; //计算新的进位}//如果处理完仍有进位if(carry){result[0] = carry; //*returnSize = digitsSize + 1; //返回的数组大小增加1}else{for(int i = 0;i < digitsSize;i++){result[i] = result[i + 1];}*returnSize = digitsSize;}return result;
}

二进制求和:

 

示例 1:

输入:a = "11", b = "1"
输出:"100"

示例 2:

输入:a = "1010", b = "1011"
输出:"10101"
char* addBinary(char* a, char* b) {int lenA = strlen(a);int lenB = strlen(b);int maxLen = lenA > lenB ? lenA : lenB;//为结果多加一位,以防最后有进位char* result = (char*)malloc(maxLen + 2); //一个给进位另一个给 '\0';int carry = 0;int index = 0;//从后向前进行二进制加法:while(lenA > 0 || lenB > 0 || carry){int bitA = lenA > 0 ? a[lenA - 1] - '0' : 0;int bitB = lenB > 0 ? b[lenB - 1] - '0' : 0;int sum = bitA + bitB + carry;result[index++] = (sum % 2) + '0';  // 存储当前位carry = sum / 2;  // 更新进位lenA--;lenB--;}// 结果数组反转,因为从低位开始加result[index] = '\0';  // 添加字符串结束符// 修正反转逻辑for (int i = 0, j = index - 1; i < j; i++, j--) {char temp = result[i];result[i] = result[j];result[j] = temp;}return result;
}

 x的平方:

奇怪,二分法用 

mid = (left + right) / 2;就不行

int mid = left + (right - left) / 2; 就是可以的

通过改成 mid = left + (right - left) / 2;,我们首先计算 right - left,这通常不会超出 int 的范围,因为 right - left 的差值一般比 left + right 的和要小得多。然后,除以 2 后,计算出的结果不会超出 int 的范围,最后再加上 left,得出的 mid 也不会溢出。

例如:

  • 假设 left = 2,000,000,000 和 right = 2,000,000,000,计算 right - left = 0,然后 0 / 2 = 0,最后 mid = 2,000,000,000 + 0 = 2,000,000,000,完全在范围内。

这种方法保证了加法操作总是先进行小的差值计算,避免了大数相加导致溢出的风险。

int mySqrt(int x) {if (x == 0) return 0;int left = 1,right = x;while (left <= right){int mid = left + (right - left) / 2;long long square = (long long) mid * mid;if (square == x){return mid;}else if (square > x){right = mid - 1;}else{left = mid + 1;}}return right;}

 二叉树前序遍历:

#include <bits/stdc++.h>struct treeNode{int val;struct treeNode *left;struct treeNode *right; 
};void preOrder(struct treeNode* root,int* res,int* resSize) {if(root = NULL) return ;res[(*resSize)++] = root->val;preOrder(root->left,res,resSize);preOrder(root->right,res,resSize);
}
int ii(struct treeNode* root,int* returnSize){int* res = (int*)malloc(sizeof(int) * 101);int *returnSize = 0;preOrder(root,res,returnSize);return res;
}

删除排序链表中的重复元素:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* deleteDuplicates(struct ListNode* head) {if(head == NULL){return head;}struct ListNode* current = head;//遍历列表while(current != NULL && current->next != NULL){//如果当前节点的值和下一次节点的值相同if(current->val == current->next->val){//跳过,下一个节点struct ListNode* temp = current->next;current->next = temp->next;free(temp);}else{current = current->next;}}return head;
}

http://www.dtcms.com/wzjs/502583.html

相关文章:

  • 招财猫网站怎么做淘宝app官方下载
  • 沧州网站建设东莞网络营销推广专业
  • 公司网站设计收费外链在线发布工具
  • WordPress站内链接设置百度一键优化
  • 一般网站服务费怎么入账做分录关键词异地排名查询
  • iis网站访问用户搜索引擎调词平台价格
  • 网站浮动代码自媒体平台注册
  • 做微信公众号的是哪个网站吗百度营销推广靠谱吗
  • 桐庐做网站陕西网站建设网络公司
  • 商务网站建设项目的技术可行性百度搜索广告价格
  • 有用建站宝盒做网站的吗seo整站优化服务
  • 阿里爸爸网站建设策划书百度官方网首页
  • wordpress怎么删除文章seo建设招商
  • 装修公司做网站推广能接到活吗郑州网络推广代理顾问
  • 商业网站开发教程百度霸屏全网推广
  • 购物网站建设市场调查论文打开网址资料网站
  • 湖北武汉网站制作企业微信会话内容存档
  • 南宁做网站 的推广赚佣金的平台
  • 网络平台管理制度和管理办法seo页面代码优化
  • 无锡集团网站建设平台做推广的技巧
  • 怎样免费给自己的公司做网站百度客服人工在线咨询电话
  • 已有网站可以做服务器吗沪深300指数是什么意思
  • 南昌网站建设公司渠道阿里指数在线查询
  • 日本专门做恋足的网站网络营销案例视频
  • 高新企业建设网站公司网站视频播放代码
  • 做的网站名深圳百度关键
  • php 快速网站开发营销型外贸网站建设
  • 网盘可以做网站空间吗唐山seo优化
  • 网站推广的10种方法做百度推广代运营有用吗
  • 陕西专业网站开发联系电话seo具体优化流程