![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
超级呆呆
这个作者很懒,什么都没留下…
展开
-
回朔算法
1)问题描述按行来放皇后,从0~7每一行可放0~7中的一列,一个位置但是皇后,不能在同一对角线上(左,右),不能再同一列,同一行。2)算法描述用col来存储对应列,已存的 j 列col[j]=1用left来存储左斜线,已占的斜线left[i+j]=1用right来存储右斜线,已占的斜线right[7+i-j]=1Q来遍历每一行时, i 行用Q[i](栈)来存储 j 列3)代码描述原创 2017-09-24 19:09:27 · 648 阅读 · 0 评论 -
哈夫曼编码
1)数组实现哈夫曼编码-中间编码int main(void){ HuffNode * F; int n; printf("输入叶子结点个数"); scanf("%d",&n); //创建森林 F=(HuffNode *)malloc((2*n-1)*sizeof(HuffNode)); for(int i=0;i<n;i++) {原创 2017-09-17 22:58:06 · 318 阅读 · 0 评论 -
老鼠走迷宫
1)找一组解#include<stdio.h>#define r 4#define c 4//表示移动的四个方向int Move[4][2]={ {0,1}, {1,0}, {-1,0}, {0,-1} };//表示迷宫int m[r+2][c+2]={ {1,1,1,1,1,1}, {1原创 2017-10-05 11:59:57 · 559 阅读 · 0 评论 -
剑指offer:两个链表第一个公共结点
题目:输入两个链表,找出它们的第一个公共结点 小编:提供一种用for来解的思路清晰的方法public:ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { if(pHead1==NULL || pHead2==NULL) return NULL; int cnt=0;...原创 2018-02-23 22:23:18 · 161 阅读 · 0 评论 -
两数相加
题目: 给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807...原创 2018-02-24 02:40:09 · 3507 阅读 · 0 评论 -
两数之和:给定一个整数数组,找出其中两个数相加等于目标值
题目:给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。有三种思路: 第一个思路:遍历数组i从第一个数开始,j从(i+1)开始,直到找到合适的值。这个算法的时间复杂度为O(n2),空间复杂度为O(1)。第二个思路:在前一个算法的基础上降低时间复杂度。我们可以将数组排序,然后定义两个指针,一个指针i从左向右,另一个从j...原创 2018-02-24 02:05:54 · 22670 阅读 · 3 评论 -
无重复字符的最长子串
题目: 给定一个字符串,找出不含有重复字符的 最长子串 的长度。 示例: 给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串...原创 2018-02-24 23:51:53 · 730 阅读 · 0 评论