关闭
当前搜索:

剑指offer35题(第一个只出现一次的字符)

题目:在一个字符串(1 思路:在本题中利用哈希表,字符为key,次数为value。            两次扫描,第一次存key和value。第二次扫描字符与哈希表对应,若有一次的就直接返回。 代码: import java.util.HashMap; public class Solution { public int FirstNotRepeatingChar(Stri...
阅读(19) 评论(0)

剑指offer第34题(丑数)

题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路:每一个丑数都是由之前的某个丑数与2,3或5的乘积得到的,这样下一个丑数就用之前的丑数分别乘以2,3,5,找出这三个丑数中最小的并且大于当前最大丑数的值,即为下一个要求的丑数。 代码: import ...
阅读(9) 评论(0)

剑指offer第32题(把数组排成最小的数)

题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路: * 考虑到大数问题,先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。 * 排序规则如下: * 若ab > ba 则 a > b,...
阅读(17) 评论(0)

剑指offer第31题(整数中1出现的次数)

题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 思路: 当计算右数第 i 位包含的 X 的个数时: 1.取第 i 位左边的数字(高位),乘以 1...
阅读(11) 评论(0)

剑指offer第30题(连续子数组的最大和)

题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少...
阅读(17) 评论(0)

剑指offer第29题(最小的k个数字)

题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 代码: import java.util.ArrayList; import java.util.Arrays; public class Solution { public ArrayList GetLeastNumbers_Solution(int...
阅读(14) 评论(0)

剑指offer第28题(数组中出现次数超过一半的数字)

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路:首先跟数组排序,如果此数字超过一半,中间那个数字一定是我们要找的数字,因而我们只用统计中间那个数字出现的次数。 注意:java中自带了数组排序的函数 代码: imp...
阅读(14) 评论(0)

剑指offer第27题(字符串排列)

题目: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 思路:首先求所有可能会出现第一个位置的字符,即把第一个字符和后面所有的字符交换。第二步是固定第一个字符,求后面所...
阅读(18) 评论(0)

剑指offer第26题(二叉搜索树与双向链表)

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路:二叉树中每个结点都有两个指针,分别指向左右子树。在双向链表中也是,因而刚好吻合。本题中要求是排序的双向链表,所以我们就按中序遍历           就行。我们把二叉搜索树看成是三部分,根节点和左右子树组成,先让左右子树生成双向链表再连接根节点就行。(递归) 代码: ...
阅读(9) 评论(0)

剑指offer第25题(复杂链表的复制)

题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解题思路:第一步根据原始链表的每个结点创建对应的链表                   第二步设置创建链表的随机指针。新创建链表的随机指针指向原始链表随机指针的下一...
阅读(17) 评论(0)

基于tensorflow实现的简单卷积网络(CNN)

该网络有两个卷积层(将池化层包含在卷积层中),一个全连接层,一个dropout层和一个输出层(SoftMax层)。测试集上面运行结果是99.34%。 实现卷积神经网络的步骤: 第一:定义算法公式,也就是神经网络的前向计算 第二:定义loss,选定优化器,并指定优化loss 第三;迭代地对数据进行训练 第四:在测试集或验证集上对评价指标进行评测 代码: # -*- coding: ...
阅读(27) 评论(0)

多层感知机实现mnist手写数字识别

代码及重要注释: # -*- coding: utf-8 -*- import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 下载数据,若有就不用下载 mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) s...
阅读(40) 评论(0)

tensorflow 入门小例子(mnist手写数字识别)

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 定义算法公式,即神经网络的前向计算 mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) sess=tf.InteractiveSession()...
阅读(53) 评论(0)

shell编程小例子及遇到的问题

eg1: #!/bin/bash echo -n "login:" read name echo -n "password:" read password if [ $name = "admin" -a $password = "123123" ] then    echo "the host and password is right!" else     echo "inp...
阅读(37) 评论(0)

tensorflow 安装中遇到的问题

已安装pip包和python之后安装tensor flow中遇到的问题: 第一,默认的是国外的镜像源,因而受限,会导致错误或者下载速度很慢。因此寻找国内的python镜像源(地址:http://blog.csdn.net/yywan1314520/article/details/51045660)。 第二,在安装中下面错误,是因为没有将其加入到可信任的地址中。  Could not fi...
阅读(101) 评论(0)

剑指offer第24题(二叉树中和为某一值的路径)

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思想:由于本题中的根要在前面,因而我们首先想到的是前序遍历。当用前序遍历的方式访问某一节点时,我们把该节点添加到路径上,并累加该节点的值。如果该节点是叶节点并且路径中的节点值的和刚好为输入的整数,则就把此路径打印出来。否则继续遍历叶节点。当前节点的访...
阅读(64) 评论(0)

剑指offer第23题(二叉搜索树的后序遍历)

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思想:在二叉搜索树中左子树的节点小于根节点,找到左子树;            在二叉搜索树中左子树的节点小于根节点,找到右子树;            然后判断左子树是不是二叉搜索树,右子树是不是二叉搜索树。 二叉搜索树的特点:左子树的值小于等...
阅读(48) 评论(0)

剑指offer第22题(从上往下打印二叉树)

题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思想:树的层次遍历,借助队列来完成。 java代码: import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** public class TreeNode { int val = 0; TreeNode le...
阅读(30) 评论(0)

剑指offer第21题(栈的压入、弹出序列)

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 思想:判断一个序列是不是栈的弹出序列的规律:如果下一个弹出的数字刚好是栈顶数字,那么直接弹出...
阅读(21) 评论(0)

剑指offer第20题(包含min函数的栈)

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 java代码: import java.util.Stack; import java.util.Iterator; public class Solution { Stack stack1=new Stack(); public void push(int node) { sta...
阅读(47) 评论(0)
44条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:2301次
    • 积分:451
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条