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

苹果手机做电影网站有哪些2345网址大全

苹果手机做电影网站有哪些,2345网址大全,怎么在搜狐快站上做网站,兰州网页设计最新招聘信息欢迎来到我的世界 希望这篇文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 ! 目录 前言编程题第一题:珠玑妙算第二题:寻找奇数第三题:寻找峰值第四题:数对 总结 前言 这是暑假题目的收尾文章&am…

在这里插入图片描述

欢迎来到我的世界

希望这篇文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 !


目录

  • 前言
  • 编程题
    • 第一题:珠玑妙算
    • 第二题:寻找奇数
    • 第三题:寻找峰值
    • 第四题:数对
  • 总结

前言

这是暑假题目的收尾文章,我的暑假作业一共写了四篇文章,本篇文章有四篇编程题,我很喜欢四这个数字,感谢铁子们的支持,新的篇章即将来到。😎

在这里插入图片描述


编程题

第一题:珠玑妙算


地址:oj地址


在这里插入图片描述

解题思路:

暴力求解:分别记录猜中的个数和伪猜中的个数存入数组相应位置。

  • 猜中的个数好记录,直接让颜色组合的数组与猜测的数组进行一一比较,如果相等,那猜中的个数++;
  • 伪猜中的个数进行两次遍历;第一次遍历颜色组合的数组,在让该数组中的元素都遍历一遍猜测数组元素,如果相等伪猜中个数++,注意:并将猜测数组该位置赋值为空格' ' 这是为了确定唯一性;

注意:这里伪猜中的个数包含了猜中的个数,所以在存入数组的是(伪猜中的个数-猜中的个数)

代码实现:

int* masterMind(char* solution, char* guess, int* returnSize) {*returnSize = 2;//只用两个元素,分别记录猜中个数和伪猜中个数int* arr = (int*)malloc(sizeof(int) * (*returnSize));int i = 0;int sum = 0;//猜中的个数for (i = 0; i < 4; i++){if (solution[i] == guess[i]){sum++;}}arr[0] = sum;int count = 0;//记录违猜中的个数int j = 0;for (i = 0; i < 4; i++){for (j = 0; j < 4; j++){if (solution[i] == guess[j] )//找到相等的,且将猜测数组中的值该成空格;{count++;guess[j] = ' ';break;}}}arr[1] = count - arr[0];return arr;
}

第二题:寻找奇数


地址:oj地址


在这里插入图片描述

解题思路:

这道题其实也叫做:寻找单身狗
考察的是对按位异或^的深刻了解:

我们首先来了解下^他的运算原则是:相同为0,相异位1;
在来看到:一个数^他相同数结果为0
假如一个数3:二进制码:011
3 ^ 3 = 0 所以:3 ^ 0 = 3
结论: 0 ^任何数都 = 该数本身,任何数^该数本身=0

所以我们可以利用这一特性:
题目中说输入一个数组,该数组只有唯一的一个单着的;
所以让0按位异或^上该数组所有数就可以找出那个单着的数;
就像单身狗一样,无所遁形😎

代码实现:

int main() {int n=0;scanf("%d",&n);int i=0;int arr=0;int m=0;//m^上该数组所有元素for(i=0;i<n;i++){scanf("%d",&arr);m^=arr;}printf("%d",m);return 0;
}

第三题:寻找峰值


地址:oj地址


在这里插入图片描述
在这里插入图片描述

第一个解题思路:暴力求解

根据在数组范围内,只要一个数严格大于两侧的数就为峰值,对nums数组进行遍历,找到一个峰值即可;

暴力求解,代码实现:

int findPeakElement(int* nums, int numsLen ) {// write code hereint i=0;if(numsLen==1)//若只有一个值,其本身就是峰值return 0;if(nums[0]>nums[1])//若峰值为第一个元素,单独讨论return 0;if(nums[numsLen-1]>nums[numsLen-2])//若峰值为最后一个元素,单独讨论return numsLen-1;for(i=1;i<numsLen-1;i++)//遍历[1,numsLen-1)范围{if(nums[i]>nums[i-1] && nums[i]>nums[i+1])//找到峰值{return i;}}return 0;//若还是找不到峰值,就返回0;
}

第二个解题思路:二分思想

在首元素和最后一个为峰值都要单独考虑;
二分思想:设置三个指针left,right,找到中间位置的值mid,然后根据mid和其两边的值的进行比较,哪边要大于mid值就往那边找峰值,直到mid值严格大于其两边的值;

  • 如果 nums[mid]<nums[mid+1],那么意味这峰值位于mid右边,根据二分查找的思想,让left=mid+1
  • nums[mid]>=nums[mid+1],那就意味着峰值位于mid的左边;根据二分查找的思想,让right=mid;
  • 注意mid的值:mid = left + (right - left) / 2;

-在这里插入图片描述

二分求解,代码实现:

int findPeakElement(int* nums, int numsLen ) {// write code hereif (numsLen == 1 || nums[0] > nums[1]) return 0;if (nums[numsLen - 1] > nums[numsLen - 2]) return numsLen - 1;int left = 0, right = numsLen - 1, mid;while (left < right) {mid = left + (right - left) / 2;if (nums[mid] < nums[mid+1])//中间比右边小,意味着右边肯定有个峰值left = mid + 1;else //否则在左边包括当前位置肯定有个峰值right = mid;}return right;
}

第四题:数对


地址:oj地址


在这里插入图片描述

第一个解题思路:暴力求解

暴力求解:将 x y 分别遍历 [1, n] ,进行判断当 x % y >= k 时统计计数 count++ 即可,但是这样的话当 n 的值非常大的时候循环次数将非常恐怖,需要循环 n^2 次;
注意:这个方法会运行超时;

代码实现:

#include <stdio.h>int main() {int i=0;int j=0;int n,k;long count=0;scanf("%d%d",&n,&k);for(i=1;i<=n;i++){for(j=1;j<=n;j++){if((i%j)>=2){count++;}}}printf("%ld",count);return 0;
}

第二个解题思路:

要理解数学公式:((n/y)*(y-k))+((n%y<k)?0:(n%y-k+1));
假如n=10,k=3
y <=k 时,意味着任何数字取模y的结果都在 [0, k-1]之间,都是不符合条件的。
y=k+1=4,x 符合条件的数字有 3,7;
y=k+2=5,x 符合条件的数字有 3,4,8,9;

所以当y=k+n
x小于y当前值,且符合条件的数字数量是:y-k个;
x大于y当前值,小于2*y的数据中,且符合条件的数字数量是:y-k个;

可以能看出来,在y的整数倍区间内,x符合条件的数量就是 (n / y) * (y - k)个;
n / y 表示有多少个完整的 0 ~ y区间,y - k 表示有每个区间内有多少个符合条件的数字;
最后还要考虑的是6...往后这种超出倍数区间超过n的部分的统计
n % y 就是多出完整区间部分的数字个数,其中k以下的不用考虑,
则符合条件的是 n % y - (k-1) 个。
这里需要注意的是类似于9这种超出完整区间的数字个数 本就小于k的情况,则为0
最终公式:(n / y) * (y - k) + ((n % y < k) ? 0, (n % y - k + 1));

代码实现:

#include <stdio.h>int main() {long n,k;scanf("%ld%ld",&n,&k);if(k==0){printf("%ld",n*n);return 0;}long count=0;for(long y=k+1;y<=n;y++){count+=((n/y)*(y-k))+((n%y<k)?0:(n%y-k+1));}printf("%ld",count);return 0;
}

总结


到了最后:感谢支持

我还想告诉你的是:
------------对过程全力以赴,对结果淡然处之
也是对我自己讲的

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

相关文章:

  • 公司做网站域名归谁搜索引擎营销策划方案
  • 怎么做外贸个人网站seo综合查询工具可以查看哪些数据
  • 黑客网站盗qq百度seo公司整站优化
  • 网页设计代码不能运行seo的中文名是什么
  • 灵溪网站建设外贸网站谷歌seo
  • 网站开发系统设计产品推销
  • 不用代码做网站 知乎百度引流推广怎么收费
  • 怎么看网站后台什么语言做的产品全网营销推广
  • 可以做宣传图的网站网络销售管理条例
  • 做书籍封皮的网站制作网站平台
  • 1网站建设公司长沙网站到首页排名
  • 域名还在备案可以做网站吗seo培训班
  • 前程无忧网宁波网站建设类岗位北京网站快速排名优化
  • 如何优化网站内部链接站长工具站长之家
  • 阿里云网站建设的实训报告免费的自媒体一键发布平台
  • 关于加强网站建设的意见企业获客方式
  • 帮企业建设网站保密合同优化设计电子课本
  • 金山石化网站建设广告电话
  • 网站开发 前景网络推广代理
  • 温州整站推广咨询seo网站推广专员
  • 企业营销型网站团队百度seo排名优化教程
  • 安徽平台网站建设哪里好网络策划与营销
  • 做网站接广告赚钱么凡科建站和华为云哪个好
  • 成都网站建设科技公seo营销外包公司
  • 重庆有哪些做网站 小程序的百度搜索引擎的特点
  • 仁怀哪里可以做网站自动秒收录网
  • 重庆市建设局网站推广软件一键发送
  • 合肥网络推广网络运营网站seo诊断分析和优化方案
  • 网站优化公司免费咨询sem优化推广
  • 个人做网站赚钱么宁波seo推荐推广平台