【二分查找-爱代码爱编程
【题目】 【代码】 【方法1】二分查找 class Solution: def mySqrt(self, x: int) -> int: left,right=0,x//2
代码编织梦想
【题目】 【代码】 【方法1】二分查找 class Solution: def mySqrt(self, x: int) -> int: left,right=0,x//2
题目链接:JZ25:合并两个排序的链表 题目描述: 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0
文章目录 第三大的数解法一(排序加遍历对比)解法二(遍历一遍加迭代) 第三大的数 题目: 给你一个非空数组,返回此数组中第三大的数 。如果不存在,则返回数组中最大的数。
爬楼梯—递归分析 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 1 输出: 1 解释:
AB10 反转链表 描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0≤n≤1000 要求:空间复杂度O(1) ,时间复杂度
题目1 力扣 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 class Solution { public: bool searchMatrix(vector<vector<int>>&a
题解笔记 问题总结dfs背包问题堆C++ 字符串操作 1 - 2021 - 4041 - 6061 - 8081 - 100101 - 120121 - 140141 - 160161 - 180181
文章目录 🌞315. 计算右侧小于当前元素的个数🌈1. 题目⛅2. 算法原理🪐3. 代码实现 🌕493. 翻转对🌠1. 题目⭐2. 算法原理🌟3. 代码实现
LeetCode第136题 只出现一次的数字 1. 题目描述 题目来源;LeetCode 链接:136. 只出现一次的数字 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次
1.完全二叉树 一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。 用人话来说,就
文章目录 🍈217. 存在重复元素🍌1. 题目🍏2. 算法原理🍓3. 代码实现 🎃219. 存在重复元素 II🎄题目🎆算法原理🧨代码实现 🍈217.
方法一:逐位%2法 该方法的初步测试代码如下: int NumberOf1(int n) { int count = 0; while (n) { if (n % 2 == 1) { count++; } n = n / 2; } return count; } 众所
CSP第25次 202203-2 出行计划 C/C++满分答案 CSP历年真题答案合集点我(链接) 下方是100分代码,差分数组 #include <bits/stdc++.h> using namesp
今日复习了数组部分,对以下题目做了一个整理。 27. 移除元素 这里将不再详细讲述两层for循环的暴力算法。其大致思路是:第一层for循环遍历每一个元素,找到值为val的元素之后,从该位置将每一个元素往前移动一位进行覆盖;
回文字符串 1. 判断是否为回文字符串* 2. 反转字符串* 3. 判断是否为回文字符串(二)** 4. 最长回文子串 1. 判断是否为回文字符串* 描述 给定一个长度为n的字
查找 1、折半查找的递归算法2、实现一种顺序检索算法3、判断是否是二叉排序树4、指定结点在二叉排序树的层次5、判断是否是平衡二叉树6、求出二叉排序树中最小、最大关键字7、从大到小输出二叉排序树中不小于k的关键字
目录 题目链接:长度最小的子数组 题目描述 思路分析:滑动窗口(利用单调性,使用"同向双指针'来优化) 细节处理 画图解析 代码 题目链接:最大连续1的个数 III 题目描述 思路分析:滑动窗口(同向双指针) 细节处理 画图解析 代码 题目链接:将 x 减到 0 的最小操作数 题目描述 思路分析: 滑动窗口(同向双指针)
⭐️ 往期相关文章 ✨链接:数据结构-手撕单链表+代码详解。 ⭐️ 题目描述 🌟 leetcode链接:反转链表 1️⃣ 代码: /** * Definition for singly-linked li
704.二分查找 力扣题目传送门 AC过后的感受:之前做过一次这题,当时也看到了卡哥的题解(卡哥题解传送锚点哈),感觉恍然大悟——原来自己晕的是+还是- 1的问题是区间开闭的问题。不过这次选在【left,right)这种开始写,还是出错,需要再理清楚一遍。 我感觉开闭区间主要还是在判断条件是否能等于的时候考虑,以及循环中的left+1 right-
洛谷P1554-梦中的统计 #include <bits/stdc++.h> using namespace std; vector<int> fun(long long int n)//将n的