自定义博客皮肤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)
  • 收藏
  • 关注

原创 LC 反转字符串

传送门思路对称位置交换代码class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ n=len(s) # 对称位置交换 for i in range(n//2): s[i],s[n-i

2021-08-15 01:20:36 165

原创 LC 旋转图像

传送门思路先找到从外到内一共几层,每层旋转当前层的n-1个数,就将每个数都与固定位置的数进行顺时针替换即可。代码class Solution: def rotate(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-place instead. """ n=len(matrix[0])#找到矩阵的n

2021-08-15 01:06:59 159

原创 LC 有效的数独

传送门解法一:思路: 既然是判断横纵和每个3*3块中是否有重复的,就会想到用set,然后再分别考虑即可。我的解法时间复杂度没考虑好,空间复杂度击败98%user。class Solution: def isValidSudoku(self, board: List[List[str]]) -> bool: #1.横向扫 for i in board: #找出所有数字 h=[j for j i

2021-08-11 00:17:23 138

原创 LC 两数之和

传送门解法一思路: 遍历数组,然后用m=target-n,在当前数后面的数组里找m,如果存在就返回两个数的索引class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i,n in enumerate(nums): m=target-n if m in nums[i+1:]: j=nums[

2021-08-07 01:41:31 164

原创 LC 移动零

解法一:比较耗时class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ #判断临界 L=len(nums) if L<=1: return #找到0的个数 zeros=

2021-08-05 00:14:30 86

原创 python谷歌翻译库googletrans使用 避坑!

python谷歌翻译库googletrans使用 避坑!1、安装正确版本的库这个下载错了会报错pip install googletrans==4.0.0-rc12、导包并设置翻译服务器地址from googletrans import Translator# 设置Google翻译服务地址translator = Translator(service_urls=[ 'translate.google.cn'])3、执行翻译,输出结果translation = tran

2021-04-21 00:10:11 8467 4

原创 加一

加一python解法先转为实数,然后加一,最后转为list输出。class Solution: def plusOne(self, digits: List[int]) -> List[int]: #先转为实数 num=int("".join([str(_) for _ in digits]))+1 #转为list return [int(_) for _ in str(num)]c++解法/**我的解法:比较蠢,硬

2021-03-03 17:43:19 134 1

原创 两个数组的交集 II

两个数组的交集 II题目链接解题思路先排序,然后双指针遍历c++解法class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { //排序 sort(nums1.begin(),nums1.end()); sort(nums2.begin(),nums2.end());

2021-02-03 21:45:42 96

原创 只出现一次的数字

只出现一次的数字题目链接c++解法第一种解题思路是:使用map来实现,线性时间复杂度,但是使用了额外空间。class Solution {public: int singleNumber(vector<int>& nums) { //使用map来做 map<int,int> mmap; for(auto i:nums){ if(mmap.count(i)==0) mmap[i]=1;

2021-02-03 00:23:49 78

原创 存在重复元素

存在重复元素题目链接解题思路使用set集合,集合会自动将重复元素合并为一个,最后判断集合中元素个数和数组长度即可。c++解法class Solution {public: bool containsDuplicate(vector<int>& nums) { set<int> sset;//把所有元素放到一个set里 int len=nums.size(); for(int i=0;i<len;i++)

2021-02-02 18:44:37 545 1

原创 旋转数组

旋转数组题目链接解题思路最容易想到的解题方法就是使用额外的数组空间,但是如果在空间复杂度为O(1)的情况下也是很好理解的,只是发现其中的规律比较难。这个规律就是进行三次数组翻转,如下图:需要注意的是k有可能大于数组长度,所以先将k取余c++解法class Solution {public: void rotate(vector<int>& nums, int k) { k%=nums.size(); reverse(nums.beg

2021-02-02 18:27:34 92 1

原创 买卖股票的最佳时机 II

买卖股票的最佳时机 II题目链接贪心算法根据题意,给出每天股票的价格,利用贪心算法思想,可以将当天和前一天的价格差,然后取大于零的差的和,就是所能获取的最大利润。可以使用折线图帮助理解,每一点代表每一天都卖出前一天的,然后买入当天的,然后只取上升的部分即可。c++解法class Solution {public: int maxProfit(vector<int>& prices) { int res=0; for(int i=0;i

2021-01-30 21:50:18 89

原创 LC 删除排序数组中的重复项

删除排序数组中的重复项题目链接解题思路使用双指针,i指针遍历整个数组,每相邻两个进行判断,如果不相等,就使用k指针重新赋值前面的数。代码c++解法class Solution {public: int removeDuplicates(vector<int>& nums) { int k=0;//保存不重复数字的个数 for(int i=0;i<nums.size();i++) if(i==0||nums

2021-01-28 22:31:12 158 5

原创 plt.scatter的参数s和c传list的用法理解

plt.scatter的参数s和c传list的用法理解s传list其实是设置每个点的大小c传list则是对每个标记使用不同的颜色,并以线性方式将 c 中的值映射到当前颜色图中的颜色,颜色的不同只与list中值的大小顺序有关(从而将其映射到颜色图中,颜色图可以通过参数cmap来设定),与具体值是多少无关#analyze the datafig=plt.figure()ax=fig.add_subplot(111)#cmap可以取值为plasma、Oranges、summer、Spectral、

2021-01-26 13:13:53 1976

原创 C#预处理指令使用

#define、#if、#else、#endif使用  编译符号有两种状态,要么被定义,要么不被定义,define和if正好配合使用,#define在每个源码文件的第一行定义,然后if可以根据该定义判断是否执行某段源码。比如:#define RUNclass Program{ static void Main(string[] args) {#if RUN Console.WriteLine("run this block");#else//如果把第一行#de

2021-01-06 10:44:49 153

原创 C#中有关事件的理解

C#中有关事件的理解首先要知道事件是一个特殊的委托,在C#中委托的定义有点类似于C++的函数指针,只不过C#委托是比较安全的。事件使用发布-订阅模式。发布事件必须要有的一个是事件的声明,另个一个是触发事件的代码。关于一个事件的demo首先声明一个委托然后利用该委托声明一个事件编写触发事件的函数给事件注册要执行的方法,要注意方法签名和定义的委托类型相同!public class MyEvent { public delegate void NumHandler();/

2021-01-06 09:55:39 328

原创 在云平台部署flask项目

云平台部署flask项目–以收截图小项目为例因为我的阿里云(Windows server 2012)之前从未配置过python的环境,所以只能从零开始,直入主题1、安装python3.6这个不必多说,直接去python官网下一个python安装包,然后复制到阿里云平台安装即可,但是注意一点,在安装的GUI界面记得要点击Add python to path,就是要将python配置到环境变量中...

2020-03-16 01:25:06 566

空空如也

空空如也

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

TA关注的人

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