<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SunWanqing的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SunWanqing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SunWanqing]]></copyright><item><title><![CDATA[二分查找方法]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/124218714</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/124218714</guid><author>SunWanqing</author><pubDate>Sat, 16 Apr 2022 19:23:30 +0800</pubDate><description><![CDATA[总结

二分查找可能会遇到哪些边界情况？为什么示例代码能完美的解决这些边界情况？

答：总是可以通过问题转换写出满足L &lt; R的优美代码。

二分查找伪代码

while( L &lt; R ) {
    int M = L + (R - L)/2;
    if( 答案在[M + 1,R]中 ) { // 思考一下，什么情况下能够说明“答案在[M+1,R]中”
        L = M + 1;
    } else { // 答案在[L,M]中
        R = M;
    }
}

]]></description><category></category></item><item><title><![CDATA[递归函数 C++]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/124108890</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/124108890</guid><author>SunWanqing</author><pubDate>Mon, 11 Apr 2022 20:44:17 +0800</pubDate><description><![CDATA[递归函数的两个基本要素
递归函数的写法有两个基本要素:
递归关系
问题规模为n时与问题规模为n-1时之间的转换关系
计算某个数字的阶乘，递归的关系就是：数字n的阶乘 = 数字n * 数字n-1的阶乘
这个函数可以写成： 递归关系的程序段
int factorial(int n) {
return n * factorial(n-1);
}
Tips：只知道递归关系是不够的，比如上面这个函数，就会无休止的一直套娃套下去，没有尽头。
递归的终止条件
递归关系需要有一个递归终止的条件。
在计算阶乘中，递归终止的条]]></description><category></category></item><item><title><![CDATA[单调栈法leetcode]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/120081141</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/120081141</guid><author>SunWanqing</author><pubDate>Fri, 03 Sep 2021 14:41:59 +0800</pubDate><description><![CDATA[移掉 K 位数字（中等）

class Solution(object):
    def removeKdigits(self, num, k):
        stack = []
        remain = len(num) - k
        for digit in num:
            while k and stack and stack[-1] &gt; digit:
                stack.pop()
                k -= .]]></description><category></category></item><item><title><![CDATA[最大子序列和，最长上升子序列]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/120051248</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/120051248</guid><author>SunWanqing</author><pubDate>Wed, 01 Sep 2021 23:29:30 +0800</pubDate><description><![CDATA[最大子序列和
class Solution:
    def maxSubArray(self, nums: List[int]) -&gt; int:
        size = len(nums)
        if size == 0:
            return 0
        dp = [0 for _ in range(size)]

        dp[0] = nums[0]
        for i in range(1, size):
            if ]]></description><category></category></item><item><title><![CDATA[荷兰国旗三路划分]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/120045747</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/120045747</guid><author>SunWanqing</author><pubDate>Wed, 01 Sep 2021 18:01:37 +0800</pubDate><description><![CDATA[1.荷兰国旗问题`lc75
class Solution:
    def sortColors(self, nums: List[int]) -&gt; None:
        n = len(nums)
        p0 = p1 = 0
        for i in range(n):
            if nums[i] == 1:
                nums[i], nums[p1] = nums[p1], nums[i]
                p1 +]]></description><category></category></item><item><title><![CDATA[[::-1][-1]python]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/119765464</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/119765464</guid><author>SunWanqing</author><pubDate>Tue, 17 Aug 2021 20:37:29 +0800</pubDate><description><![CDATA[说明
python里面的索引的特征是包含起点，但是不包含结束的索引值，-1表示最后一个元素，但是-1是结尾的index，所以含义就是取原始数据的除最后一个元素之外的值
[::-1] 顺序相反操作
[-1] 读取倒数第一个元素

...]]></description><category></category></item><item><title><![CDATA[^ [a-zA-Z] [^ a-zA-Z]区别]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/119654373</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/119654373</guid><author>SunWanqing</author><pubDate>Thu, 12 Aug 2021 21:32:23 +0800</pubDate><description><![CDATA[订阅专栏
^ [a-zA-Z]是去匹配目标字符串中以中括号中的a—z或者A—Z开头的字符
[^ a-zA-Z]是去匹配目标字符串中非a—z也非A—Z的字符.
\d
匹配任何十进制数字；这等价于类 [0-9]。
\D
匹配任何非数字字符；这等价于类 [^0-9]。
\s
匹配任何空白字符；这等价于类 [ \t\n\r\f\v]。
\S
匹配任何非空白字符；这相当于类 [^ \t\n\r\f\v]。
\w
匹配任何字母与数字字符；这相当于类 [a-zA-Z0-9_]。
\W
匹配任何非字母与数字字符；这相当于类]]></description><category></category></item><item><title><![CDATA[docker安装histomicstk]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/119611395</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/119611395</guid><author>SunWanqing</author><pubDate>Wed, 11 Aug 2021 16:59:25 +0800</pubDate><description><![CDATA[pip --default-timeout=1000 install -U histomicstk --find-links https://girder.github.io/large_image_wheels
安装报错，去掉$

]]></description><category></category></item><item><title><![CDATA[numpy.ufunc size changed, may indicate binary incompatibility. Expected 216]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/119611373</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/119611373</guid><author>SunWanqing</author><pubDate>Wed, 11 Aug 2021 16:58:08 +0800</pubDate><description><![CDATA[报错：
numpy.ufunc size changed, may indicate binary incompatibility. Expected 216
解决：
pip --default-timeout=1000 install -U install --upgrade numpy

]]></description><category></category></item><item><title><![CDATA[Python 列表(List) 的三种遍历]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/112258542</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/112258542</guid><author>SunWanqing</author><pubDate>Wed, 06 Jan 2021 09:58:32 +0800</pubDate><description><![CDATA[Python 列表(List) 的三种遍历(序号和值)方法
三种遍历列表里面序号和值的方法：
#!/usr/bin/env python
2 # -- coding: utf-8 --
3 if name == ‘main’:
4     list = [‘html’, ‘js’, ‘css’, ‘python’]
5
6     # 方法1
7     print ‘遍历列表方法1：’
8     for i in list:
9         print (“序号：%s   值：%s” % (list]]></description><category></category></item><item><title><![CDATA[python list]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/112249246</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/112249246</guid><author>SunWanqing</author><pubDate>Tue, 05 Jan 2021 17:55:23 +0800</pubDate><description><![CDATA[python list数据写入文件
看代码
复制代码
def writeLmk(self,fileName,landmarks):
   fp = open(fileName,'w+')
   fp.write(
        "version: 1"+'\n'
        "n_points: 68"+'\n'
        "{"+'\n'
    )
   for i in range(len(landmarks)):
       fp.write(str(landmarks[i][1]))]]></description><category></category></item><item><title><![CDATA[json.dumps() 和 json.loads()]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/112244979</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/112244979</guid><author>SunWanqing</author><pubDate>Tue, 05 Jan 2021 16:58:52 +0800</pubDate><description><![CDATA[这里写自定义目录标题
json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads()。
1.json.dumps将一个Python数据结构转换为JSON：
import json
data = {
‘name’ : ‘myname’,
‘age’ : 100,
}
json_str = json.dumps(data)
2.json.loads将一个JSON编码的字符串转换回一个Python数据结构：
data = json.lo]]></description><category></category></item><item><title><![CDATA[一篇搞懂python文件读写操作（r/r+/rb/w/w+/wb/a/a+/ab）]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/111147339</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/111147339</guid><author>SunWanqing</author><pubDate>Sun, 13 Dec 2020 22:56:08 +0800</pubDate><description><![CDATA[关于文件操作的几种常用方式，网上已有很多解说，内容很丰富，但也因此有些杂乱复杂。今天，我就以我个人的学习经验写一篇详细又易懂的总结文章，希望大家看完之后会有所收获。
一、核心功能
‘r’：只读。该文件必须已存在。
‘r+’：可读可写。该文件必须已存在，写为追加在文件内容末尾。
‘rb’：表示以二进制方式读取文件。该文件必须已存在。
‘w’：只写。打开即默认创建一个新文件，如果文件已存在，则覆盖写（即文件内原始数据会被新写入的数据清空覆盖）。
‘w+’：写读。打开创建新文件并写入数据，如果文件已存在，则覆盖写]]></description><category></category></item><item><title><![CDATA[python 服务器 搭建环境]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/110846762</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/110846762</guid><author>SunWanqing</author><pubDate>Mon, 07 Dec 2020 22:30:02 +0800</pubDate><description><![CDATA[搞一套自己的usr以及bash_profile以及Python虚拟环境等等
1、创建Python虚拟环境
参考这个：http://blog.youkuaiyun.com/a731062834/article/details/71380390
使用 conda create -n your_env_name Python=X.X（2.7、3.6等） anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到]]></description><category></category></item><item><title><![CDATA[linux无root权限时，在自己anaconda目录下安装python包]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/110845934</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/110845934</guid><author>SunWanqing</author><pubDate>Mon, 07 Dec 2020 21:52:32 +0800</pubDate><description><![CDATA[linux无root权限时，在自己anaconda目录下安装python包
查看Python路径
whereis python
此命令将会列出系统所安装的所有版本的Python的路径
写python3.7

]]></description><category></category></item><item><title><![CDATA[NOVA与ANCOVA的区别]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/109775997</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/109775997</guid><author>SunWanqing</author><pubDate>Wed, 18 Nov 2020 16:03:06 +0800</pubDate><description><![CDATA[NOVA与ANCOVA的区别
明确回归（regression），方差分析（ANOVA），协方差分析（ANCOVA）的区别。
回归是基于一个或多个连续型变量来预测另一个连续型变量的统计模型。
ANOVA基于一个或多个分类变量来预测另一个连续型变量的统计模型。
可以看出主要区别是变量类型，如果你只有一个分类变量且是二分类变量，就可以用t-test。如果是三个或以上的分类变量可以用ANOVA。
举个例子，如果想用母亲的年龄作为预测变量来预测哺乳时间，可以用回归模型。如果想用母亲的婚姻状况（单身，结婚，离异）来预测]]></description><category></category></item><item><title><![CDATA[SPM批量将功能项配准到结构像和MNI]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/109593449</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/109593449</guid><author>SunWanqing</author><pubDate>Tue, 10 Nov 2020 10:19:50 +0800</pubDate><description><![CDATA[petmni.m
global sub filelist

pathname='C:\Users\86191\Desktop\AD数据整理';
filelist=dir(pathname);
filelist=filelist(~ismember({filelist.name},{'.','..'}));

for i=1:length(filelist)
    sub=filelist(i).name;


% List of open inputs
nrun = 1; % enter the numb]]></description><category></category></item><item><title><![CDATA[批量移动文件夹到对应文件夹]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/108586276</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/108586276</guid><author>SunWanqing</author><pubDate>Mon, 14 Sep 2020 19:38:41 +0800</pubDate><description><![CDATA[import os
import shutil
import copy
import pathlib
source_path = os.path.abspath(r’G:\ruijin\AD128~’)
source_path = os.path.abspath(r’C:\Users\86191\Desktop\beifen’)
target_path = os.path.abspath(r’E:\ruijinbold’)
filelist = os.listdir(source_path);
for fi]]></description><category></category></item><item><title><![CDATA[批量获取文件夹名字]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/107570435</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/107570435</guid><author>SunWanqing</author><pubDate>Sat, 25 Jul 2020 09:59:29 +0800</pubDate><description><![CDATA[1、首先我们在我们需要提取文件名的文件夹中新建一个文本文档 ，无论我们想要提取哪个文件夹的名字，我们就在相应的文件夹中新建一个文本文档就可以了。
2、再新建的文档里写入“dir ./b&gt;目录清单.txt”
3、然后把新建的文本文档的后缀txt，改为bat，系统会提示他被修改之后不可用，但是不用担心它的提示，这是一个正常的提示，点击确定按钮就可以了。
4、运行就出来结果了。

...]]></description><category></category></item><item><title><![CDATA[dicom批量转化为nii文件]]></title><link>https://blog.youkuaiyun.com/SunWanqing/article/details/107570264</link><guid>https://blog.youkuaiyun.com/SunWanqing/article/details/107570264</guid><author>SunWanqing</author><pubDate>Sat, 25 Jul 2020 08:59:11 +0800</pubDate><description><![CDATA[sudo apt install mricron
apt install dcm2niix
for sub in AD128 AD129
do
dcm2niix -o /home/yunpengzhang/wanqing/nii/sub−zn/home/yunpengzhang/wanqing/dicom/{sub} -z n /home/yunpengzhang/wanqing/dicom/sub−zn/home/yunpengzhang/wanqing/dicom/{sub}
done

]]></description><category></category></item></channel></rss>