华为机试练手

华为OD-Java面经-21届考研 三战考研失败后,某211计算机本科毕业生于2023年4月转向求职,复习Java技术栈后于8月投递华为OD。机试(290/400分)和综测通过后,一天内完成四轮面试(技术面、资格面、主管面),涉及算法、Java基础、Redis、MySQL等,最终顺利获offer。面试官态度友好,整体流程高效。 华为OD招聘覆盖多地多岗位(Java、Python、前端等),提供笔试资料和面试攻略,适合转行或考研失利者。招聘需求持续,建议提前咨询准备 阅读详情
  1. 汽水瓶
    有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
import java.util.Scanner;
 
/**
 *  汽水瓶
 * @author muyichun
 *
 */
public class Main
{
    static int[]arr = new int[10];
    static int length = 0;
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            String num = sc.nextLine();
            if (num.equals("0"))  break;
            else
                arr[length++] = Integer.valueOf(num);
        }
        sc.close();
        for (int i = 0; i < length; i++) {
            System.out.println(arr[i]/2);
        }
    }
}
  1. 明明的随机数

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。

Input Param

n 输入随机数的个数

inputArray n个随机整数组成的数组

Return Value

OutputArray 输出处理后的随机整数

注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。

import java.util.Scanner;
import java.util.TreeSet;
/**
 *  明明的随机数
 * @author muyichun
 *
 */
public class Main
{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            TreeSet<Integer> list = new TreeSet<Integer>();
            int count = Integer.valueOf(sc.nextLine());
            for (int i = 0; i < count; i++) {
                list.add(Integer.valueOf(sc.nextLine()));
            }
            for (Object i : list.toArray()) {
                System.out.println(i);
            }
        }
        sc.close();
    }
}
  1. 十六进制转十进制
    写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )
import java.util.Scanner;
import java.util.TreeSet;
/**
 *  明明的随机数
 * @author muyichun
 *
 */
public class Main
{
    public static long mul(long num, long count) {
        long sum = 1;
        for (int i = 0; i < count; i++) {
            sum *=  num;
        }
        return sum;
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            String num = sc.nextLine();
            char[]nums = num.toCharArray();
            long sum = 0;
            for (int i = 2; i < nums.length; i++) {
                if (nums[i] == 'A') {
                    sum += 10 * (mul(16, (nums.length - i - 1)));
                }else if (nums[i] == 'B') {
                    sum += 11 * (mul(16, (nums.length - i - 1)));
                }else if (nums[i] == 'C') {
                    sum += 12 * (mul(16, (nums.length - i - 1)));
                }else if (nums[i] == 'D') {
                    sum += 13 * (mul(16, (nums.length - i - 1)));
                }else if (nums[i] == 'E') {
                    sum += 14 * (mul(16, (nums.length - i - 1)));
                }else if (nums[i] == 'F') {
                    sum += 15 * (mul(16, (nums.length - i - 1)));
                }else {
                    sum += Long.valueOf(String.valueOf(nums[i])) * (mul(16, (nums.length - i - 1)));
                }
            }
            System.out.println(sum);
        }
        sc.close();
    }
}
  1. 删数
    有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。
import java.util.Scanner;
 
/**
 *
 * @author muyichun
 *
 */
public class Main
{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            int num = Integer.valueOf(sc.nextLine());
            boolean[]flag = new boolean[num];
            int index = 0;
            for (int i = 0 ; i < num; i++) {
                if (i == num - 1) { // 找出最后剩余一个
                    for (int j = 0; j < num; j++) {
                        if (!flag[j]) {
                            System.out.println(j);
                            break;
                        }
                    }
                }else {
                    int count = 2;  // 遍历查找
                    for (;index < num;) {
                        if (!flag[index]) {
                            count--;
                            if (count < 0) {
                                flag[index] = true;
                                if (index+1 == num) index = 0;  //回头
                                else index++;
                                break;
                            }
                        }
                        if (index+1 == num) index = 0;  //回头
                        else index++;
                    }
                }
            }
        }
        sc.close();
    }
     
     
//    public static void dfs(int start, int end, char[]arr) {
//
//    }
//   
//    public static void swap(int a, int b, char[]arr) {
//      char temp = arr[a];
//      arr[a] = arr[b];
//      arr[b] = temp;
//    }
}

  1. 字符集合
    输入一个字符串,求出该字符串包含的字符集合
import java.util.HashSet;
import java.util.Scanner;
 
/**
 * 字符集合
 * @author muyichun
 *
 */
public class Main
{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            boolean[]flag = new boolean[123];
            HashSet<Character> list = new HashSet<Character>();
            char[] chars = sc.nextLine().toCharArray();
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < chars.length; i++) {
                int temp = (int)chars[i];
                if (!flag[temp]) {
                    flag[temp] = true;
                    sb.append(chars[i]);
                }
            }
            System.out.println(sb.toString());
        }
        sc.close();
    }
     
//    public static void dfs(int start, int end, char[]arr) {
//
//    }
//   
//    public static void swap(int a, int b, char[]arr) {
//      char temp = arr[a];
//      arr[a] = arr[b];
//      arr[b] = temp;
//    }
}

  1. 数独
    地址

  2. 字符串运用-密码拦截
    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:41467
    算法知识视频讲解
    校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。
    题目描述
    Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?
    输入描述:
    输入一个字符串
    输出描述:
    返回有效密码串的最大长度
    示例1:
    输入:
    ABBA
    输出:
    4

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;

/**
 *  单词倒排 (DP)
 * @author muyichun
 *
 */
public class Main
{
    public static long mul(long num, long count) {
        long sum = 1;
        for (int i = 0; i < count; i++) {
            sum *=  num;
        }
        return sum;
    }
    public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
        	String sb = String.valueOf(sc.nextLine()).trim();
        	char[]ch = sb.toCharArray();
        	int dp[][] = new int[ch.length][2];
        	dp[0][0] = 1; //dp[i][0] 长度为i+1, 最长偶数回文为:dp[i][0]个
        	dp[0][1] = 1; //dp[i][1] 长度为i+1, 最长奇数回文为:dp[i][1]个
        	for (int i = 1; i < ch.length; i++) {
        		//偶数回文
        		if (dp[i-1][0] == 1) {
        			if (ch[i] == ch[i-1]) dp[i][0] = 2;
        			else dp[i][0] = 1;
        		}else{
    				if ( i - dp[i-1][0] - 1 >= 0 && ch[i] == ch[i - dp[i-1][0] -1]) {
    					dp[i][0] = dp[i-1][0] + 2;  //回文数长度+2
    				}else {
        				for (int j = 1; j <= i/2; j++) {
        					boolean flag = true;
        					for (int q = i - j*2+1; q < i; q++)
	        					if (ch[i] != ch[q]) {
	        						flag = false;
	        						break;
	        					}
        					if (flag) dp[i][0] += 2;
        				}
    				}
        		}
        		//奇数回文
        		if (dp[i-1][1] == 1) {
        			if (i-2>=0 && ch[i] == ch[i-2]) dp[i][1] = 3;
        			else dp[i][1] = 1;
        		}else {
    				if ( i - dp[i-1][1] - 1 >= 0 && ch[i] == ch[i - dp[i-1][1] -1]) {
    					dp[i][1] = dp[i-1][1] + 2; //回文数长度+2
    				}else {
        				for (int j = 0; j <= i/2; j++) {
        					if (j == 0) dp[i][1] = 1;
        					else{
        						boolean flag = true;
        						for (int q = i-j*2 ; q < i-1; q++) {
        							if (ch[q] != ch[i]) {
        								flag = false; break;
        							}
        						}
        						if (flag) dp[i][1] += 2;
        					}
        				}
    				}
        		}
        	}
        	int sum = 0;
        	for (int i = 0; i < ch.length; i++) {
        		for (int j = 0; j < 2; j++) {
        			if (dp[i][j] > sum) sum = dp[i][j];
        		}
        	}
//        	for (int i = 0; i < ch.length; i++) {
//        		System.out.print(dp[i][0] + " ");
//        	}
//        	System.out.println();
//        	for (int i = 0; i < ch.length; i++)
//        		System.out.print(dp[i][1] + " ");
//        	System.out.println();
            System.out.println(sum);
        }
        sc.close();
    }
    //判断是否回文;
    public static boolean check(String str) {
    	char[]tmp = str.toCharArray();
    	for (int i = 0; i < tmp.length /2 ; i++) {
    		if (tmp[i] != tmp[tmp.length - i - 1]) return false;
    	}
    	return true;
    }
}
  1. Redraiment的走法
    题目描述
    题目描述

    Redraiment是走梅花桩的高手。Redraiment总是起点不限,从前到后,往高的桩子走,但走的步数最多,不知道为什么?你能替Redraiment研究他最多走的步数吗?
    样例输入
    6
    2 5 1 5 4 5
    样例输出
    3
    提示
    Example:
    6个点的高度各为 2 5 1 5 4 5
    如从第1格开始走,最多为3步, 2 4 5
    从第2格开始走,最多只有1步,5
    而从第3格开始走最多有3步,1 4 5
    从第5格开始走最多有2步,4 5
    所以这个结果是3。

import java.util.Scanner;
/**
 * 题目:Redraiment的走法
 * @author muyichun
 *
 */
public class Main {
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
    	while(sc.hasNext()) {
    		int n = sc.nextInt();
    		int[]arr = new int[n];
    		for (int i = 0; i < n; i++) {
    			arr[i] = sc.nextInt();
    		}
    		check(arr);
    	}
    	sc.close();
	}
	public static void check(int[]arr) {
		int[]dp = new int[arr.length];
		dp[0] = 1;
		for (int i = 1; i < dp.length; i++) {
			int temp = -1;
			for (int j = 0; j < i; j++) {
				if (arr[i] > arr[j] && temp < dp[j] ) {
					temp = dp[j];
				}
			}
			dp[i] = Math.max(1, temp+1);
		}
		int max = 1;
		for (int i = 0; i < dp.length; i++) {
			if (dp[i] > max) max = dp[i];
//			System.out.print(dp[i]+" ");
		}
		System.out.println(max);
	}
}

22届(华为od)-安卓面经-哈哈哈,第一份安卓的面经 本文分享了应聘华为OD岗位的全流程经验,包括机考、综测、三轮技术面和主管面。机考涉及数组处理、算法等题目,技术面重点考察Java线程、安卓开发、设计模式等知识点,面试官会根据简历深度提问。作者通过栗栗姐获得笔试资料和面试指导,最终谈薪16k成功。建议:1)系统学习《代码随想录》打基础;2)针对简历预判问题;3)多面试积累经验;4)遇到困难及时与HR沟通。文末附栗栗姐招聘信息,涵盖多个技术岗位和工作地点。 阅读详情

相关推荐

华为前端面试全解析:流程、高频考点与OD机试避坑指南

从前端工程师必备的JavaScript核心机制与TypeScript类型系统说起,深入理解闭包、异步编程、泛型约束等基础原理,是构建稳定工程化应用的基石。在Vue3与React框架普及的背景下,组件通信、响应式原理与Hooks闭包陷阱等知识点直接决定了业务开发的效率与质量。同时,浏览器渲染链路、HTTP缓存策略及性能优化手段,是保障中后台系统与可视化大屏用户体验的关键。华为作为大型科技企业,其前端岗位面试尤为注重扎实的基础、工程化规范与实战落地能力,并设有OD机试算法环节。本文全面梳理华为前端面试流程、高频

weixin_28692867的博客 384

刷题:华为机试 HJ22 汽水瓶

#include <iostream> using namespace std; int main() { int n; int num = 0; int yu = 0; int num1 = 0; for(int i=0; i<10; i++) { cin >> n; yu = n; if (n != 0) { while(yu >=

星星之火 可以燎原 254

2025华为前端面试高频考点盘点:从底层原理到工程化实战

前端面试的考察重点正在从单纯框架API背诵转向底层原理与真实工程能力的验证。JavaScript的事件循环机制、宏任务与微任务的执行顺序,决定了异步代码的运行结果,是理解前端运行时的基石;Vue3的Proxy响应式原理与虚拟DOM diff策略,则体现了框架在数据驱动和性能优化上的核心设计。这些基础概念不仅支撑着日常开发,也直接关系到浏览器缓存、大文件上传、微前端改造等复杂业务场景的落地。在华为等大厂的前端岗位面试中,考察者越来越关注候选人能否将技术原理应用于权限设计、性能优化、跨团队协作等实际问题。从Ja

weixin_28691003的博客 294

【华为】研发工程师编程题

这套题简单 [编程题]汽水瓶   有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多...

文艺小木头的博客 870

【华为OD机试真题 Python语言】164、 字符串重新排序 | 机试真题+思路参考+代码解析

给定一个字符串s,s包括以空格分隔的若千个单词,请对s进行如下处理后输出: >  1、单词内部调整:对每个单词字母重新按字典序排序   2、单词间顺序调整: 1)统计每个单词出现的次数,并按次数降序排列 2)次数相同,按单词长度升序排列 3)次数和单词长度均相同,按字典升序排列   请输出处理后的字符串,每个单词以一个空格分隔

KJ.JK 2575

华为笔试题-C语言.pdf

华为笔试题.pdf, C语言,笔试,华为

华为机试汽水瓶C++

题目描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 经过数学推导: n个空瓶最多换n/2个汽水 #include<iostream> using namespa

weixin_43919570的博客 531

银河麒麟V10离线安装VLC播放器:依赖处理与3.0.9.2版本实操指南

在国产化操作系统日益普及的背景下,软件安装方式成为政企内网用户关注的重点。离线安装作为一种不依赖公网源的部署手段,常用于解决内网环境下的软件获取问题。其核心在于理解Linux包管理机制,如dpkg与apt对依赖关系的处理逻辑。掌握这一原理,不仅能应对多媒体软件的部署,也能提升系统维护效率。VLC作为跨平台多媒体播放器,凭借强大的解码能力与协议支持,广泛应用于本地视频播放、RTSP拉流及监控大屏等场景。本文从离线安装的通用概念出发,结合银河麒麟V10桌面版的实际环境,详细梳理了VLC 3.0.9.2离线包的获

weixin_32247165的博客 367

22 汽水瓶

22汽水瓶 作者:xxx时间限制:1S章节:循环 问题描述 : 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给...

HurryBen的博客 658

微信抢红包神器自动抢软件

微信抢红包神器自动抢软件

weixin_44006731的博客 8079

tkinter使用label视频播放

tkinter是python的界面开发包 使用tkinter显示视频流的一个办法是使用label来逐帧显示图片。 from Tkinter import * from PIL import ImageTk, Image import cv2 root = Tk() # Create a frame app = Frame(root, bg="white") app.grid() # Create a label in the frame lmian = Label(app) lmain.grid(

六十英里的专栏 5526

【免费下载】 华为OD机试真题下载

华为OD机试真题下载 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一份名为“华为OD机试真题.pdf”的资源文件下载。该文件包含了华为机试的真题(非牛客网试练题),主要针对OD考试,并且不定期更新。文档中不仅包含了题目,还附有详细的代码解答,帮助你更好地理解和掌握相关知识点。 资源文件描述 文件名: 华为OD机试真题.pdf 内容: 华为机试真题(非牛客网试练题...

gitblog_06682的博客 386

手把手教你用CANape调试XCP安全会话:DLL权限管理+四种加密模式实战演示

本文详细介绍了如何使用CANape调试XCP安全会话,重点解析了DLL权限管理的实现与配置方法,并通过实战演示了标定页切换、DAQ测量、STIM旁路和PGM刷写四种典型加密模式的操作流程与调试技巧,帮助工程师深入理解并掌握XCP安全访问机制。

smartcontract5的博客 562

华为机试练练手(c++代码)

输入一个整数,如12336544,或1750,然后从最后一位开始倒过来输出,最后如果是0,则不输出,输出的数字是不带重复数字的,所以上面的输出是456321和571。如果是负数,比如输入-175,输出-571。 #include #include using namespace std; int main() { string str; string str1; cin>>str;

小桥流水的专栏 990

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3102

微信小程序 - 苹果ios无法播放视频、安卓android手机可以播放,使用video播放MP4视频时安卓正常播放视频iOS无法播放出现黑屏、加载失败或一片黑没反应等(uniapp微信小程序也能解决)

微信小程序ios无法播放视频,微信小程序 video标签 ios不能播放视频或视频黑屏,ios无法播放视频,android手机可以播放,视频格式为mp4,uniapp微信小程序安卓设备android可以播放在线网络视频 ,苹果ios设备无法播放视频,微信小程序 video标签 ios不能播放视频或视频黑屏,安卓手机正常播放iPhone手机却黑屏,如何解决这个问题,在线播放视频URL链接,iOS无法播放MP4视频文件的解决方案,在Android设备上可以正常播放,但在iOS设备上却出现黑屏、无法加载或无法播放

🏆 前端领域优质创作者 1万+

2026华为AI岗冲刺指南:昇腾生态、机试备战与项目面试全攻略

大模型时代,AI工程师的考察标准正从单一算法能力转向全链路工程落地能力,企业更看重候选人能否将模型高效部署到实际业务中。华为AI岗的竞争尤为激烈,不仅要求掌握Transformer等基础原理,还需要熟悉昇腾、MindSpore、ModelArts等国产化技术栈的底层逻辑与协作方式。理解AI Core与CANN的架构关系、动态图与静态图的差异、云平台训练部署流程,成为技术面试中的关键加分项。同时,华为OD机试的长题面场景与算法考点、项目讲述的STAR改造法、RAG与LoRA等高频追问方向,都需要系统化备战。本

weixin_29029995的博客 374

1、硬件工程师笔面试真题汇总(2025版本)

答:按照使用习惯,电源指示灯用红色,信号指示灯用绿色这两种颜色的LED 灯技术最成熟,价格最便宜通孔是贯穿整个PCB 的过孔盲孔是从PCB 表层连接到内层的过孔埋孔是埋在PCB 内层的过孔。大多数PCB厂家的加工能力是这样的:大于等于8mil 的过孔可以做机械孔小于等于6mil 的过孔需要做激光孔对小于等于6mil 的微型孔,在钻孔空间不够时,允许一部分过打在PCB 焊盘上。

XU157303764的博客 2万+

入行 Linux 运维,为什么优先推荐红帽认证?聊聊和思科、华为的真实差距

运维行业,归根到底看动手解决问题的能力。证书只是帮你跨过简历筛选那道门槛,给你一个面试机会。但选对赛道的证书,可以让你的努力不跑偏。想扎根 Linux 运维,红帽认证不是唯一出路,但绝对是性价比很高的选择。希望每一个入行的朋友,都能选对方向,少踩坑,稳步成长。

mengmeng_921的博客 185

如何设置反馈点

前面的POWER DC仿真都是忽略反馈线进行的仿真,如果单板压降不过,电源会自动调整输出电压,来满足负载的得到额定的电压.可以看到因为设置了反馈点,源端电压就被抬高到满足压降的值了。仿真上也可以自己添加反馈点,以得到抬高后的电源输出电压值。同样以下图的CPU的Core电源为例。按照流程正常设置好参数。

weixin_54787054的博客 1145

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

欲穷千里目,它凭什么能问鼎存力之巅?

基于华为AI数据湖架构的创新,集成AI工具链、数据管理、调度与运维和先进的数据存储,用户将多模态海量数据转化为高质量AI语料库,实现AI大模型负载的优化。面向AI时代海量语料的存储难题,华为分布式存储更是以SSD全面替代传统HDD,用最高密度、最低功耗的数据底座应对数据长期留存、冷数据加速升温等趋势,同时具备EB级横向扩展性、多协议融合、兼具混合负载,让多应用散落的数据更简单地接入AI。洞察新科技周期的存储需求,并以针对性的技术升级、立体的产品组合、明确的进化方向,可以说是华为一路攀登而上的钥匙。

脑极体 1105

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Rea.js 一个适合用于写原生 demo 的极简响应式 j

专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?

Buoluochuixue的博客 1202

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 关于数据库查询
下一篇: 华为机试:数字跳跃
慕一春
博客等级 码龄12年 19粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值