贪心算法: money = [100,50,20,5,1] #钱币的面额大小 def change_money(x): change = [0,0,0,0,0] #对应钱币面额的个数 for i,m in enumerate(money): change[i] = x // money[i] x =
原创 2021-05-20 20:05:47
100阅读
Python代码总结进制转换字符串找子串的第一个index:判断大小写,转换大小写补充两个字符串数学python计算指数双指针,涉及到重复项的,可以从1开始遍历,检查前一项,List列表的函数列表的方法创建列表:切片操作集合字典字典的获取要用dic.get(key)Collections双向队列哈希表:字符串中的第一个字符defaultdict异位词:enumerate正则表达式.sub函数链表
目标 && 前言近期的目标就是刷《算法竞赛——进阶指南》这本书先花两三天左右把 0x00 基本算法 刷完,好的题目我录下来。用一两天快速地把 0x10 基本数据结构 刷完,因为比较简单。好的题目录下来。0x20 搜索 先放在这边,因为我觉得搜索比较毒瘤,过了初赛再刷搜索,顺便提高代码能力。0x30 数学知识 数学我不太擅长,先留着0x40 数据结构进阶 马上就要开学了,这个看看一周
判断矩阵里面是否有所需要的值设置矩阵:左面永远比右面小,上面永远比下面小int check(int arr[3][3], int* x, int* y, int k){ int i = 0, j = *y - 1; while (i < *x && j >= 0) //如果循环和判断所需要行列的标识没有关系,就用while循环,括号里判断什么时候结束循环 {
原创 精选 2021-12-19 09:55:43
344阅读
一种新型的激光炸弹,可以摧毁一个边长为RR的正方形内的所有的目标。现在地图上有NN
原创 2023-02-08 09:13:47
44阅读
03.01_Java语言基础(逻辑运算符的基本用法)(掌握)A:逻辑运算符有哪些 &,|,^,!&&,|| B:案例演示逻辑运算符的基本用法注意事项:a:逻辑运算符一般用于连接boolean类型的表达式或者值。b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。 算术表达式:a + b比较表达式:a == b(条件表达式)C:结论:&逻辑与:有f
漫画:Bitmap算法进阶篇上一期漫画分享了Bitmap算法的基本概念,小伙伴们的互动十分积极,在此很感谢大家的热情。没看过上一期漫画的朋友们可以点击下面的链接:漫画:什么是Bitmap算法?针对上一期小伙伴们提出的各种问题,这一次咱们来集中解答。我们以上一期的用户数据为例,用户基本信息如下。按照年龄标签,可以划分成90后、00后两个Bitmap:用更加形象的表示,90后用户的Bitmap如下:这
原创 2020-11-14 22:07:11
488阅读
Excel的列标转成数字
原创 2022-03-28 11:49:31
722阅读
前言最近国内大厂面试中,出现 LeetCode 真题考察的频率越来越高了。我也观察到有越来越多的前端同学开始关注算法这个话题。但是算法是一个门槛很高的东西,在一个算法新手的眼里,它的智商门槛要求很高。事实上是这个样子的吗?看完这篇文章你就不会觉得了。一定要耐心看到底,会有重磅干货分享给你。送分题不能丢你常常有听到说面试前刷 leetcode 的说法。但是在刷 leetcode 题目之前,我认为有些
转载 2021-05-08 22:05:23
113阅读
2评论
 玻璃猫 程序员小灰上一期漫画分享了Bitmap算法的基本概念,小伙伴们的互动十分积极,在此很感谢大家的热情。没看过上一期漫画的朋友们可以点击下面的链接:漫画:什么是Bitmap算法?针对上一期小伙伴们提出的各种问题,这一次咱们来集中解答。我们以上一期的用户数据为例,用户基本信息如下。按照年龄标签,可以划分成90后、00后两个Bitmap:用更加形象的表示,90后用户的Bitmap如下:这时候可以
原创 2021-05-30 21:27:04
233阅读
算法竞赛从入门到进阶 1.算法竞赛概述 1.1 C语言中输入输出函数 putchar() getchar printf() scanf() puts() gets() sscanf() 1.2 输入结束方式 while(scanf("%d %d",&a,&b) != EOF){ } //等价于 wh ...
转载 2021-08-29 16:20:00
568阅读
2评论
// hamilton路径int f[1 >...
转载 2020-04-14 10:47:00
86阅读
2评论
在当今的科技快速发展背景下,Java作为一种广泛使用的编程语言,在算法工程师的职业发展中扮演着重要角色。作为java进阶算法工程师,掌握排列组合的逻辑至关重要。通过深入的理解和实践,我们能够提升解决复杂问题的能力。以下是关于排列组合逻辑的详细讨论,涵盖了相关技术原理、架构解析、源码分析、案例分析和扩展讨论等内容。 ### 背景描述 排列组合问题常常出现在算法面试和实际开发中,能够熟练掌握这些技
原创 5月前
16阅读
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。
原创 2024-04-24 12:12:27
39阅读
后缀数组后缀数组 (SA) 是一种重要的数据结构,通常使用倍增或者DC3算法实现,这超出了我们的讨论范围。在本题中,我们希望使用快排、Hash与二分实现一个简单的O(nlog2n)的后缀数组求法。详细地说,给定一个长度为 n 的字符串S(下标 0~n-1),我们可以用整数 k(0≤k<n) 表示字符串S的后缀 S(k~n-1)。把字符串S的所有后缀按照字典序排列,排名为 i 的后缀记...
原创 2021-08-26 16:02:47
100阅读
邻值查找给定一个长度为 n 的序列 A,A 中的数各不相同。对于 A 中的每一个数 Ai,求: min1≤j<i|Ai−Aj|以及令上式取到最小值的 j(记为 Pi)。若最小值点不唯一,则选择使 Aj 较小的那个。输入格式第一行输入整数n,代表序列长度。第二行输入n个整数A1…An,代表序列的具体数值,数值之间用空格隔开。输出格式输出共n-1行,每行输出两个整数,数值之间用空格...
原创 2021-08-26 16:03:03
637阅读
前言最近国内大厂面试中,出现 LeetCode 真题考察的频率越来越高了。我也观察到有越来越多的前端同学开始关注算法这个话题。但是算法是一个门槛很高的东西,在一个算法新手的眼里,它的智商门槛要求很高。事实上是这个样子的吗?看完这篇文章你就不会觉得了。一定要耐心看到底,会有重磅干货分享给你。送分题不能丢你常常有听到说面试前刷 leetcode 的说法。但是在刷 leetcode 题目之前,我认为有些
转载 2021-05-08 22:26:51
163阅读
2评论
来源: 《算法竞赛进阶指南》, 模板题算法标签 排序,贪心题目描述在
原创 2023-03-20 14:54:40
152阅读
来源: 《算法竞赛进阶指南》算法标签: 二维前缀和题目描述地图上有 N 个目标,用整数Xi,Yi表示目标在地图上的位置,每个目标都有一个价值Wi。注意:不同目标可能在同一 上总...
原创 2023-03-20 16:43:12
170阅读
贪心算法  贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。   贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 贪心算法基本要素:​谈心选择​:贪心选择是指所求问题的整体最优解可以通过一系
原创 2022-03-23 15:19:47
682阅读
  • 1
  • 2
  • 3
  • 4
  • 5