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

网统管公司的网站托管服务怎么样陕西省交通建设集团西长分公司网站

网统管公司的网站托管服务怎么样,陕西省交通建设集团西长分公司网站,软文代写费用,视频直播网站如何做2025.1.5 二分查找 1 搜索插入位置 就是简单的二分查找 注意开闭就行 这里有一句话就是nums是升序的 如果他不是严格递增 就是有相同的数字的情况下应该怎么写? int lower_bound(vector<int>& nums, int target) {int left 0, right (int) nums.size() - 1; …

2025.1.5 

二分查找

1 搜索插入位置

就是简单的二分查找 注意开闭就行

这里有一句话就是nums是升序的 如果他不是严格递增 就是有相同的数字的情况下应该怎么写?

  int lower_bound(vector<int>& nums, int target) {int left = 0, right = (int) nums.size() - 1; while (left <= right) { // 区间不为空int mid = left + (right - left) / 2;if (nums[mid] >= target) {right = mid - 1; // 范围缩小到 [left, mid-1]} else {left = mid + 1; // 范围缩小到 [mid+1, right]}}// 循环结束后 left = right+1// 此时 nums[left-1] < target 而 nums[left] = nums[right+1] >= target// 所以 left 就是第一个 >= target 的元素下标return left;}

这是代码!  就是在这里需要更改

2 搜索二维矩阵

第一个方法就是通过两个二分 第一个二分确定在哪一行第二个确定在那一列 这里可以用3的方法一样的

第二个方法就是通过从最后一行第一列开始,每次去除一行或者一列这个简单

3 在排序数组中查找元素的第一个和最后一个位置

我们就是写一个lower_bound (第一个大于等于当前target的元素的下表!)

4搜索旋转排序数组

分组二分查找 

如果[left - mid)他是有序地我们就看target是不是在这中间不是的话left = mid+1(不在的话一定在右侧)

如果(mid,right ] 他是有序地我们就看target是不是在这中间不是的话right = mid-1(不在中间一定是在左侧 )

5

1

就是一个简单的栈的应用

这个就是需要两个stack有一个需要注意的是

   if(s2.empty()||val<=s2.top()) //这里必须<=  

举例子 如果是 -1 0 -1  我们把我们最小的加入应该是 -1 -1 

如果没有等于的话就是 -1  那在原来的stack中进行pop的话 我们判断如果top相同那-1会被去除

那就不对了啊!

链表问题

相交链表 (做出来了)

记住我们set中的find是迭代器的寻找 就是 set.find(..)!=headB.end();这个意思

2 反转链表 

这个题

//想法就是 先弄一个 listNode * pre = null;

while(head!=null)

//标记下来我们当前的下一个 就是index = head->next;

//head->next = pre;

//在这里需要加一个判断就是if(index == null) break;

//pre = head;

//head = index;

为什么呢 如果不加判断我们的这个index ==null之后 head也会变成null所以如果return head->next就错了  所以加这个判断就没问题啦

3 会问链表

很重要这个做错了还是对链表的理解不够透彻!!!、

让 list = head 对list进行倒序

通过while 比较我们是不是相等

这个是很傻逼的!! 因为我list是一个地址 我让list等于 head

那我不就是相当于 对head进行操作了??? 

所以严厉禁止这个想法 !

正确想法很简答 就是把val拿出来放到vector中 通过left right 来比较就行啦 很简单的 

环形链表 (一跟二都很简答)

很简单

两数相加

问题是我要知道链表如何完成串联 !!

如果链表不存在

head = tail = new listnode(sum%10);

如果链表存在 tail = new listnode(sum%10);

tail = tail->next;

 删除链表的倒数第n个

这个题目两个点 第一必须有一个前置指针      ListNode * f3 = new ListNode(0);

让我们的

   ListNode * f1 = f3;

   ListNode * f2 = f3;

然后在是

  f1->next = head;

   f2->next = head;

    f3->next = head;

因为 我们需要把指针移动 n+1 个位置!!  如果单纯的用head 有可能移动到n+1 的那个位置不存在!

第二 我们必须返回的是     return f3->next;

不是head 因为有可能head被删除了!  所以就是不对的!! 

两两交换链表中的节点

重要的是想如何进行下一轮的交换

http://www.yayakq.cn/news/584630/

相关文章:

  • 简述如何让网站排名快速提升北京教育学会网站建设
  • 网站做优化的成本免费域名申请的方法
  • 苏州高端网站建设设计拖拽式可视化编辑网站
  • 渭南市建设局网站外贸出口平台网站
  • 网店网站建设制作图片软件下载
  • 网站推广阶段网站域名到期会怎么样
  • 网站建设策划书 备案wordpress如何调整行距
  • 怎样用电脑和网訨自己做网站做爰视频网站
  • 网站做流量是怎么回事一张图片做单页网站
  • 钟表网站开发背景文章2023网络舆情案例分析
  • 南宫职业教育中心示范校建设网站php是网站开发语言吗
  • 张家界酒店网站建设wordpress广告代码没显示
  • 漯河哪里做网站兄弟连php网站开发
  • 深圳彩票网站开发人员信息类网站有哪些
  • 企业网站的建设一般要素有郑州快速建站价格
  • 网站换新的空间域名解析怎么做咋做个人网站
  • 萧山做网站的公司沈阳个人网站建设选择
  • 设计logo网站侵权吗知乎苏州网站建设企业网站制作
  • 手机网站如何更改典当行 网站
  • 枣庄市网站建设湖南it网站建设mxtia
  • 东莞微网站建设多少钱app加盟代理
  • 微网站自己怎么做wordpress做成app
  • 家用电脑怎么做网站wordpress菜单显示在哪
  • 在厦门做网站找谁用vs2010做网站登录
  • 东莞网站制作公司怎么选择wordpress标题字体改大
  • 公司的网站设计方案杭州网络游戏公司排名
  • 网站建设之婚礼摄影网站设计电商网站多少钱
  • 建设网站简单吗国内免费域名注册
  • 代加工接订单网站咸鱼网站交易付款怎么做
  • 网站图片有什么要求吗163企业邮箱怎么申请