上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页
摘要: 快慢指针(主要解决链表中的问题) 链表中是否包括环,进而求链表中环的入口节点 链表的中间节点(重要作用就是对链表进行归并排序) 链表的倒数第k个节点 等等 左右指针(主要解决数组(或者字符串)中的问题) 二分查找 求排序树组中和为sum的两个数 反转数组(字符串) 滑动窗口(双指针技巧的最高境界) 阅读全文
posted @ 2020-08-27 10:59 程序员曾奈斯 阅读(331) 评论(0) 推荐(0)
摘要: 二分算法的前提是排序数组,通过折半查找的方式,将找到目标值的时间复杂度缩小到O(logn) 最主要的3个问题 查找某元素即返回索引 查找某元素的左边界索引 查找某元素的右边界索引 二分算法框架: // 查找某元素即返回索引 int binarySearch(int num[], int length 阅读全文
posted @ 2020-08-27 08:58 程序员曾奈斯 阅读(202) 评论(0) 推荐(0)
摘要: BFS算法框架 BFS的核心思想,就是把一些问题抽象成图,从一个节点开始,向四周扩散。一般来说,写BFS都是用[队列]这个数据结构,每次将一个节点周围的节点加入到队尾。 BFS相对于DFS的最主要区别是:BFS找到的路径一定是最短的,但代价就是空间复杂度比DFS大很多。本文从两道经典的BFS题目来讲 阅读全文
posted @ 2020-08-26 21:08 程序员曾奈斯 阅读(784) 评论(0) 推荐(0)
摘要: 1 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 2 输入 str 3 输出 str的全排列(可能有字符重复)。字符只包括大小写字母。 4 样例输入 " 阅读全文
posted @ 2020-08-26 16:21 程序员曾奈斯 阅读(180) 评论(0) 推荐(0)
摘要: 斐波那契数列的例子严格来说不算动态规划,以上旨在演示算法设计螺旋上升的过程。当问题中要求求一个最优解或在代码中看到循环和 max、min 等函数时,十有八九,需要动态规划大显身手。 动态规划遵循一套固定的流程:递归的暴力解法 → 带备忘录的递归解法(剪支) → 非递归的动态规划解法。这个过程是层层递 阅读全文
posted @ 2020-08-25 15:54 程序员曾奈斯 阅读(145) 评论(0) 推荐(0)
摘要: 1 题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定 阅读全文
posted @ 2020-08-25 09:26 程序员曾奈斯 阅读(150) 评论(0) 推荐(0)
摘要: 1 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am 阅读全文
posted @ 2020-08-24 22:01 程序员曾奈斯 阅读(168) 评论(0) 推荐(0)
摘要: 1 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也 阅读全文
posted @ 2020-08-24 21:16 程序员曾奈斯 阅读(155) 评论(0) 推荐(0)
摘要: 1 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 2 输入 num[], S 3 输出 输出两个数,小的先输出。 4 样例输入 1,2,3,5,7,10,11,15 5 样例输出 4,11 6 求解思路 双 阅读全文
posted @ 2020-08-24 20:58 程序员曾奈斯 阅读(160) 评论(0) 推荐(0)
摘要: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 解题思路 加入一个辅助HashMap 位运算之异或的特点(很妙) 上代码(C++很香) 法一:加入HashMap public void FindNumsAppearOnce(int[] array, in 阅读全文
posted @ 2020-08-24 10:55 程序员曾奈斯 阅读(124) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页