前言这是一个重要的知识点,需要掌握。仔细体会代码。#include#include#includeusingnamespacestd;/*测试16进制表示*/intmain(){inta1=0xc0;coutbBin(b);coutCbin(c);intcnum=Cbin.to_ulong();cout<
矩阵可逆的充要条件及证明
吴天德少侠
线性代数
1.定理设AAA为nnn阶矩阵,则如下命题等价AAA是可逆的AX=0AX=0AX=0只有0解AAA与III行等价AAA可表示为有限个初等矩阵的乘积2.证明2.1证明:1→21\rightarrow21→2已知AAA可逆,证明AX=0AX=0AX=0只有0解。证明:∵A\because\A∵A可逆∴A−1\therefore\A^-1∴A−1存在⇒A−1AX=A−10\Rightarrow\A^{-
网页性能优化之懒加载与预加载:概念、原理、实现及对比
不在··
javascript前端
1.什么是懒加载?懒加载也就是延迟加载。当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。2.为什么要使用懒加载?很多页面,内容很丰富,页面很长,图片较多。比如说各种商城页面。这些页面图片数量多,而且比较大,少说百来K,多
AirSim学习(3)AirSim的PythonAPI基本操作——环境配置与VehicleClient类
睡觉狂魔er
AirSim虚幻自动驾驶python
文章内容AirSim学习笔记汇总AirSim的PythonAPI的安装AirSim的坐标系统classVehicleClient1.成员变量2.构造函数3.连接与仿真启停resetpinggetClientVersiongetServerVersiongetMinRequiredServerVersiongetMinRequiredClientVersionenableApiControlisAp
ROS2 细节知识学习
儒雅芝士
ROS2系列机器人c++linux
1.rosidl_generate_interfaces()在ROS2中,rosidl_generate_interfaces是一个关键的构建工具功能。它主要用于从接口定义文件(如.msg消息文件、.srv服务文件和.action动作文件)生成不同编程语言(如C++、Python等)可以使用的接口代码。这些接口是ROS2中节点间通信的基础,确保了数据在不同组件之间能够准确、高效地传递。在构建系统中
堡垒机进化史:从跳板机到云端智能守护者的华丽蜕变
不知 不知
linux服务器windows网络安全
堡垒机的发展第一代堡垒机:跳板机的局限性第二代堡垒机:安全与审计的强化第三代堡垒机:多样化协议与云端化部署堡垒机的技术架构与核心功能未来发展趋势堡垒机,作为网络安全体系中的重要组成部分,其发展历程充满了技术的迭代与需求的驱动。从最初的跳板机概念到如今高度智能化的云堡垒机,堡垒机的发展历程大致可以分为三个阶段。第一代堡垒机:跳板机的局限性堡垒机的理念最早起源于跳板机。2000年左右,中大型企业为了能
招聘 | 具身智能机器人方向全职作者
量子位
关注前沿科技量子位未来同事你好。你知道“具身智能机器人”了吗?是否希望成为这个时代性技术和产品的长期报道者?现在,我们正在招聘这样一位专注于具身智能机器人方向的原创作者。岗位是全职,工作地点base:北京中关村。工作职责:1、关注具身智能领域新动态新进展;2、持续挖掘撰写具身智能独家原创内容;3、与具身智能领域玩家建立良好联系;4、构建体系化认知和行业洞察。岗位要求:1、对具身智能、前沿科技等科技
【AirSim+Python】image API和无人机获取图像
退堂鼓选手⑥
python无人机开发语言
没错!这个还是b站【皮卡丘上大学啦】up主学习的代码。我就是懒!今天下午敲得每一行代码都不能白敲,放在这方便我以后复制!up主原代码分享链接:在这!!!1.imageAPI获取相机图像使用的时候根据自己需求进行注释:importairsimimportnumpyasnpimportcv2#与airsim建立连接client=airsim.MultirotorClient()client.confi
【AirSim+Python】无人机简单API控制-Python代码
退堂鼓选手⑥
无人机python
1.无人机起飞/下降importairsim#与airsim建立连接client=airsim.MultirotorClient()client.confirmConnection()#确定是否要用API控制client.enableApiControl(True)#解锁无人机转起来client.armDisarm(True)#join()等任务结束再进行下个任务#起飞client.takeoff
代码随想录 Day 11 | 【第五章 栈与队列】150.逆波兰表达式求值、239.滑动窗口最大值、347.前 K 个高频元素、总结
Accept17
java开发语言
一、150.逆波兰表达式求值本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题题目链接/文章讲解/视频讲解:代码随想录1.看完代码随想录的想法(1)首先需要充分理解什么是逆波兰表达式,相当于树中的后缀表达式,与平时使用的中序表达式并不相同。定义一个初始化的空栈,然后去遍历输入的逆波兰表达式,遇到数字就向栈中添加数字元素,遇到运算符就取出栈顶的两个数字进行运算,再存放进栈中。直到最
Axios 教程:Promise 基础的 HTTP 客户端
吉皎妃Frasier
Axios教程:Promise基础的HTTP客户端axiosaxios/axios:Axios是一个基于Promise的HTTP客户端库,适用于浏览器和Node.js环境,用于在JavaScript应用中执行异步HTTP请求。相较于原生的XMLHttpRequest或FetchAPI,Axios提供了更简洁的API和更强大的功能。项目地址:https://gitcode.com/gh_mirror
Guns框架基本介绍、下载、部署
liban121
Guns
什么是Guns?1、快速构建后台管理系统的框架(注意:是后台管理系统)2、Guns默认提供诸多业务系统的基本功能3、Guns集成诸多优秀的开源框架基本功能权限管理(用户管理,角色管理,部门管理)菜单管理,字典管理,业务日志,登录日志,监控管理,通知管理,代码生成(核心)Guns的部署第一步:下载Guns:https://gitee.com/stylefeng/guns版本选择:第二步:导入IDEA
二分查找算法
mcharleylei
算法python
目录1、概述2、代码实现(1)递归实现(2)非递归实现1、概述二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查
Windows电脑安装USB Redirector并实现内外网跨网USB共享通信访问
春人.
春人闲谈windows电脑
文章目录前言1.安装下载软件1.1内网安装使用USBRedirector1.2下载安装cpolar内网穿透2.完成USBRedirector服务端和客户端映射连接3.设置固定的公网地址前言我们每天都在与各种智能设备打交道,从手机到电脑,再到各种外设,它们已经成为了生活中不可或缺的一部分。但你有没有遇到过这样的烦恼:明明有一个重要的文件存储在U盘里,却因为不在身边而无法访问?或者你的打印机只能连接一
企业级应用框架guns架构与开发实践
福建低调
本文还有配套的精品资源,点击获取简介:在IT领域,企业架构是组织信息和技术集成设计的关键。"guns"项目提供了一套高效、灵活且可扩展的企业管理架构设计框架。本文深入探讨guns项目的核心特性、应用场景和开发实践,以及如何使用不同的集成开发环境(IDE)进行项目开发。guns基于SpringBoot框架,集成MyBatis和Shiro,简化了微服务开发和权限控制,确保了数据安全。文章还详细介绍了g
【软考架构】信息系统开发与软件工程、软件架构的关系
warmbook
架构架构
前言我曾在网上看到过这样一种观点:国内编著的专业教程普遍对新人不友好,能看得懂的不需要看,需要看的看不懂。我没有做过这方面的调查,所以并不清楚其真实性如何。但是在软考备考过程中确实遇到了相似的困惑:有些知识点一旦理解了其实很简单,但是在理解之前,反反复复看了多遍还是学了前面忘了后面,本文要探讨的关于信息系统开发与软件工程、软件架构的关系就是其中一个困扰了我许久的例子。信息系统与软件在参考书3.1.
如何实现gitlab和jira连通
Channing Lewis
Pythongitlabjira
将GitLab和Jira集成起来可以实现开发任务与代码变更的联动,提高团队协作效率。以下是实现两者连通的详细步骤:1.确保必要条件在进行集成之前,确保以下条件满足:你有GitLab和Jira的管理员权限。Jira是JiraCloud或JiraServer(需版本7.2或更高)。GitLab是可以访问Jira的网络环境。2.配置GitLab中的Jira集成2.1进入GitLab项目设置登录GitLa
摄影三要素
长安er
光电摄影摄影摄影三要素光圈快门ISO
在摄影的奇妙世界里,有三个关键要素掌控着每一张照片的最终效果,它们就是光圈、快门速度和感光度,被统称为摄影三要素。一、光圈:光线的闸门(一)光圈的定义与原理光圈就像是相机镜头中的一扇可调节大小的窗户,它控制着进入相机的光线量。光圈值通常用f数来表示,比如f/1.4、f/2.8、f/5.6等。这里的数字越小,光圈孔径越大,允许进入相机的光线就越多;反之,数字越大,光圈孔径越小,进入的光线也就越少。(
【树莓派入门系列】opencv安装
^Mark_Zhang^
pythonopencv人工智能
树莓派入门之Opencv库安装提示:本文树莓派4B所搭载的系统是Raspi11本教程不需要任何换源,直接用树莓派自带的源就行文章目录一、树莓派版本查看二、Opencv库安装1.扩大系统文件(常规操作)2.安装aptitude软件包3.CMake工具安装4.基础库安装5.opencv-python库5.注意点一、树莓派版本查看代码如下:uanme-a或lsb_release-a二、Opencv库安装
10-2.Android BuildConfig 之获取版本号与版本名(通过 BuildConfig 类方式获取、通过 PackageInfo 方式获取)
我命由我12345
Android-简化编程开发语言java-eejavaandroidandroid-studioandroidstudioandroidruntime
一、版本号与版本名版本号(versionCode)是一个整数,用于内部版本控制,每次发布新版本时,版本号必须递增,Android系统使用版本号来判断应用的更新版本名(versionName)是一个字符串,通常用于向用户展示应用的版本信息,它可以是任意格式,常见的格式是主版本号.次版本号.修订号(例如,1.0.0)二、定义版本号与版本名在模块级build.gradle文件中,定义版本号与版本名and
数据库基础知识:理论、E-R图、事务、原则
地信小学生
数据库数据库ubuntupostgresql
(5)数据库理论与E-R图数据库理论(DatabaseTheory)是在创建数据库的过程涉及创建现实世界的抽象模型;将现实世界的概念作为实体表示在数据库中。E-R图(EntityRelationshipDiagramming)用于表示数据模型的图形工具/关系的抽象,主要用于数据库设计阶段,通过实体(Entity)、属性(Attribute)和关系(Relationship)来描述数据之间的结构和联
Kmeans与KMedoids聚类对比以及python实现
呵呵爱吃菜
kmeans聚类python
在机器学习领域,聚类算法是一种常用的无监督学习方法,用于将数据集中的样本划分为若干个簇,使得同一簇内的样本尽可能相似,而不同簇之间的样本尽可能不同。K-Means和K-Medoids是两种经典的聚类算法,它们都基于划分的思想,但在具体实现和应用场景上存在一些差异。一、算法原理1.K-Means:中心点选择:K-Means算法通过计算簇内所有样本的均值来确定中心点(centroid)。距离度量:通常
ChatGPT是强人工智能吗?
呵呵爱吃菜
chatgpt人工智能
ChatGPT是强人工智能吗?本文从人工智能发展的三个阶段的角度,分析当前强大的AI大模型所处的阶段,并通过对比各阶段的定义,明确各阶段的特点和未来发展方向;NarrowAI(弱人工智能)、AGI(人工通用智能)和ASI(人工超级智能)代表了人工智能发展的三个不同阶段,它们在智能水平、任务范围和应用场景上存在显著差异。以下是它们的总结与对比:1.定义与特点类型NarrowAI(弱人工智能)AGI(
LE Audio
百态老人
android
LEAudio是一种基于蓝牙5.2协议的全新音频技术标准。2020年,蓝牙技术联盟在CES上发表了蓝牙核心规范5.2版本,同年,新一代蓝牙音讯技术标准LEAudio低功耗音讯传输技术也随之问世。LEAudio有诸多亮点。首先是全新的编解码器LC3,它在低传输速率下仍能保持较高的音频质量,且具有更低的功耗和更短的延迟,其采样率可在8-48KHz浮动自行设置,LEAudio的延迟可以做到低至20ms,
图像分类与识别的自组织特征映射网络实践
无声远望
本文还有配套的精品资源,点击获取简介:自组织特征映射网络(SOFM)是一种无监督学习模型,适用于图像处理中的预处理、特征提取和分类识别。通过在MATLAB中实现SOFM,可以进行数据预处理、特征提取、网络训练、分类与识别以及优化评估。本内容涵盖了SOFM网络的应用步骤、训练过程、参数调整和性能评估,旨在提供图像处理问题的解决方案。1.自组织特征映射网络简介1.1自组织特征映射网络概述自组织特征映射
autosar can协议栈 源码解读_AUTOSAR通信篇—CANTP模块
weixin_39560657
autosarcan协议栈源码解读
AUTOSAR基础软件中的通讯,前文已经介绍过COM模块和PduR模块:Demu大叔:AUTOSAR通信篇—AUTOSARCOM模块zhuanlan.zhihu.comDemu大叔:AUTOSAR通信篇—PduR模块zhuanlan.zhihu.com今天介绍PduR模块的下层模块—CANTP模块。1CANTP的位置和作用CanTp是PduR和CANIf模块之间的模块,如图1所示。CANTp模块的
java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$