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

做网站 服务器多少钱一年课程网站建设的财务分析

做网站 服务器多少钱一年,课程网站建设的财务分析,湖北建设厅网站,大气网站首页目录 1. 朴素二分查找2. 在排序数组中查找元素的第一个和最后一个位置3. 搜索插入位置4. x的平方根5. 山脉数组的峰值索引6. 寻找峰值7. 寻找旋转排序数组中的最小值8. 点名 1. 朴素二分查找 题目信息#xff1a; 题目链接#xff1a; 二分查找二分查找的使用前提为数据具有 题目链接 二分查找二分查找的使用前提为数据具有二段性在二分时并不一定要进行2等分1/31/4…二分查找的时间复杂度O( l o g N log^N logN) 求mid的算法优化原算法有溢出风险 class Solution { public:int search(vectorint nums, int target) {int right nums.size() - 1;int left 0;while(right left){//此种算法存在溢出风险//int mid (right left) / 2;int mid (right - left) / 2 left;if(nums[mid] target){right mid - 1;}if(nums[mid] target){left mid 1;}if(nums[mid] target){return mid;}}return -1;} };2. 在排序数组中查找元素的第一个和最后一个位置 题目信息 题目链接 在排序数组查找元素的第一个与最后一个位置思路向符合条件位置不断推进 class Solution { public:vectorint searchRange(vectorint nums, int target) {int right nums.size() - 1;int left 0;vectorint count(2,-1);//数据为空特殊处理if(nums.size() 0){return count;}//左端点while(left right){//落到左区间int mid left (right - left) / 2;if(nums[mid] target){right mid;}if(nums[mid] target){left mid 1;}}if(nums[left] target){count[0] left;}right nums.size() - 1;left 0;//右端点while(left right){//落到右区间int mid left (right - left 1) / 2;if(nums[mid] target){right mid - 1;}if(nums[mid] target){left mid;}}if(nums[left] target){count[1] left;}return count;} };3. 搜索插入位置 题目信息 题目链接 搜索插入位置思路取大右区间的左边界 class Solution { public:int searchInsert(vectorint nums, int target) {int left 0;int right nums.size();while(left right){//小于大于等于int mid left (right - left) / 2;if(nums[mid] target){left mid 1;}if(nums[mid] target){right mid;}}return left;} };4. x的平方根 题目信息 题目链接 x的平方根思路暴力解法的优化左区间的右边界二段性 class Solution { public:int mySqrt(int x) {if(x 1){return 0;}int left 1;int right x;while(left right){//当left从0开始时left 1可能会溢出long long mid left (right - left 1) / 2;//防止溢出if(mid * mid x){left mid;}if(mid * mid x){right mid - 1;}}return left;} };5. 山脉数组的峰值索引 题目信息 题目链接 山脉数组的峰值索引思路二分法左区间右边界 class Solution { public:int peakIndexInMountainArray(vectorint nums) {//左区间右边界int left 0;int right nums.size() - 1;while(left right){int mid left (right - left 1) / 2;if(nums[mid] nums[mid - 1]){left mid;}if(nums[mid] nums[mid - 1]){right mid - 1;}}return left;} };右区间的左边界 class Solution { public:int peakIndexInMountainArray(vectorint nums) {//右区间左边界int left 0;int right nums.size() - 1;while(left right){int mid left (right - left) / 2;if(nums[mid] nums[mid 1]){left mid 1;}if(nums[mid] nums[mid 1]){right mid;}}return left;} };6. 寻找峰值 题目信息 题目链接 寻找峰值思路二段性右区间的左边界不足三个数特殊化处理 class Solution { public:int findPeakElement(vectorint nums) {int left 0;int right nums.size() - 1;//特殊情况//数组值小于3if (nums.size() 2){return 0;}if (nums.size() 3){return nums[0] nums[1] ? 0 : 1;}//右区间的左边界while (left right){int mid left (right - left) / 2;if (nums[mid] nums[mid 1]){left mid 1;}if (nums[mid] nums[mid 1]){right mid;}}return left;} };7. 寻找旋转排序数组中的最小值 题目信息 题目链接 寻找寻转排序数组中的最小值思路右区间左边界 class Solution { public:int findMin(vectorint nums) {//二段性右区间左边界int right nums.size() - 1;int left 0;while(left right){int mid left (right - left) / 2;if(nums[mid] nums[right]){left mid 1;}if(nums[mid] nums[right]){right mid;}}return nums[left];} };8. 点名 题目信息 题目链接 点名思路多解法考察知识广度 1二分法右区间的左边界学号等于下标学号大于下标边界问题 2 哈希表法时间复杂度O(n)空间复杂度O(n) 3 异或法 4 等差数列求和 5 暴力遍历法 class Solution { public:int takeAttendance(vectorint records) {int left 0;int right records.size() - 1;while(left right){int mid left (right - left) / 2;if(records[mid] mid){left mid 1;}if(records[mid] mid){right mid;}}//边界问题n-1个元素n个学生必定有一人缺席缺席为学号最后一位的学生if(left records.size() - 1 left records[left]){left;}return left;} };等差数列 class Solution { public:int takeAttendance(vectorint records) {//等差数列求和首项加末项乘以项数除以2int sum ((0 records.size()) * (records.size() 1)) / 2;for(int i 0; i records.size(); i){sum - records[i];}return sum;} };哈希表 class Solution { public:int takeAttendance(vectorint records) {//哈希表法int n records.size() 1;int* hash (int*)malloc(n * sizeof(int));//单位字节memset(hash, 0, n * sizeof(int));int i 0;for(i 0; i records.size(); i){hash[records[i]];}for(i 0; i n; i){if(hash[i] 0){break;}}return i;} };暴力遍历 class Solution { public:int takeAttendance(vectorint records) {//暴力遍历int cur 0;while(cur records.size()){if(cur ! records[cur]){break;}cur;}if(cur records.size() - 1 records[cur] cur){cur;}return cur;} };异或法 class Solution { public:int takeAttendance(vectorint records){//异或法int sum 0;for(int i 0; i records.size() 1; i){sum ^ i;}for(int i 0; i records.size(); i){sum ^ records[i];}return sum;} };
http://www.zqtcl.cn/news/162386/

相关文章:

  • 良品铺子网站制作用什么软件来做网站
  • ip直接访问网站 备案哪有深圳设计公司
  • 平面构成作品网站第一设计
  • 济南小程序开发多少钱网站移动端优化工具
  • 大连开发区网站淘宝网站优化实例
  • 张家港建网站的公司做网站犯法了 程序员有责任吗
  • 小型企业网站建设项目浦东新区网站推广公司
  • 上海做网站优化公司ps最好用的素材网站
  • 网站建设品牌推广seo制作公司网站
  • 个人网站服务器一年多少钱科技让生活更美好作文450字
  • 开学第一课汉字做网站网盘资源搜索神器
  • 备案网站应用服务树莓派用来做网站
  • 找装修公司上什么网站湘潭交通网站
  • php网站服务建设网站增加关键字
  • 免费视频网站制作泰州东方医院
  • 单位的网站怎样设计才美观手机开发者选项
  • 网站可以做软件检测吗重庆潼南网站建设价格
  • 忘记网站后台地址建设网站协议范本
  • 平面设计素材网站排行榜前十名程序员网站开发框架
  • 搭建一个网站需要多少钱搜搜
  • 做搜狗手机网站手工制作大全折纸
  • 万网站天眼查询个人信息
  • 一份优秀的网络推广方案名风seo软件
  • 自己建设一个网站步骤中文wordpress主题下载
  • 如何在中国建设银行网站转账成都网页设计培训学校哪家好
  • 青岛建设网站制作wordpress代码高亮显示
  • 品牌创意型网站建设仿 手机 网站模板html
  • 信息化建设期刊网站网络规划设计师 用途
  • 商城网站开发的完整流程图精灵网站建设
  • 网站开发技术描述asp网站建设下载