随笔分类 - 算法
摘要://通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 //输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。 2015年8月23日,去参加华为机试。 题目1:交叉排序 输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,
阅读全文
摘要:如何编译测试文件生成程序和排序程序 c++,Vs2013下开发,win10 64。 2015/10/30 如何生成测试文件 1、随机生成一个字符串 即: 随机生成一个长度n的字符串; 思想 : 新建一个空的字符串,然后每次在 字符表 的字典中随机取一个元素,添加到字符串中,重复n次; 但是效率比较低
阅读全文
摘要:[toc] 神经网络的 key ideas 1、两种神经元 感知器、 sigmoid 神经元 如今,用的更多的是其他神经元模型(sigmoid神经元),而不是感知器;要了解sigmoid神经元需要先了解感知器。 1.1 感知器 一个感知器有若干二值的输入,一个二值的输出。 $output = \le
阅读全文
摘要:```cpp // design by novus 2009 // some right reserved include include using namespace std; double Eval2(istream& iss) { double Eval0(istream& iss); do
阅读全文
摘要:题目 题目: "CoinChange" 有面额不等的coins,数量无限,要求以最少的$coins$凑齐所需要的$amount$。 若能,返回所需的最少coins的数量,若不能,返回 1。 Example 1: coins = [1, 2, 5], amount = 11 return 3 (11
阅读全文
摘要:笔试遇到的题目中要 求两数的最大公约数 。
高中的知识,高效又普遍的方法是 辗转相除法 (欧几里得法)。 辗转相除法的原理:
假设用f(x, y)表示$x$,$y$的最大公约数,取k = x/y,b = x%y,则$x = ky + b$,
如果一个数能够同时整除$x$和$y$,则必能同时整除...
阅读全文
摘要:######数组$s_1,s_2$,的中位数分别为$m_1,m_2$,数组长度为$n,m$($nm_2$,则中位数存在于:$ s_1[0...|n/2|]$或 $s_2[|m/2|...m-1]$令 $s_{1new}=s_1[0: |n/2| ],s_{2new}= s_2[ |n/2| :m-1...
阅读全文
摘要:对链表进行排序,要求时间复杂度为O(n log n) ,不使用额外的空间。我一开始的想法是借助quicksort的思想,代码如下:# time O(nlog(n))# Definition for singly-linked list.class ListNode: def _...
阅读全文
摘要:DP对于第i个状态(房子),有两种选择:偷(rob)、不偷(not rob)递推公式为: f(i)=max⎧⎩⎨⎪⎪{f(i−1)+vali,f(i−2)+vali,robi−1==0robi−1==1f(i−1),robnot rob f(i)为动态规划表(DP表)(状态i下的最...
阅读全文
摘要:反转链表:比较简单的问题,可以遍历也可以递归。# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = No...
阅读全文
摘要:最先想到的是把两个linked lists 合并成一个。 这样从第一个开始一个一个吞并,直到所有list都被合并。class ListNode:# Definition for singly-linked list. def __init__(self, x): ...
阅读全文
摘要:### N皇后问题经典的回溯算法```cpp// 判断当前棋子位置是否符合规则,是则返回1,否则返回0// j:第j行,p[j]:当前q的位置int judge(vector &p, int j) { for (int i = 0; i > NQueens(int n){ vec...
阅读全文
摘要:快速比较两个字符串是否“相等”两个字符串相等:字符串中的每个字符出现的次数都相等。“abbcc”与“cbabc”相等,因为两个字符串中‘a’都出现了1次,‘b’出现2次,‘c’出现2次。其中一种方法是使用散列表,散列表的经典应用是字典,以单词为关键字,其解释为值; 对于本文的问题, 将字符作为关键字...
阅读全文
摘要:动态规划基本题目,longest incresing sequence,找出序列中的最长递增子序列;例如给出序列{8,3,5,2,4,9,7,11},其中最长递增子序列为{3,5,9,11}或{3,5,7,11}或{3,4,9,11}或{3,4,7,11},子序列按元素递增,序列长度都为4;子问题:...
阅读全文
摘要:// 求 和最大的连续子序列class Solution: # @param A, a list of integers # @return an integer def maxSubArray(self, A): dp=[] for i in rang...
阅读全文
摘要:class Solution: # @param num, a list of integer # @return a list of lists of integers def permute(self, num): length=len(num) i...
阅读全文