<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[huaweiyao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/huaweiyao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; huaweiyao]]></copyright><item><title><![CDATA[剑指offer之面试题14.剪绳子]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/107159420</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/107159420</guid><author>huaweiyao</author><pubDate>Mon, 06 Jul 2020 16:04:43 +0800</pubDate><description><![CDATA[题目链接
参考详解
首先先用贪心算法。
当n&gt;=5时，我们要尽可能的多剪长度为3的绳子.
证明此结论可看：结论证明
class Solution {
public:
    int cuttingRope(int n) {
        if(n==2)return 1;
        if(n==3)return 2;
        if(n==4)return 4;//n=1,2,3,4单独讨论
        int a=n/3,b=n%3;
        if(b==0)return ]]></description><category></category></item><item><title><![CDATA[串的模式匹配BF及KMP]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105849831</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105849831</guid><author>huaweiyao</author><pubDate>Wed, 29 Apr 2020 21:59:49 +0800</pubDate><description><![CDATA[BF：
void BF(char s[],char t[]){
	int i=0,j=0;
	while(i&lt;strlen(s) &amp;&amp; j&lt;strlen(t)){
		if(s[i]==t[j]){
			i++;j++;
		}
		else{
			i=i-j+1;
			j=0;
		}
	}
	if(j==strlen(t))printf("%d\n",i-st...]]></description><category></category></item><item><title><![CDATA[力扣是斐波那契数列]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105844688</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105844688</guid><author>huaweiyao</author><pubDate>Wed, 29 Apr 2020 17:26:46 +0800</pubDate><description><![CDATA[int fib(int n){

//直接递归会超时
    /*if(n==0)return 0;
    if(n==1)return 1;
    return fib(n-1)+fib(n-2);*/

    int a[105];
    int i;
    a[0]=0;
    a[1]=1;
    for(i=2;i&lt;=n;i++){
        a[i]=(a[i...]]></description><category></category></item><item><title><![CDATA[力扣之泰波纳契数列]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105844350</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105844350</guid><author>huaweiyao</author><pubDate>Wed, 29 Apr 2020 17:15:34 +0800</pubDate><description><![CDATA[第一次写超时：
int tribonacci(int n){
    if(n==0)return 0;
    if(n==1)return 0;
    if(n==2)return 1;
    return tribonacci(n-3) + tribonacci(n-2) + tribonacci(n-1);
}

int tribonacci(int n){
    int i;
  ...]]></description><category></category></item><item><title><![CDATA[表的自然连接-c语言]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105696148</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105696148</guid><author>huaweiyao</author><pubDate>Wed, 22 Apr 2020 23:25:35 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;string.h&gt;
#define N 100
typedef int ElemType;
typedef int Status;
typedef struct LNode1{
	ElemType data[100];
	struct LNode1 *next;
}*DL...]]></description><category></category></item><item><title><![CDATA[生产者/消费者的进程同步模拟]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105598210</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105598210</guid><author>huaweiyao</author><pubDate>Sat, 18 Apr 2020 14:31:47 +0800</pubDate><description><![CDATA[操作系统实验二之进程同步模拟
代码：
#include"stdio.h"
#include"stdlib.h"
#include &lt;process.h&gt;
#include"windows.h"

#define P(sem) WaitForSingleObject(sem,INFINITE)//P操作,sem为指定线程,INFINITE为等待时间(无限等待)
#define V(sem...]]></description><category></category></item><item><title><![CDATA[力扣之跳跃游戏]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105589442</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105589442</guid><author>huaweiyao</author><pubDate>Fri, 17 Apr 2020 21:57:57 +0800</pubDate><description><![CDATA[题目
bool canJump(int* nums, int numsSize){
    int i , j ;
    int away = 0;

    if(numsSize == 1) return true;//如果只有一个数字，则一定是true
    else{
        for( i = 0 ; i &lt; numsSize ; i++ ){
            i...]]></description><category></category></item><item><title><![CDATA[445.力扣之两数相加]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105523959</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105523959</guid><author>huaweiyao</author><pubDate>Tue, 14 Apr 2020 23:17:03 +0800</pubDate><description><![CDATA[c++实现。
代码中有注释
题目链接
借此参考
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
...]]></description><category></category></item><item><title><![CDATA[力扣之反转字符串]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105449222</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105449222</guid><author>huaweiyao</author><pubDate>Sat, 11 Apr 2020 11:31:39 +0800</pubDate><description><![CDATA[题目链接
这题还不算难；
思路：从后往前遍历字符串，若不为空，则将字符储存到临时数组stack中，一旦遇到空格，则将临时数组中的元素赋值给最终数组stack1。
细节代码中有解释。
char * reverseWords(char * s){
    int len=strlen(s);
    char *stack=(char *)malloc((len+1)*sizeof(char));
 ...]]></description><category></category></item><item><title><![CDATA[力扣之括号生成]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105416827</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105416827</guid><author>huaweiyao</author><pubDate>Thu, 09 Apr 2020 18:23:10 +0800</pubDate><description><![CDATA[题目来源
借此参考
深度优先遍历：
思路：
1.递归出口是当左括号或右括号为零。
2.左括号的剩余量大于右括号时，此时直接结束。
3.左括号，右括号没用完，就继续递归连接"(“或”)"。
class Solution {
    List&lt;String&gt; res=new ArrayList&lt;&gt;();//结果集合
    public List&lt;String&gt; g...]]></description><category></category></item><item><title><![CDATA[力扣之机器人的运动范围]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105388880</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105388880</guid><author>huaweiyao</author><pubDate>Wed, 08 Apr 2020 15:30:49 +0800</pubDate><description><![CDATA[菜dog留下没技术的泪水。。。
DFS
class Solution {
    boolean[][] visited;
    public int movingCount(int m, int n, int k) {
        visited=new boolean[m][n];
        return dfs(0,0,m,n,k);
    }
    int dfs(int ...]]></description><category></category></item><item><title><![CDATA[力扣之二叉树的层次遍历c++]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105386521</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105386521</guid><author>huaweiyao</author><pubDate>Wed, 08 Apr 2020 14:05:28 +0800</pubDate><description><![CDATA[做这道题时想用c的，结果我功力不够深，做不出来，只能到评论区找其他语言的代码，就找了个c++的。
题目
参考前辈的代码
class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; levelOrder(Node* root) {
        vector&lt;vector&lt;int&gt;&gt; res;//类似二维数组
 ...]]></description><category></category></item><item><title><![CDATA[力扣之矩阵旋转矩阵]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105372588</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105372588</guid><author>huaweiyao</author><pubDate>Tue, 07 Apr 2020 20:15:17 +0800</pubDate><description><![CDATA[题目来源
矩阵的第i行j列旋转后变为第j行倒数第i列
void rotate(int** matrix, int matrixSize, int* matrixColSize){
    int i,j;
    int a[matrixSize][matrixSize];
    for(i=0;i&lt;matrixSize;i++){
        for(j=0;j&lt;matrixS...]]></description><category></category></item><item><title><![CDATA[力扣之编辑距离]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105354026</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105354026</guid><author>huaweiyao</author><pubDate>Mon, 06 Apr 2020 23:07:13 +0800</pubDate><description><![CDATA[哎，好不容易抽出时间写题，结果打卡就搞的我懵懵的，不说了。
题目：
*给你两个单词 word1 和 word2，请你计算出将 word1 转换成 word2 所使用的最少操作数 。
你可以对一个单词进行如下三种操作：
插入一个字符
删除一个字符
替换一个字符
例：
输入：word1 = “intention”, word2 = “execution”
输出：5
intention -&gt; in...]]></description><category></category></item><item><title><![CDATA[python实验作业二]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105349774</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105349774</guid><author>huaweiyao</author><pubDate>Mon, 06 Apr 2020 19:49:39 +0800</pubDate><description><![CDATA[1.计算：100除以3得到的商、余数分别是多少？如果保留3为小数，结果是多少？
要求：输出结果应该是如下样式
100除以3的商是33，余数是1
100除以3，保留3位小数，结果是33.333
a=int(input('输入被除数:'))
b=int(input('输入除数:'))
print('{}除以{}的商是{}，余数是{}'.format(a,b,a//b,a%b))
print('{}除以...]]></description><category></category></item><item><title><![CDATA[力扣之删除链表倒数第N个结点]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105258262</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105258262</guid><author>huaweiyao</author><pubDate>Wed, 01 Apr 2020 22:58:00 +0800</pubDate><description><![CDATA[这题不难，就是要细心，临界考虑清楚。还有如果删除倒数第N个结点是第一个节点，要分类。

struct ListNode* removeNthFromEnd(struct ListNode* head, int n){
    if(head==NULL || head-&gt;next==NULL)return NULL;
    int count=0,j;
    struct ListNod...]]></description><category></category></item><item><title><![CDATA[力扣之括号匹配]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105255065</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105255065</guid><author>huaweiyao</author><pubDate>Wed, 01 Apr 2020 20:45:52 +0800</pubDate><description><![CDATA[本来打算在leetcode上写道简单题练练手，就找了这题，看着也简单，就选它了。结果。。。。。
不提了
不过思路很简单，看看就懂了。
bool isValid(char * s){
	char e,b[100];
	int i=0;
	char *stack=(char*)malloc(10000*sizeof(char));
    int top=0;
    int len=strlen(s...]]></description><category></category></item><item><title><![CDATA[简单排序算法]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105235143</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105235143</guid><author>huaweiyao</author><pubDate>Wed, 01 Apr 2020 17:59:38 +0800</pubDate><description><![CDATA[我参考了前辈的代码
1.直接插入排序
void straightInsertSort(int a[],int len){
	int i,j;
	for(i=1;i&lt;len;i++){
		j=i;
		while(a[j]&lt;a[j-1] &amp;&amp; j&gt;0){
			int t=a[j];
			a[j]=a[j-1];
			a[j-1]=t;
			j--;
		}...]]></description><category></category></item><item><title><![CDATA[正偶数拆分为两个素数和的所有情况]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105212334</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105212334</guid><author>huaweiyao</author><pubDate>Mon, 30 Mar 2020 23:55:30 +0800</pubDate><description><![CDATA[睡觉前突然想到这个问题，就花了点时间敲了下代码，挺简单的，敲完睡觉
#include &lt;stdio.h&gt;
int handle(int x){//判断大于2的数是否是素数
	int i,count=0;
	for(i=2;i&lt;x;i++){
		if(x%i==0)return 0;
	}
	if(i==x)return 1;
}
int main()
{
	int n;
	in...]]></description><category></category></item><item><title><![CDATA[Python之双人井字棋游戏]]></title><link>https://blog.youkuaiyun.com/huaweiyao/article/details/105205843</link><guid>https://blog.youkuaiyun.com/huaweiyao/article/details/105205843</guid><author>huaweiyao</author><pubDate>Mon, 30 Mar 2020 19:47:58 +0800</pubDate><description><![CDATA[开学后，python老师就上了两节课，几乎是一点语法也不会，老师就布置了这个井字棋游戏。虽然提供了模板，但还是不大能做出来，之后我只能一步步模仿别人的代码，来搞懂过程，从代码中学习语法（好惭愧。。。。。）
敲完之后还有不懂的地方，写篇文章再从头来一遍。
基本就是照搬这位前辈的代码（只实现双人游戏，而且还有bug,，就是X或O赢了，不能输出谁赢。。。）
这位前辈的代码
1.棋盘的设计（我不懂前辈的这...]]></description><category></category></item></channel></rss>