Java面试前一定要刷完。。 2.2万 6 4:27 App Java面试】 如何高分回答,ConcurrentHashMap是如何保证线程安全?这道面试题的 336 -- 10:53 App SLAM算法为什么需要内存管理机制 7814 25 4:21 App 【Java面试】技术总监带你剖析,MySQL储存引擎,MyISAM和InnoDB的区别? 1276 -- 8:51 App 如何应对嵌入式面试 ...
【力扣——基础算法】 与链表、数组、字符串等相关的题目练习。 皓月 · 118 篇内容 订阅专栏置顶内容 排序算法(快排、归并) 1、快速排序 带随机化的基数选取。 class Solution { public: vector<int> sortArray(vector<int>& nums…阅读全文 赞同 添加评论 分享收藏 ...
不要使用额外的数组空间,必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 双指针算法: 数组完成排序后,我们可以放置两个指针 i 和 j,其中 i 是慢指针,而 j 是快指针。只要 nums[i]=nums[j],我们就增加 j 以跳过重复项。 当遇到 nums[j] != nums[i]时,跳过重复项的运行已经结束,必须...
10 排序算法 11 迭代、递归 12 分治 13 搜索算法 14 贪心算法 15 动态规划 1 字符串操作 1048. 最长字符串链——— 中等 151. 翻转字符串里的单词——— 中等 3.无重复字符的最长子串——— 中等 5.最长回文子串——— 中等 6.Z字形变换——— 中等 14.最长公共...
LeetCode--力扣算法整理总结 回到顶部 1、双指针 双指针法是最简单的一种了,大概就是通过两个变量,作为数组或者字符串的下标索引进行操作 双指针一共分为三种,分为快慢指针、左右指针、滑动窗口 左右指针一般就是while(left<right) ... 力扣3题:给定一个字符串,请你找出其中不含有...
解法一:暴力算法 直接从2开始遍历,判断是否能被2到自身之间的数整除 public int countPrimes(int n) { int ans = 0; for (int i = 2; i < n; ++i) { ans += isPrime(i) ? 1 : 0; } return ans; } //i如果能被x整除,则x/i肯定能被x整除,因此只需判断i和根号x之中较小的即可 ...
1.1、基本定义 算法就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出。这样算法就是把输入转换为输出的计算步骤的一个序列。 数据结构是一种存储和组织数据的方式,旨在便于访问和修改。没有单一的数据结构对所有用途均有效,所
1、反转链表 反转一个单链表:输入: 1->2->3->4->5 输出: 5->4->3->2->1 方法1:迭代,...
稳定排序算法。时间复杂度都是O(nlogn) ,与原始数据是否有序无关。不是原地排序算法。快速排序 Quicksort从数组下标p到r,任意选一个数据作为pivot(分区点,一般选p到r最后一个),将小于pivot的数据放左边,大于放右边。然后将pivot左侧和右侧继续按照此方式排序,直到区间为1。桶排序(Bucket sort)将数据分成...
高频算法面试题:接雨水(力扣 42) #程序员 #算法 #数据结构 #编程 #leetcode - 老汤讲算法于20231201发布在抖音,已经收获了2.8万个喜欢,来抖音,记录美好生活!