一、冒泡排序'''冒泡算法冒泡排序原理就是循环遍历数组,比较相邻两个数的大小,重复比较直到排序完成N个数字要排序完成,总共要进行N-1趟排序,第i趟的排序次数为(N-i) 次'''1 def bubbleSort(arr): 2 n = len(arr) 3 # 遍历所有元组元素 4 for i in range(n): 5 # 每一趟循环最后一位数
转载 2023-06-27 10:23:43
282阅读
上篇文章分享了一些入门算法,如果没有看过的可以去看一下上一篇文章,这篇文章囊还是分享一些我精选的入门算法程序,废话不多说,上代码!""" 实心矩形 """ raw=int(input("请输入行数:")) for x in range(raw): print (" * "*x) """ 空心矩形 """ raw=int(input("请输入行数:")) for x in range(r
1. 删除排序数组中的重复项         给你一个有序数组 nums,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。nums = [1,1, 3, 4, 5, 7,
目录36 求100以内的素数37 数字排序38 求对角线元素之和39 数组插入数字保持有序40 数组逆序输出 36 求100以内的素数题目:求100以内的素数指素数在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数代码:# 求100之内的素数。 from sys import stdout for i in range(1,100 + 1): if i > 1:
  如何找出数据中最小的k个数  方法一:将数据排序,然后从排好序的数组中找到第k小的数  方法二:使用选择排序的方式,排序k次,找到第k小的数  方法三:使用快速排序的思想,从中随机选择一个数mid,然后将其划分为三部分  array[low.mid-1]、array[mid]、array[mid+1,high],也就是这三个部分,如果mid-low=k-1那么我们认为array[mid]就是我
转载 2024-02-28 23:16:40
33阅读
我们知道学习一门语言最快的方法就是多敲代码,敲一些难度适中的代码可以让我们学的更快,理解的更深,有时候你看书看博客都不明白的一个概念可能你敲一会代码你就明白到底怎么回事了,下面是我精选的python入门的算法,也有一些小程序,希望可以帮到你""" 题目:一行代码生成九九乘法表 """ print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) fo
在这篇博文中,我将讨论解决“python简单算法”问题的过程,包括排列组合的逻辑。这个话题不仅对初学者很有帮助,也对想提高自己编程技能的开发者有重要的参考价值。 我们常常会遇到需要计算排列组合的问题,例如在进行数据分析、优化资源分配时。这些问题通常会涉及到从一个集合中选出一定数量的元素,并对选出的元素进行排列或组合。在实际场景中,我们可以使用**四象限图**来可视化这些问题,帮助我们更清晰地
python递归算法经典实例有哪些?程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的
简单算法算法题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?代码m =0 for i in range(1,5): for j in range(1,5): for k in range(1,5): if(i != j )and(i != k)and(j != k): m=m+1;
想着总结一下做过的题目,感觉我之前的学习也没有那么认真......果然兴趣是最好老师。也可以照着这里的提示不看他人代码,自己做题试试。收获里写的是目前获得的一些小感悟,也许还有其他用法暂时就没写了。题目1:两数之和解法: 暴力解法就不说了,要想运行的快得加入字典。收获:index :获取指定值的索引,如果有重复的就是第一个enumerate:获得列表里值的索引及位置get:根据值获得字典里该键对应
贪心法思想:你追一个MM的时候,从相识到相知,每次都采用最aggressive的方式,进攻进攻再进攻!从不采用迂回战术或是欲擒故纵之局部最优选择。当然,希望贪心
原创 2023-05-31 23:52:12
80阅读
文章目录1、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?2、判断101-200之间有多少个素数,并输出所有素数。3、打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 水仙花数 ,因为153=1的三次方+5的三次方+3的三次方。4、将一个正整数分
目录1.Java多线程:写一下两个线程交替打印 0~100 的奇偶数2.线程安全的单例模式3.用两个栈实现队列4.实现单链表反转操作5.Java实现二分查找6.冒泡排序7.快速排序快速排序的基本思想:8.Java单链表实现快速排序9.二叉树的前序遍历10.二叉树的中序遍历11.二叉树的后序遍历12.java实现逆波兰表达式13.斐波那契数列及青蛙跳台阶问题1.Java多线程:写一下两个线程交替打印
转载 2023-08-23 21:19:07
74阅读
题目来自lintcode,答案来自九章算术,将自己在lintcode上训练的一些简单算法贴出来,作为知识的总结与整理。便于查看复习。第一部分(入门级别,只做了开放的部分,大部分需要收费的VIP才有权限做)1、反转一个只有3位数的整数。你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。样例样例 1:输入: number = 123 输出: 321样例 2:输入: nu
现在是3月份,也是每年开年企业公司招聘的高峰期,同时有许多的朋友也出来找工作。现在的招聘他们有时会给你出一套面试题或者智力测试题,也有的直接让你上机操作,写一段程序。算法的计算不乏出现,基于这个原因我自己搜集了一些算法上的题型。希望对于大家有所帮助。【程序1】  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都
转载 2023-06-26 21:05:54
57阅读
import java.time.LocalDate; import java.util.*; public class Suanfa { public static void main(String[] args) { // test1(10); // test2(); // test3(); // test4(" abcUUU
转载 2023-10-09 09:01:28
31阅读
# 如何实现“Java算法简单的” ## 算法实现流程 ```mermaid erDiagram 理解题目 --> 编写代码 --> 测试代码 --> 完善代码 ``` ## 具体步骤及代码 | 步骤 | 操作 | 代码 | | --- | --- | --- | | 1 | 理解题目 | 无代码 | | 2 | 编写代码 | ```java // 创建一个类 public c
原创 2024-05-03 06:09:48
30阅读
1:合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素; 2:合并两个单链表; 3:倒序打印一个单链表; 4:给定一个单链表的头指针和一个指定节点的指针,在O(1)时间删除该节点; 5:找到链表倒数第K个节点; 6:反转单链表; 7:通过两个栈实现一个队列; 8:二分
转载 2016-05-12 09:13:00
54阅读
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。
目录1.1最近邻算法  1.2 K-邻近算法2.算法步骤:3. KNN算法实战3.1 实例分析算法步骤3.2程序实现4. KNN算法的探讨 4.1 算法优点4.2 算法缺点1.1 最近邻算法          最近邻算法(NN):为了判定未知样本的类别,以全部训练样本作
转载 2024-05-11 11:43:56
542阅读
  • 1
  • 2
  • 3
  • 4
  • 5