- 力扣 hot100 Day49
qq_51397044
Hot100leetcode算法数据结构
105.从前序与中序遍历序列构造二叉树给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。//抄的classSolution{private:unordered_mapindex;TreeNode*myBuildTree(constvector&preorder,constvector&inord
- 力扣 hot100 Day44
qq_51397044
Hot100leetcode算法
98.验证二叉搜索树给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树//自己写的classSolution{public:voidinorderHelper(TreeNode*root,vector&result){if(root==nullpt
- 力扣 hot100 Day45
qq_51397044
Hot100leetcode算法
230.二叉搜索树中第K小的元素给定一个二叉搜索树的根节点root,和一个整数k,请你设计一个算法查找其中第k小的元素(从1开始计数)。//抄的classSolution{public:voidhelper(TreeNode*root,intk,int&count,int&result){if(!root)return;helper(root->left,k,count,result);count
- 力扣 hot100 Day50
qq_51397044
Hot100leetcode算法职场和发展
437.路径总和III给定一个二叉树的根节点root,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。//抄的classSolution{public:intpathSum(TreeNode*root,inttargetSum){unordered_mappre
- Mysql索引底层数据结构及原理解析
有缘再见
一、索引是什么?索引是帮助mysql高效获取数据排序好的数据结构。索引存储在文件里面。磁盘存取原理:1.寻道时间(速度慢,费时)2.旋转时间(速度较快)磁盘构造数据文件存储在磁盘的磁道划分出的扇区里面。磁盘指针先去找到数据存储在哪一个磁道(寻道时间),然后逆时针旋转找打扇区(旋转时间)。现在都在优化减少寻道时间。二、常见的数据结构介绍。(一)二叉树。二叉树示意图定义:二叉树(binarytree)
- 手持激光雷达单木分割——以河南工程学院杰出校友杨靖宇将军雕塑背后树林为例
河工点云智绘WangG
河工点云智绘教育培训
教学相长,最近带学生激光雷达实习,采集了河南工程学院校园机载、车载和手持激光雷达数据,针对手持激光雷达,也来玩玩单木分割。一、手持激光雷达单木分割概念单木分割(IndividualTreeSegmentation)是从激光雷达(LiDAR)点云数据中识别并分离出单棵树木的过程,是林业资源调查、森林碳汇估算、生物多样性研究的关键技术。二、关键技术步骤详解1.点云预处理去噪:移除飞点、鸟群等非地表物体
- 【Java】【力扣】102.二叉树层序遍历
思路一个辅助队列(初始化队列:根节点入队)一个节点出队,他的左右孩子入队循环直到队列为空举例代码publicList>levelOrder(TreeNoderoot){if(root==null){returnnewArrayList>();}Queuequeue=newLinkedList>resultList=newArrayListlevel=newArrayList<>();intcurS
- 指定阿里镜像原理
web前端神器
web前端前端
代码如下:npminstall@nut-tree/template-matcher--registry=https://registry.npmmirror.com如果要看阿里资源是否有这个插件可以直接去这里搜索:https://npmmirror.com/package/@nut-tree/template-matcher/home?version=2.0.1这边会自动去下载这个文件,鼠标悬浮则
- Python day18
赵英英俊
Python训练python
@浙大疏锦行pythonday18.内容:昨天学习了聚类算法的一些基本内容,今天继续学习相关知识分析簇的特征和相关含义(使用可视化来进行分析,也可以使用ai)代码:shap.initjs()#初始化SHAP解释器explainer=shap.TreeExplainer(model)shap_values=explainer.shap_values(x1)#这个计算耗时shap_values.sha
- 备份11111
Ellie艾藜
前端
hospital:医疗小项目后台管理,React+axios+antdhttps://gitee.com/whiteshader/ruoyi-react/tree/spring-cloud-v3/#%E6%BC%94%E7%A4%BA%E5%9B%BE
- Day61 二叉树中的最大路径和
Shimmer_
给你一个二叉树的根节点root,返回其最大路径和https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点路径和是路径中各节点值的总和。示例1:1/\23输入:root=[1
- 【PTA数据结构 | C语言版】前序遍历二叉树
秋说
PTA数据结构题目集数据结构c语言算法
本专栏持续输出数据结构题目集,欢迎订阅。文章目录题目代码题目请编写程序,创建一棵有3个结点的二叉树,并输出其前序遍历序列。输入格式:输入给出3个整数,依次为二叉树根结点的左孩子、右孩子、根结点本身存储的键值。输出格式:输出二叉树的前序遍历序列,每个数字占一行。输入样例:123输出样例:312代码#include#includetypedefstructTreeNode{intdata;struct
- Leetcode刷题营第三十三题:对称二叉树
101.对称二叉树给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围[1,1000]内-100val!=q->val){returnfalse;}returnismirrortree(p->left,q->right)&&is
- 二叉搜索树(binary search tree)
使用场景用作系统中的多级索引,实现高效的查找、插入、删除操作。作为某些搜索算法的底层数据结构。用于存储数据流,以保持其有序状态。特点1.对于根节点满足:任意左子树节点num)cur=cur.left;//找到目标节点,跳出循环elsebreak;}//返回目标节点returncur;}插入操作1.查询插入位置,从根节点出发,根据当前节点和插入num的大小判断在左右子树,直到越过叶子节点跳出循环,(
- 重点句式114
俗世尘沙
今天的题目:Atthesametime,thepolicyaddressesnoneofthetrulythornyquestionsabouthomework.Ifthedistrictfindshomeworktobeunimportanttoitsstudents’academicachievement,itshouldmovetoreduceoreliminatetheassignment
- 4 How to talk about doctors?
MrWisdom
1.internist:nAgeneralphysician.Also,aspecialistininternalmedicine.internus:Latinrootinsideinternal:adjinsideintern:nwhoisamedicalgraduateservinganapprenticeshipinsideahospital.2.gynecologist:nadoctorf
- B 树和 B+ 树
前端_学习之路
数据结构数据结构b树
一、B树和B+树的基本概念B树和B+树是两种重要的平衡多路搜索树,特别适合在磁盘等外存设备上组织和存储数据。它们通过增加节点的分支因子,减少树的高度,从而减少磁盘I/O操作,提高数据访问效率。B树(B-Tree)B树是一种自平衡的多路搜索树,每个节点可以有多个子节点。主要特点所有叶子节点在同一层每个节点可以包含多个键值和子节点节点的键值按升序排列除根节点外,每个节点至少有m/2个子节点(m为树的阶
- C++数据结构————二叉树
Гений.大天才
C++语言入门以及基础算法c++数据结构开发语言
【前言】在数据结构与算法的世界里,二叉树(BinaryTree)始终占据着核心地位。它既是众多高级树形结构(B+树、红黑树、线段树、字典树……)的“基因”,又是面试、竞赛与工程实战中绕不开的考点。本文将用大约2万字的篇幅,从“零”开始,把C++二叉树的所有常见形态、常见算法、常见坑点与常见优化一次性讲透。全文配套可编译运行的C++17/20代码2000余行,所有示例均在GCC13/Clang17/
- STM32F103R6的Keil和Protues仿真-点亮LED灯
怎么就重名了
stm32嵌入式硬件单片机
STM32F103R6的Keil和Protues仿真-点亮LED灯STM32F103R6的Keil和Protues仿真-点亮LED灯1、效果1.1、低电平点亮1.2、高电平点亮2、代码2.1、Keil2.2、protueshttps://gitee.com/xiaolixi/l-stm32/tree/master/STM32Protues/diandeng-lowhttps://gitee.com
- 学习笔记(39):结合生活案例,介绍 10 种常见模型
宁儿数据安全
#机器学习学习笔记生活
学习笔记(39):结合生活案例,介绍10种常见模型线性回归只是机器学习的“冰山一角”!根据不同的任务场景(分类、回归、聚类等),还有许多强大的模型可以选择。下面我用最通俗易懂的语言,结合生活案例,介绍10种常见模型及其适用场景:一、回归模型(预测连续值,如房价)1.决策树(DecisionTree)原理:像玩“20个问题”游戏,通过一系列判断(如“面积是否>100㎡?”“房龄是否0.5就判为“会”
- TreeSize Free - windows下硬盘空间管理工具
AI+程序员在路上
QT&C++实战系列开发语言windows
一.介绍TreeSizeFree是一款免费且广受欢迎的磁盘空间分析工具(由JAMSoftware开发),主要用于Windows系统。它的核心功能是帮助你快速、清晰地了解硬盘、文件夹或存储设备上的空间究竟被哪些文件和文件夹占用了。它以直观的树状结构、多种视图(尤其是Treemap)和强大的排序功能,帮助你快速定位磁盘空间消耗大户,是进行磁盘清理、存储管理和解决空间不足问题的必备工具之一。官网下载:h
- Paimon 删除向量
lifallen
Paimon数据库大数据java数据结构apache
RowKind可以标记删除,但它和DeletionVector(删除向量)是为解决不同场景下的问题而设计的两种机制,它们工作在不同的层面。简单来说:RowKind是“逻辑层”的变更指令,主要用于primary-key表的LSM-Tree合并过程。DeletionVector是“物理层”的读时过滤优化,用于在不重写数据文件的前提下,快速地“标记”某些行为无效,极大地提升了DELETE/UPDATE操
- Redux架构解析:状态管理的核心原理
止观止
架构前端react.jsredux
Redux作为JavaScript应用的状态管理库,其技术架构与核心原理围绕可预测的状态管理设计,通过严格的单向数据流和函数式编程理念实现复杂应用的状态控制。以下从设计理念、核心架构、工作流程、源码实现等角度进行系统性剖析:一、设计理念与原则单一数据源(SingleSourceofTruth)整个应用的状态存储在一个全局Store对象中,形成唯一的状态树(StateTree)。优势:简化状态共享和
- C++ Primer(第5版)- Chapter 7. Classes -003
skylijf
C++开发语言笔记c++
7.1.1.DesigningtheSales_dataClassUltimately,wewantSales_datatosupportthesamesetofoperationsastheSales_itemclass.TheSales_itemclasshadonememberfunction(§1.5.2,p.23),namedisbn,andsupportedthe+,=,+=,>ope
- 力扣 hot100 Day46
qq_51397044
Hot100leetcode算法
199.二叉树的右视图给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。//自己写的classSolution{public:vectorrightSideView(TreeNode*root){vectorresult;if(!root)returnresult;queueq;q.push(root);while(!q.empty()){i
- 力扣 hot100 Day47
qq_51397044
Hot100leetcode数据结构算法
114.二叉树展开为链表给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。//抄的classSolution{public:voidflatten(TreeNode*root){TreeNode*dummy=newTreeNode();Tr
- 判断当前操作列表是否属于特殊规则
一只一只妖
前端javascript
1、所勾选内容全都是特殊元素NLF、LFN,或者全都是可能新增的特殊元素,可以继续操作2、所勾选内容全都是非特殊元素,可以继续操作3、所勾选内容同时包含特殊元素和非特殊元素,不可继续操作//判断渠道是否属同一种类型functionjudgeSameSubarray(contentSelection){//所勾选内容constselectionChannelList=contentSelection
- 二叉搜索树(BST)
海绵宝宝的好伙伴
数据结构算法c++
二叉搜索树(BinarySearchTree,BST),也称为二叉排序树,是一种重要的数据结构。它将树形结构的灵活性与有序性结合起来,使得查找、插入和删除等操作的平均时间复杂度都能达到O(logN)。二分搜索算法,其底层逻辑恰好对应在一棵隐形的二叉搜索树上的查找过程。例如,对有序数组[0,5,24,34,41,58,62,64,67,69,78]进行二分搜索,其过程完全可以可视化为在一棵以58(中
- 【读书笔记】「等到 Linux 6.17 就分手」:Bcachefs 背后的技术与流程之争
CodeWithMe
读书笔记linuxlinux服务器运维
「等到Linux6.17就分手」:Bcachefs背后的技术与流程之争“我真的不太愿意继续参与。而我们唯一真正达成一致的,大概就是——‘我们已经结束了’。”——LinusTorvalds最近,Linux内核社区再次爆发激烈争论,主角是近年备受关注的新一代文件系统——Bcachefs,以及它的作者KentOverstreet与内核“守门人”LinusTorvalds之间的冲突。这场争议的焦点,并不在
- JAX study notes[16]
文章目录PytreesreferencesPytreesinessence,JAXfunctionandtransformactonarrays,actuallymostopeartionhandlingarraysbaseonthecollectionofarrays.JAXusethePytreewhichisanabstractobjecttocontrolalotofcollections
- linux系统服务器下jsp传参数乱码
3213213333332132
javajsplinuxwindowsxml
在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了
- Spring 注解区别以及应用
BlueSkator
spring
1. @Autowired
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。
2. @Qualifier
当spring中存在至少一个匹
- printf和sprintf的应用
dcj3sjt126com
PHPsprintfprintf
<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);
printf('th
- config.getInitParameter
171815164
parameter
web.xml
<servlet>
<servlet-name>servlet1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>str</param-name>
- Ant标签详解--基础操作
g21121
ant
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。 project:每个构建文
- [简单]代码片段_数据合并
53873039oycg
代码
合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。
代码如下:
- java 通信技术
云端月影
Java 远程通信技术
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来
- string与StringBuilder 性能差距到底有多大
aijuans
之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!
由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!
- 今天碰到 java.util.ConcurrentModificationException 异常
antonyup_2006
java多线程工作IBM
今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下:
Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
结果运行报Con
- PL/SQL的类型和JDBC操作数据库
百合不是茶
PL/SQL表标量类型游标PL/SQL记录
PL/SQL的标量类型:
字符,数字,时间,布尔,%type五中类型的
--标量:数据库中预定义类型的变量
--定义一个变长字符串
v_ename varchar2(10);
--定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
- Mockito:一个强大的用于 Java 开发的模拟测试框架实例
bijian1013
mockito单元测试
Mockito框架:
Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测
- 精通Oracle10编程SQL(10)处理例外
bijian1013
oracle数据库plsql
/*
*处理例外
*/
--例外简介
--处理例外-传递例外
declare
v_ename emp.ename%TYPE;
begin
SELECT ename INTO v_ename FROM emp
where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
exceptio
- 【Java】Java执行远程机器上Linux命令
bit1129
linux命令
Java使用ethz通过ssh2执行远程机器Linux上命令,
封装定义Linux机器的环境信息
package com.tom;
import java.io.File;
public class Env {
private String hostaddr; //Linux机器的IP地址
private Integer po
- java通信之Socket通信基础
白糖_
javasocket网络协议
正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤:
①创建Socket;
②打开连接到Socket的输入输出流;
④按照一定的协议对Socket进行读写操作;
④关闭Socket。
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc
- angular.bind
boyitech
AngularJSangular.bindAngularJS APIbind
angular.bind 描述: 上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。 使用方法: angular.bind(se
- java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class KickOutBadGuys {
/**
* 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
* Maybe you can find out
- Redis.conf配置文件及相关项说明(自查备用)
Kai_Ge
redis
Redis.conf配置文件及相关项说明
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
- [强人工智能]实现大规模拓扑分析是实现强人工智能的前奏
comsci
人工智能
真不好意思,各位朋友...博客再次更新...
节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心....
但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大...
- 记录一些常用的函数
dai_lm
java
public static String convertInputStreamToString(InputStream is) {
StringBuilder result = new StringBuilder();
if (is != null)
try {
InputStreamReader inputReader = new InputStreamRead
- Hadoop中小规模集群的并行计算缺陷
datamachine
mapreducehadoop并行计算
注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。
-----------------------------------------------------------------
- 小学4年级英语单词背诵第二课
dcj3sjt126com
englishword
egg 蛋
twenty 二十
any 任何
well 健康的,好
twelve 十二
farm 农场
every 每一个
back 向后,回
fast 快速的
whose 谁的
much 许多
flower 花
watch 手表
very 非常,很
sport 运动
Chinese 中国的
- 自己实践了github的webhooks, linux上面的权限需要注意
dcj3sjt126com
githubwebhook
环境, 阿里云服务器
1. 本地创建项目, push到github服务器上面
2. 生成www用户的密钥
sudo -u www ssh-keygen -t rsa -C "
[email protected]"
3. 将密钥添加到github帐号的SSH_KEYS里面
3. 用www用户执行克隆, 源使
- Java冒泡排序
蕃薯耀
冒泡排序Java冒泡排序Java排序
冒泡排序
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 10:40:14 星期二
http://fanshuyao.iteye.com/
- Excle读取数据转换为实体List【基于apache-poi】
hanqunfeng
apache
1.依赖apache-poi
2.支持xls和xlsx
3.支持按属性名称绑定数据值
4.支持从指定行、列开始读取
5.支持同时读取多个sheet
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java
比如:
Str
- 3个处于草稿阶段的Javascript API介绍
jackyrong
JavaScript
原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email
本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.
1) Web Alarm API
&
- 6个创建Web应用程序的高效PHP框架
lampcy
Web框架PHP
以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐:
1. CakePHP
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。
2. CodeIgniter
CodeIgniter是一个非常小且功能强大的PHP框架,适合需
- 评"救市后中国股市新乱象泛起"谣言
nannan408
首先来看百度百家一位易姓作者的新闻:
三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。
首先,中国股市这两天
- 页面全屏遮罩的实现 方式
Rainbow702
htmlcss遮罩mask
之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就
- 关于angularjs的点滴
tntxia
AngularJS
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。
这里我们来简单的探讨一下它的应用。
首先使用Angularjs我
- Nutz--->>反复新建ioc容器的后果
xiaoxiao1992428
DAOmvcIOCnutz
问题:
public class DaoZ {
public static Dao dao() { // 每当需要使用dao的时候就取一次
Ioc ioc = new NutIoc(new JsonLoader("dao.js"));
return ioc.get(