首页
学习
活动
专区
圈层
工具
发布

#int

【优选算法必刷100题】第019~20题(二分查找算法):x 的平方根、搜索插入位置

艾莉丝努力练剑

依次枚举 [0,x] 之间的所有数 (这里没有必要研究是否枚举到x / 2还是x / 2 + 1。因为我们找到结果之后直接就返回了,往后的情况就不会判断。反而研...

500

【优选算法必刷100题】第007~008题(双指针算法):三数之和、四数之和问题求解

艾莉丝努力练剑

本题与两数之和类似,是非常经典的面试题。与两数之和稍微不同的是,题目中要求找到所有【不重复】的三元组。那我们可以利用在两数之和那里用的双指针思想,来对我们的暴力...

910

【优选算法必刷100题】第003~004题(双指针算法):快乐数、盛最多水的容器问题求解

艾莉丝努力练剑

为了方便叙述,将【对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和】这个操作记为 x 操作;题目告诉我们,当我们不断重复 x 操作的时候,计算一定会...

2200

【优选算法必刷100题】第017题(二分查找算法):二分查找

艾莉丝努力练剑

本题整个的思路、算法原理、解题过程博主在纸上推导了一遍,大家可以参考一下手记的推导过程!最好做题的过程中自己也推导一遍!!!自己能够推导很重要!

1710

【优选算法必刷100题】第031~32题(前缀和算法):连续数组、矩阵区域和

艾莉丝努力练剑

设 i 为数组中的任意位置,用sum[ i ]表示[0 , 1]区间中的所有元素的和。

2500

【优选算法必刷100题】第029~30题(前缀和算法):寻找数组的中心下标、除自身以外数组的乘积

艾莉丝努力练剑

如果想知道有多少个【以为结尾的和为的子数组】,就要找到有多少个起始位置为x1,x2,x3...使得[x , i]区间内的所有元素的和为k。那么[0 , x]区间...

2310

Java中的随机数生成:从范围字符串到动态区间应用

用户8589624

在编程中,随机数生成是一个常见的需求,无论是模拟数据、游戏开发、测试用例生成,还是简单的抽奖逻辑,都可能需要随机数。Java提供了多种生成随机数的方式,但如何根...

3200

webots续集2

用户11770632

上次我发现他的动作真的很奇怪,那我们咋整,其实就是看看实际的传感器数据的值,以及他的逻辑问题,我们首先先看他的代码逻辑,那就上代码了,大佬可直接忽略

5110

背包dp——动态规划

用户11719974

  这个看似简单的模型,却可以衍生出许多变种,广泛应用于资源分配、投资决策、项目选择等现实问题中。

5810

C++类型转换详解

用户11719974

C++兼容C语言,在内置类型之间转换规则和C语言一样的,C/C++语言因为允许类型转换所以不是类型安全的语言。

6010

多状态dp——动态规划

用户11719974

假设我们按之前的经验,使用dp[i]表示从0到i能偷窃到的最高金额。并试着写出状态转移方程。而我们只知道dp[i-1]是0到i-1能偷窃的最高金...

6910

BFS(广度优先搜索)——搜索算法

用户11719974

BFS,也就是广度(宽度)优先搜索,二叉树的层序遍历就是一个BFS的过程。而前、中、后序遍历则是DFS(深度优先搜索)。从字面意思也很好理解,D...

5210

分治算法——优选算法

用户11719974

本章我们要学习的是分治算法,顾名思义就是分而治之,把大问题分为多个相同的子问题进行处理,其中我们熟知的快速排序和归并排序用的就是分治算法,所以我...

4110

位运算——优选算法

用户11719974

关于位运算的优先级是一个让人很头疼的事情,不过也很好解决,直接简单粗暴多加括号就行,就像写宏定义一样。

6810

前缀和算法——优选算法

用户11719974

前缀和是指从数组的起始位置到某一位置(或矩阵的某个区域)的所有元素的和。这种算法通过预处理数组或矩阵,计算出每个位置(或区域)的前缀和,并将其存...

5810

【排序算法】—— 计数排序

用户11719974

        计数排序,顾名思义就是记录数据出现的次数进行排序,时间复杂度为O(N+K),空间复杂度为O(N)。只能用于整型,对于比较集中重复率比较高数据更为...

3910

【排序算法】—— 归并排序

用户11719974

归并排序时间复杂度O(NlongN),空间复杂度O(N),是一种稳定的排序,其次可以用来做外排序算法,即对磁盘(文件)上的数据进行排序。

4510

【排序算法】—— 快速排序

用户11719974

快速排序的原理是交换排序,其中qsort函数用的排序原理就是快速排序,它是一种效率较高的不稳定排序,时间复杂度为O(N*longN),接下来就来...

14010

FloodFill算法——搜索算法

用户11719974

0表示平原,正数表示高地,负数表示凹地,那么当洪水来临时这些凹地会被优先灌满。而我们要找的正是这些联通块,如:

4910

进程池的制作(linux进程间通信,匿名管道... ...)

用户11719974

首先进程之间是相互独立的,尽管是父子进程之间,它们虽然资源共享,但当子进程需要修改数据时仍然需要进行写时拷贝,保持独立性。

5310
领券