二分查找 一、引子 设想一个猜数字游戏,A从给定的区间中选择一个数字,B要猜这个数,如果B猜的数大了,就高速B猜大了,如果B猜的数小于A选择的数,就告诉B猜小了。理论上经过有限次的猜数后,B一定可以猜到这个数。 二、算法思想 通过上述猜数字游戏可以发现B每次猜数字时,其实都对给定的区间进行了压缩,最 ...
分类:
编程语言 时间:
2021-06-02 19:20:27
阅读次数:
0
区间贪心 一、区间不相交问题 问题描述:给出N个开区间(x,y),要求从这些开区间中选择尽可能多的开区间,使得这些开区间两两之间没有交集 例如:对于(1,3)、(2,4)、(3,5)、(6,7)来说,可以选出最多的三个区间(1,3)、(3,5)、(6,7) 这就是区间选择问题,所以在求解时,应该尽可 ...
分类:
编程语言 时间:
2021-06-02 18:06:20
阅读次数:
0
def select_sort_simple(li): li_new = [] for i in range(len(li)): min_val = min(li) li_new.append(min_val) li.remove(min_val) return li_new def select_ ...
分类:
编程语言 时间:
2021-01-19 11:43:46
阅读次数:
0
【举一反三】: 剑指27.字符串的排列 ☆☆回溯算法入门级经典题目,理论讲解及分类习题:回溯算法入门级详解 + 练习(持续更新) 思路1:标记数组 思路2:交换位置。相比思路1,空间复杂度低。 class Solution { public List<List<Integer>> permute(i ...
分类:
其他好文 时间:
2020-12-31 12:49:19
阅读次数:
0
引入 现在我们面临这样一个问题:有一个主串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? Brute-Force(暴力求解) 思路 如果用暴力匹配的思路,并假设现在主串S匹配到 i 位置,模式串P匹配到 j 位置,则有: 如果当前字符匹配成功(即$S_i = P_$),则$i++,j++ ...
分类:
编程语言 时间:
2020-06-30 22:38:23
阅读次数:
70
一、冒泡排序 就是两两之间?相互比较?前面的大于后面的则交换 重复这个操作。 1.交换两个变量的几种方法 二、插入排序 三、选择排序 就是先假设第一个是最小的,循环遍历,将第一个与所有的比较,当有人比他大,就把那个数的索引值换成最小索引值,再进行比较,这样每一轮都会得到一个最小值,知道length ...
分类:
编程语言 时间:
2020-04-28 20:16:48
阅读次数:
54
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19349 Accepted Submission(s): 6763 Proble ...
分类:
编程语言 时间:
2020-04-26 10:38:03
阅读次数:
90
100个不同类型的python语言趣味编程题 在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力。 第一部分:趣味算法入门;第八题: 8.冒泡排序:对N个整数(数据由键盘输入)进行升序排序 冒泡排序的思想:首先从表头开始往后扫描数组,在扫描的过程中逐对比较相邻的俩个元素的大小。若相邻的两个元素中 ...
分类:
编程语言 时间:
2020-03-21 23:07:02
阅读次数:
81
《机器学习入门》本书通过通俗易懂的语言,丰富的图示和经典的案例,让广大机器学习爱好者轻松入门机器学习MachineLearning,有效地降低了学习的门槛。本书共分11章节,覆盖的主要内容有机器学习概述、数据预处理、K近邻算法、回归算法、决策树、K-means聚类算法、随机森林、贝叶斯算法、支持向量机、神经网络(卷积神经网络、Keras深度学习框架)、人脸识别入门等。从最简单的常识出发来切入AI领
分类:
编程语言 时间:
2020-03-15 10:04:46
阅读次数:
77
100个不同类型的python语言趣味编程题 在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力。 第一部分:趣味算法入门;第二题 补充: ? 问题分析: 本题属于数学当中常见的排列组合问题,即求从5个数中取3个不同数的排列组合的总数。 我们可以将 5 本书进行 1~ 5 的编号, A、 B、 ...
分类:
编程语言 时间:
2020-03-13 15:50:02
阅读次数:
72