首页 文章 精选 留言 我的

精选列表

搜索[热搜算法],共10004篇文章
优秀的个人博客,低调大师

边缘计算大热 AI芯片站上风口

5G商用临近,物联网技术和产业链逐步成熟,边缘计算有望成为下一个风口。由于用户的巨大计算需求和物联网带来的海量数据爆炸,边缘计算的受欢迎程度在不断提高。其中云、AI技术和产业有深厚积累及前沿布局的平台型公司有望成为边缘计算浪潮最大受益者。AI芯片或大放异彩。 中国大陆目前有超 20 家企业投入 AI 芯片的研发中来。 除了像华为海思、紫光展锐这种深耕于芯片设计多年的企业之外,也有不少初创公司表现抢眼,如寒武纪、比特大陆等。 AI芯片爆发,首战瞄准安防行业 近年来,随着人工智能技术的不断进步,以CPU和GPU为代表的传统芯片在处理海量数据时已显疲态, 难以满足实际需求。与此同时,随着5G等通信技术与人工智能结合程度的日益深入,来自语音、图像、视频等的海量数据对芯片的计算能力也提出了新的要求。 传统计算芯片的算力无法满足DNN计算需求。具有高算力的AI芯片能够满足AI行业计算需求并得到了快速发展。 AI芯片作为安防AI应用的大脑,是所有平安城市和智慧城市构建智能天网系统的“核弹头”,在很大程度上左右着安防系统的整体功能、技术指标、稳定性、能耗、成本等,并在安防行业未来发展方向上起到关键作用。 据统计,国内 2018 年摄像机产量约 2 亿台左右,每台摄像机配置一颗图像处理芯片,参考 IPC芯片15元/颗价格,整个芯片市场规模约 30 亿元。根据产业调研,加入 AI 加速器的 AI 芯片单片价格预计实现翻倍以上增长,AI安防芯片具有广阔的市场前景。 安防行业AI芯片目前产业化最快的是图片和视频的大数据处理,用得最多的地方就是视频监控。在ISP芯片、DVR SoC芯片、IPC SoC芯片、NVR SoC芯片这四类主要的安防监控芯片中,IPC SoC芯片受益于网络摄像机的大范围普及,具备最大的成长空间。据 HIS 研究报告显示,2013 -2018 年,IPC SoC 芯片的出货数量复合增长率高达 55.9%。这一快速成长的细分领域将成为国内各大安防芯片厂商竞争的焦点。 公安安防,智能家居,智能交通,智能制造,智能城市等多个领域的安防行业值得让AI芯片在其中下盘大棋。

优秀的个人博客,低调大师

常见算法示例

冒泡排序 for(int i =0;i<arr.length-1;i++) { for(int j=0;j<arr.length-i-1;j++) {//-1为了防止溢出 if(arr[j]>arr[j+1]) { int temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } 二分查找法 给定数组是按从小到大排序好的 //先排序 bubbleSort(arr); int left = 0; int right = arr.length - 1; int mid; while(left <= right){ mid = (left + right) % 2 == 0 ? (left + right) / 2 : (left + right) / 2 + 1; if(arr[mid] > val){ right = mid ; }else if (arr[mid] < val){ left = mid ; }else{ //找到该值 ** System.out.println(mid);** return; } } } 单链表反转 public class SingleLinkedList{ private static class Node{ private int val; private Node next; } //递归反转1-2-3-4 public Node reverse1(Node node){ if(node.next ==null || node== null){ return node; } Node temp= node.next; Node newNode = reverse1(node.next); node.next = null; temp.next = node; return newNode; } //遍历1-2-3-4 public Node reverse2(Node head){ Node prev = null; Node next = null; while (head != null){ next = head.next; head.next = prev; //在这里完成4->3->2->1 prev = head; head = next; } return prev; } }

优秀的个人博客,低调大师

贪心算法

贪心的过程要么是最大要么是最小,堆可以很好的满足这个要求。 问题1:一块金条切成两半,是需要花费和长度数值一样的铜板的。比如 长度为20的 金条,不管切成长度多大的两半,都要花费20个铜 板。一群人想整分整块金 条,怎么分最省铜板? 例如,给定数组{10,20,30},代表一共三个人,整块金条长度为 10+20+30=60. 金条要分成10,20,30三个部分。 如果, 先把长 度60的金条分成10和50,花费60 再把长度50的金条分成20和30, 花费50 一共花费110铜板。 但是如果, 先把长度60的金条分成30和30,花费60 再把长度30 金条分成10和20,花费30 一共花费90铜板。 输入一个数组,返回分割的最小代价。 import java.util.Comparator; import java.util.PriorityQueue; public class ddd { public int lessMoney(int[] array){ PriorityQueue<Integer> minHeap = new PriorityQueue<>(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1 - o2; } }); for(int i = 0; i < array.length; i++) minHeap.add(array[i]); while (minHeap.size() > 1){ int one = minHeap.poll(); int two = minHeap.poll(); minHeap.add(one + two); } return minHeap.poll(); } public static void main(String[] args) { int[] arr = {10, 20, 30, 10}; System.out.println(new ddd().lessMoney(arr)); } } 问题2:输入: 参数1,正数数组costs 参数2,正数数组profits 参数3, 正数k 参数4,正数m costs[i]表示i号项目的花费 profits[i]表示i号项目在扣除花 费之后还能挣到的钱(利润) k表示你不能并行、只能串行的最多 做k个项目 m表示你初始的资金 说明:你每做完一个项目,马上获得的收益,可以支持你去做下 一个 项目。 输出: 你最后获得的最大钱数。 import java.util.Comparator; import java.util.PriorityQueue; public class moreProfile { private class Node{ public int c; public int p; public Node(int c, int p){ this.c = c; this.p = p; } } public int moreProfile(int[] costs, int[] profits, int k, int m){ PriorityQueue<Node> minCost = new PriorityQueue<>(new Comparator<Node>() { @Override public int compare(Node o1, Node o2) { return o1.c - o2.c; } }); PriorityQueue<Node> maxProfits = new PriorityQueue<>(new Comparator<Node>() { @Override public int compare(Node o1, Node o2) { return o2.p - o1.p; } }); Node[] nodes = new Node[costs.length]; for(int i = 0; i < nodes.length; i++) nodes[i] = new Node(costs[i], profits[i]); for(int i = 0; i < nodes.length; i++) minCost.add(nodes[i]); for(int i = 0; i < nodes.length; i++){ while (!minCost.isEmpty() && minCost.peek().c <= m){ maxProfits.add(minCost.poll()); } if(maxProfits.isEmpty()) return m; m += maxProfits.poll().p; } return m; } public static void main(String[] args) { int[] costs = {10, 20, 5, 8, 100}; int[] profits = {5, 9, 1, 2, 30}; int k = 5, m = 30; System.out.println(new moreProfile().moreProfile(costs, profits, k, m)); } } 问题3: 给定一个字符串类型的数组strs,找到一种拼接方式,使得把所 有字 符串拼起来之后形成的字符串具有最低的字典序。 import java.util.Comparator; import java.util.PriorityQueue; public class Str { public String bestStr(String[] str){ PriorityQueue<String> minHeap = new PriorityQueue<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { String one = o1 + o2; String two = o2 + o1; return one.compareTo(two); } }); for(int i = 0; i < str.length; i++) minHeap.add(str[i]); String res = ""; while (!minHeap.isEmpty()) res += minHeap.poll(); return res; } public static void main(String[] args) { String[] str = {"ba", "b" }; System.out.println(new Str().bestStr(str)); } } 问题4:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目 的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数 组,里面 是一个个具体的项目),你来安排宣讲的日程,要求会 议室进行 的宣讲的场次最多。返回这个最多的宣讲场次。 import java.util.Comparator; import java.util.PriorityQueue; public class BestArrange { private class Program{ public int start; public int end; public Program(int start, int end){ this.start = start; this.end = end; } } public int BestArrange(Program[] pro, int start){ PriorityQueue<Program> minHeap = new PriorityQueue<>(new Comparator<Program>() { @Override public int compare(Program o1, Program o2) { return o1.end - o2.end; } }); for(int i = 0; i < pro.length; i++){ minHeap.add(pro[i]); } int res = 0; for(int i = 0; i < pro.length; i++){ if(start <= minHeap.peek().end){ res++; start = minHeap.poll().end; } } return res; } }

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册