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

制作网站需要多少钱seo排名方案

制作网站需要多少钱,seo排名方案,有哪些做农产品的网站,做网站违法目录 前言: 1.单词倒排 方法1:scanf匹配特定字符法 方法2: 双指针法 2.统计每个月兔子的总数 方法1:斐波那契数列 方法2:斐波那契的递归 3.珠玑妙算 方法:遍历 4.寻找奇数(单身狗&#…

目录

前言:

1.单词倒排 

 方法1:scanf匹配特定字符法

方法2: 双指针法

2.统计每个月兔子的总数

 方法1:斐波那契数列

方法2:斐波那契的递归

3.珠玑妙算

方法:遍历

 4.寻找奇数(单身狗)

方法1:遍历法

 方法2:异或运算法

5.截取字符串


前言:

编程想要学的好,刷题少不了,我们不仅要多刷题,还要刷好题!为此我开启了一个弯道超车必做好题锦集的系列,此为第三篇编程题篇,每篇大约5题左右。该系列会不定期更新,敬请期待!


1.单词倒排 

 方法1:scanf匹配特定字符法

#include <stdio.h>
int main()
{char str[1000][1000];int i = 0;while (1){if (scanf("%[a-zA-Z]", str[i])){i++;}if (getchar() == '\n'){break;}}while(i){printf("%s ", str[--i]);}return 0;
}

 解析:

方法2: 双指针法

解题思路:

  1. 整体思想是双指针法,因此定义一对快慢指针p1,p2.
  2. 首先寻找一个单词的末尾,因此当s[p1]不是字母时p1就要--,循环终止时只要p1将指向一个单词的末尾(还有单词的话),此时将用p2记录下这个单词的结尾。
  3. 继续寻找单词的开头,因此当s[p1]为字母的时候就让p1--,最终p1+1指向该单词的开头,我们从p1+1遍历到p2,依次打印即可。

 scanf函数不能接受带空格的字符串,所以要使用gets函数

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{char s[10000];gets(s);int len = strlen(s);int p1 = len - 1, p2 = len;while (p1>=0){while (p1 >= 0 && !isalpha(s[p1])){p1--;}		p2 = p1;while (p1 >= 0 && isalpha(s[p1])){p1--;}			int i;for (i = p1 + 1; i <= p2; i++){printf("%c", s[i]);}			printf(" ");}return 0;
}

2.统计每个月兔子的总数

 方法1:斐波那契数列

我们可以先来推导一下

第一个月 只有一只

第二个月 只有一只

第三个月 原先的一只生出一只共2只

第四个月 最开始的一只又生出一只 共3只

第五个月 第一只生一只,第二只到第三月 生一只,共5只

第六个月 第一只生一只,第二只生一只,第三只生一只,共8只

1  1   2   3  5  8……

可以发现f(n) = f(n-1)+f(n-2)

本质上是斐波那契数列

#include<stdio.h>
int main()
{int arr[31],i = 0,n;arr[0] = 1; arr[1] = 1;scanf("%d", &n);for (i = 2; i < n; i++){arr[i] = arr[i - 1] + arr[i - 2];}printf("%d", arr[n - 1]);return 0;
}

方法2:斐波那契的递归

#include<stdio.h>
int fb(int n)
{if (n == 1 || n == 2){return 1;}return fb(n - 1) + fb(n - 2);
}int main()
{int n = 0;scanf("%d", &n);printf("%d", fb(n));return 0;
}

3.珠玑妙算

珠玑妙算icon-default.png?t=N7T8https://leetcode.cn/problems/master-mind-lcci/

方法:遍历

int* masterMind(char* solution, char* guess, int* returnSize) {int* ret = (int*)malloc(sizeof(int) * 2);ret[0] = 0; ret[1] = 0;int i = 0,j=0;for (i = 0; i < 4; i++){if (solution[i] == guess[i]){ret[0]++;solution[i] = ' ';guess[i] = ' ';}}for (i = 0; i < 4; i++){if (solution[i]!=' '){for (j = 0; j < 4; j++){if (solution[i] == guess[j]){ret[1]++;guess[j] = ' ';break;}}}}*returnSize = 2;return ret;
}

解析:

solution: RGBY

guess: GGRR

先遍历一遍guess,每个字符一一对应

R-G         G-G         B-R        Y-R

我们把相同的当成一次猜中,即G==G,即为一次,并把这两个字符抵消 

然后我们再次遍历guess中的每一位,这时候我们需要在整个solution中搜索是否有这个字符,如果有则抵消solution和guess中的字符,并当成一次伪猜中,然后下一个字符照旧


 4.寻找奇数(单身狗)

方法1:遍历法

#include<stdio.h>
int main()
{int n = 0, arr[2000000],i=0,count=0,j=0,flg=0;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &arr[i]);}for (i = 0; i < n-1; i++){if (arr[i] < 0){continue;}count = 1;for (j = i+1; j < n; j++){if (arr[j]>0 && arr[i] == arr[j]){arr[j] = arr[j] * -1;count++;}}if (count % 2 != 0){flg = arr[i];break;}}printf("%d",flg);return 0;
}

 但会超时 

 方法2:异或运算法

总结:利用异或运算可以算出出现奇数次的数字 

#include<stdio.h>
int main()
{int n = 0;int ans = 0;scanf("%d",&n);for(int i = 0; i < n; i++){int tmp = 0;scanf("%d",&tmp);ans ^= tmp;}printf("%d\n", ans);return 0;
}

5.截取字符串

解析:

截取字符串前 n 个字符,只需要将数组 n 下标位置的数据替换为字符串结尾标志即可
#include <stdio.h>
int main()
{
char str[101];
scanf("%s", str) > 0;
int n;
scanf("%d", &n);
str[n] = '\0';
printf("%s\n", str);
return 0;
}


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

 

http://www.hkea.cn/news/732873/

相关文章:

  • 网站建设的财务计划新媒体营销策略有哪些
  • 网站建设分金手指专业二八宁波品牌网站推广优化
  • 清远网站建设公司百度游戏风云榜
  • 网上可以自学什么技术win7系统优化软件
  • 嘉兴建站软件如何做好企业网站的推广
  • 在凡科做网站短视频推广
  • 深圳推广公司推荐q群排名优化软件
  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询