自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 动态规划-背包问题

1、基础问题:给你一个可以装载重量为w的背包和n个物品,每个物品有价值和重量2个属性,其中第i个物品重量wt[i],价值为val[i],现在用这个背包装物品,限定重量下最多价值是多少动态规划标准套路:1、确定状态和选择状态:背包重量和可选择的物品选择:装进背包和不装进背包2、dp数组定义:dp[i][j] 对于前i个物品,当背包重量为j时的最大价值时dp[i][j]3、状态转移矩阵dp[i][j]=1、if 没有把物品放进背包:dp[i-1][j] 维持之前.

2021-09-06 00:26:50 187

原创 动态规划3 高楼扔鸡蛋

887. 鸡蛋掉落难度困难668收藏分享切换为英文接收动态反馈给你k枚相同的鸡蛋,并可以使用一栋从第1层到第n层共有n层楼的建筑。已知存在楼层f,满足0 <= f <= n,任何从高于f的楼层落下的鸡蛋都会碎,从f楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层x扔下(满足1 <= x <= n)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中重复使用...

2021-08-19 00:15:11 140

原创 动态规划2:四字键盘

LeetCode 651:四字键盘假设有一个键盘只有四个键,A 显示一个ACtrl+A 全选Ctrl+C 复制Ctrl+V 黏贴class Solution: def maxA(self, N): dp = [0 for i in range(N+1)] for i in range(1,N+1): #按A键 dp[i] = dp[i - 1] +1 for..

2021-08-02 23:56:53 111

原创 动态规划1:最长回文子序列

问题描述:516. 最长回文子序列给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。示例 1:输入:"bbbab"输出:4一个可能的最长回文子序列为 "bbbb"。示例 2:输入:"cbbd"输出:2一个可能的最长回文子序列为 "bb"。方法一:斜线遍历class Solution: def longestPalindromeSubseq(self, s: str) -> int:

2021-07-05 00:23:01 224

原创 算法框架6 二叉树遍历及其应用

1. 中序遍历类型1:对于一个二叉查找树来说,其中序遍历结果是一个有序数组面试题 17.12. BiNodedef convertBiNode(self, root: TreeNode) -> TreeNode: self.ans = self.pre = TreeNode(-1) def dfs(root): if not root: return dfs(root.left) root.left

2021-03-01 00:24:22 143

原创 算法框架5 二分查找

基础二分查找def binary_search(nums,target): left = 0 right = len(nums) - 1 while left <= right: mid = left + (right - left)/2 if nums[mid] < target: left = mid + 1 elif nums[mid] > target: ri.

2021-02-23 00:12:01 108

原创 算法4 BFS

BFS模板from collections import dequedef BFS(start,target): q = deque() visited = set() q.append(start) #队列,关键数据类型 visited.add(start)#已经访问的元素 step = 0 #记录扩散步数 while q: sz = len(q) #将当前队列中元素向四周扩散 for i in r

2021-02-19 23:34:38 62

原创 算法框架2 回溯

result = []def backtrace(路径,选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrace(路径,选择列表) 撤销选择关键三要素,路径,选择列表和结束条件案例1:46. 全排列import copyclass Solution: def permute(self, nums.

2021-01-15 00:17:05 55

原创 算法框架1:动态规划

通用模板:dp[0][0][...] = base case进行状态转移for 状态1 in 状态1 所有值: for 状态2 in 状态2所有值: for ... dp[状态1][状态2][...]=求最值(选择1,选择2,...)主要分解的关键元素:状态,选择和dp数组的定义案例1:509. 斐波那契数方法1:建立备忘录函数:class Solution: def fib(self, n: int) -&gt...

2021-01-11 00:05:04 250

原创 算法3 滑动窗口

滑动窗口模板def sliding_window(s,t)://t为s子串 left,right = 0,0 //索引 valid = 0 window,need = {},{} s_len = len(s) for c in t: need[c] = need.get(c,0) +1 need_len = len(need) while right < s_len: c1 = s[right]

2020-12-22 23:25:18 109

原创 数据结构与算法2 单调栈

基础类型:讲解 Next Greater Number 的原始问题: 给你⼀个数组, 返回⼀个等⻓的数组, 对应索引存储着下⼀个更⼤元素, 如果没有更⼤的元素, 就存-1。不好⽤语⾔解释清楚, 直接上⼀个例⼦:给你⼀个数组 [2,1,2,4,3], 你返回数组 [4,2,4,-1,-1]。解释: 第⼀个 2 后⾯⽐ 2 ⼤的数是 4; 1 后⾯⽐ 1 ⼤的数是 2; 第⼆个 2 后⾯⽐ 2 ⼤的数是 4; 4 后⾯没有⽐ 4 ⼤的数, 填 -1; 3 后⾯没有⽐ 3 ⼤的数, 填-1。de

2020-12-06 23:51:29 56

原创 数据结构与算法1 前缀和技巧

基础类型1int subarraySum(int[] nums, int k) {int n = nums.length;// map: 前缀和 -> 该前缀和出现的次数HashMap<Integer, Integer>preSum = new HashMap<>();// base casepreSum.put(0, 1);int ans = 0, sum0_i = 0;for (int i = 0; i < n; i++) { sum

2020-12-01 00:13:44 93

原创 字典拷贝

importcopy<br>    #原字典dict1={1:1,'user':'test','num': [1,2,3]};#直接赋值dict2=dict1;dict3=dict1.copy();dict4=copy.deepcopy(dict1);dict1[1]=11;dict1['user']='123';dict1['num'].remove(1);print('---------------------...

2020-08-02 23:00:34 167

原创 python基础以及编码规范和编码安全 容易出错的部分

1、x = "abcdefcdhijkcdnnnn"print(x.split('cd',2))output['ab', 'ef', 'hijkcdnnnn']split() 方法语法:str.split(str="", num=string.count(str)).参数str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num ...

2020-03-30 22:01:12 209

原创 LeetCode 88 list[:] = A 和list = A的区别

nums1 = [1, 2, 3, 0, 0, 0]m = 3nums2 = [2, 5, 6]n = 3nums1[:] = sorted(nums1[:m] + nums2[:n])我们做2个实验:print(id(nums1))nums1 = nums1[:m] + nums2[:n]print(id(nums1))输出得到:306304083947802...

2020-03-02 22:53:42 154 1

原创 pandas 常用操作盲区

 1、创建array :vstack hstack拼接p1 = np.ones((3, 3))p2 = np.arange(9).reshape(3, 3)print('纵向叠加: \n', np.vstack((p1, p2)))print('横向叠加: \n', np.hstack((p1, p2))) 纵向叠加: [[1. 1. 1.] [1. 1. 1.] ...

2018-10-28 23:07:28 229

原创 pandas contact join merge 操作

#!/usr/bin/env python# -*- coding: utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFramedf1=pd.DataFrame({'key':['b','b','a','a','b'...

2018-08-28 00:03:55 2570

4x4矩阵键盘驱动(STM32库函数版,中断&非中断)

//键盘全局声明 extern unsigned int Keyboard_Val ;//当前键值 //extern unsigned char Keyboard_Change_Flag;//键值改变标志,读入新键值后,标志位清零 extern u8 key_pressed_flag; //有按键按下时置1 extern char keydata; #ifdef Interrupt_Scan extern u16 Key_scan(void); extern void KEY4x4_Init(void); extern void Init_Keyboard_Interrupt(void); extern u8 Get_key(void); #endif

2014-05-25

12864驱动(stm32 库函数版)

void Lcd12864_Config_OUT(void); void Lcd12864_Config_IN(void); void Lcd12864_Init(void); void write_com(uchar cmdcode); void write_dat(uchar Dispdata); void sendbyte(uchar zdata); void Clr_Scr(void); void lcd_pos(uchar X,uchar Y); void display_char(uchar * pointer); void Disp_String(uchar X,uchar Y,const uchar * pt); uchar receivebyte (void); void DisFloat(uchar X,uchar Y,float num,int size); void DisInt(uchar X,uchar Y,long int num); void DisInt_time(uchar X,uchar Y,long int num,int zero); void disnum( int num); //显示整型变量的函数,最多显示16位的整数。只能显示正数。 int NumOfTime(int n); void Lcd12864_set_cursol(int X, int Y); void Lcd12864_display_cursol(unsigned char flag);

2014-05-25

基于单片机控制的测压显示模块电路的设计.pdf

基于单片机控制的测压显示模块电路的设计.pdf 详细的设计报告

2010-04-24

74LS74_中文资料.pdf

74LS74_中文资料 内容翔实 附加适用方法 方便易学

2010-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除