算法
记录pytohn语言写的算法
飞飞帅傅
这个作者很懒,什么都没留下…
展开
-
python 找出数组中出现次数最多的元素
面试的时候一道算法题,感觉挺简单的,结果却做的不是很完美,下来以后改进一下,当作一个教训。代码def get_count_max_ele(s): max_count = 0 # 记录最大的次数 dct = {} # 键为元素,值为次数 for i in range(len(s)): if s[i] not in dct: # 元素不在列表里,就加上,s[i]为键 dct[s[i]] = 1 # 赋值为 1 els.原创 2021-07-02 09:25:53 · 2541 阅读 · 7 评论 -
力扣第三题:无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,.原创 2021-06-12 23:23:02 · 108 阅读 · 0 评论 -
设计一个魔方程序 可运行
算法课抽到的另一道题,大厂面试题设计一个魔方(六面)的程序。抽到这个题一头雾水,不知从何下手,借鉴了别人的经验,虽然没找到一个能运行的,但还是受到了启发,所以自己琢磨着写一写。借鉴一张大佬的图(下图),我又加了几个标识,便于理解代码干货#!/usr/bin/env python# -*- coding:utf-8 -*# author:Zfy date:2021/5/30 20:05import numpy as np# 构造魔方s0 = np.zeros(9, dtyp原创 2021-06-09 22:47:12 · 274 阅读 · 1 评论 -
一万条url找出相似的url
算法课抽到的另一道题,大厂面试题收藏了1万条url,现在给你一条url,如何找出相似的url。(面试官不解释何为相似)方法一:若url属于同一服务,一个URL是另一个URL的前缀,或者两个URL的前面的目录相同,可利用正则表达式#!/usr/bin/env python# -*- coding:utf-8 -*-# 认为前面的目录相同则为相似import regiven_url = 'https://blog.csdn.net/weixin_51617086'urls = ['htt原创 2021-06-09 11:49:32 · 646 阅读 · 0 评论 -
一千万条短信找重复最多前十条
算法课抽到了这样一道题,大厂面试题有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条我做了一简化,改为找重复最多的数字思路:先取出第一条,然后,存入变量并将此条删除,与下面的比较,遇到相同的删除,并且计数,然后,写入到另一个变量b,标题和次数;重复之,直到清空,使用排序算法对次数从大到小排序,再找回b中对应的标题,依次打印。#!/usr/bin/env python# -*- coding:utf-8 -*-# author:Zfy原创 2021-06-09 11:41:33 · 665 阅读 · 0 评论 -
最长公共子串和最长公共子序列
学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇原创 2021-05-19 17:12:38 · 175 阅读 · 0 评论 -
python实现贪心算法的例子
*贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择,不从整体最优上考虑,其实求的是在某种意义上的局部最优解。但在某些问题上贪心算法的解就是最优解原创 2021-05-18 23:34:25 · 493 阅读 · 0 评论 -
python实现字符串全排列
字符串全排列方法一def permutation(arr, start): #start 代表子字符串的首位置索引 if arr == None: return if start == len(arr)-1: print(''.join(arr)) # 完成全排列后输出当前排列的字符串 else: i = start while i < len(arr): arr[start], a原创 2021-05-15 22:26:44 · 2222 阅读 · 8 评论 -
分金块问题——python实现
python实现分金块问题 分治算法 递归def min(x, y): if x > y: return y else: return xdef max(x, y): if x < y: return y else: return xdef search_min(list, left, right): #left为左边的索引,right为右边的索引 if left == righ原创 2021-05-12 16:13:39 · 614 阅读 · 0 评论