check if this inputs two days is beautiful days

package com.microsoft.controller;

import java.util.UUID;

public class MicrosoftEuropeanController {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
	
	/**
	 * check if this inputs two days is beautiful days:
	 * inputs seperated 3 numbers:
	 * two days is : integer i,integer j
	 * key index is : over factor(formular divided factor)
	 * more detail rule formaular is : 
	 * compute this difference abstract number: 
	 * American number concurrency is compute by using this  math formular: |integer index i-(reverse(integer index i))|
	 * get this positive abstract valuable data difference : abstractValuableDataDiff
	 * result is:
	 * ( abstractValuableDataDiff/ (integer key index : k))=retValueData
	 * check if this retValueData is a safe integrated positive number
	 * constraints:
	 * 1<= i <= j <=10to6
	 * 1<= k <=10to9
	 * (Asia China is concurrency normal government transfer information interchange for transaction: 
	 * 10% (with America concurrency))
	 * @param i
	 * @param j
	 * @param k
	 * @return
	 */
	public static int beautifulDays(int i, int j, int k) {
		Boolean checkInputsFlag=dataInputsCheckForInt(i, j, k);
		if(!checkInputsFlag) {
			return 0;
		}
		//build customerBeautifulDays data: American concerrency
		CustomerBeautifulDays custBeautifulDays=new CustomerBeautifulDays();
		custBeautifulDays.setId(UUID.randomUUID().toString());
		custBeautifulDays.setName("");
		custBeautifulDays.setIsAmericanDollar(true);
		custBeautifulDays.setFirstDayIntConcurrency(i);
		custBeautifulDays.setSecondayIntConcurrency(j);
		custBeautifulDays.setKeyFactorForDividedFormular(k);
		//using formular to compute this check inputs data i
		int[] reverseDataInt = reverseDataInt(i, j, k);
		int firstDayInputsReverse = reverseDataInt[0];
		int abstractVal=i-firstDayInputsReverse;
		if(abstractVal<0) {
			abstractVal = Math.abs(abstractVal);
		}
		int l = abstractVal/k;
		Boolean booleanFlag=checkDataDividedIsOk(l, j, k);
		int[] intArr=new int[] {0,0};
		if(!booleanFlag) {
			intArr=new int[] {0,0};
			return 0;
		}
		// j data inputs data check
		int secondDayInputsReverse = reverseDataInt[1];
		int abstractVal1=j-secondDayInputsReverse;
		if(abstractVal1<0) {
			abstractVal1 = Math.abs(abstractVal1);
		}
		int l1 = abstractVal1/k;
		Boolean booleanFlag1=checkDataDividedIsOk(l, j, k);
		int[] intArr1=new int[] {0,0};
		if(!booleanFlag1) {
			intArr1=new int[] {0,0};
			return 0;
		}
		int[] intArr2=new int[]{l,l1};
		return 2;
	}
	
	/**
	 * check data divided is ok and
	 * the result is a integrated Ok result that can't take any float or double factor
	 * @param i
	 * @param j
	 * @param k
	 * @return
	 */
	public static Boolean checkDataDividedIsOk(int i, int j, int k) {
		Boolean checkInputsDataFlag=dataInputsCheckForInt(i, j, k);
		if(!checkInputsDataFlag) {
			return false;
		}
		int result=i/k;
		int dosents=i;
		int retSumary=0;
		for(int iIndex=0;iIndex<result;iIndex++) {
			dosents*=k;
			retSumary+=dosents;
		}
		if(retSumary>i) {
			return false;
		}
		return true;
	}
	
	/**
	 * data inputs for int data check
	 * constriant:
	 * 1<= i <= j <=10to6
	 * 1<= k <=10to9
	 * @param i
	 * @param j
	 * @param k
	 * @return
	 */
	public static Boolean dataInputsCheckForInt(int i,int j, int k) {
		if(i>j) {
			return false;
		}
		int valInt=1;
		for(int iIndex=0;iIndex<6;iIndex++) {
			valInt*=10;
		}
		if(i<1 || i>valInt) {
			return false;
		}
		if(j<1 || j > valInt) {
			return false;
		}
		int intValForLoop=1;
		for(int iIndex=0;iIndex<9;iIndex++) {
			intValForLoop*=10;
		}
		if(k<1 || k>intValForLoop) {
			return false;
		}
		return true;
	}
	
	/**
	 * int data number reverse to another number 
	 * @param i
	 * @return
	 */
	public static int[] reverseDataInt(int i,int j, int k) {
		Boolean inputDataCheckFlag=dataInputsCheckForInt(i, j, k);
		if(!inputDataCheckFlag) {
			int[] intArr=new int[] {0,0};
			return intArr;
		}
		// first time to reverse data i
		String valueOf = String.valueOf(i);
		StringBuilder strBuilder=new StringBuilder();
		for (int lIndex = valueOf.length()-1; lIndex <= 0; lIndex--) {
			strBuilder.append(valueOf.charAt(lIndex));
		}
		String strBuilder2Str=strBuilder.toString();
		Integer intNewReverseDataInt=Integer.valueOf(strBuilder2Str);
		// second time to reverse data j
		String valueOf1 = String.valueOf(i);
		StringBuilder strBuilder1=new StringBuilder();
		for (int lIndex = valueOf1.length()-1; lIndex <= 0; lIndex--) {
			strBuilder1.append(valueOf1.charAt(lIndex));
		}
		String strBuilder2Str1=strBuilder1.toString();
		Integer intNewReverseDataInt1=Integer.valueOf(strBuilder2Str1);
		int[] intArr1=new int[] {intNewReverseDataInt,intNewReverseDataInt1};
		return intArr1;
	}
}

class CustomerBeautifulDays{
	private String id;
	private String name;
	private Integer firstDayIntConcurrency;
	private Integer secondayIntConcurrency;
	private Boolean isAmericanDollar;
	private Boolean isAsialChinaConcurrency;
	private Integer keyFactorForDividedFormular;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getFirstDayIntConcurrency() {
		return firstDayIntConcurrency;
	}
	public void setFirstDayIntConcurrency(Integer firstDayIntConcurrency) {
		this.firstDayIntConcurrency = firstDayIntConcurrency;
	}
	public Integer getSecondayIntConcurrency() {
		return secondayIntConcurrency;
	}
	public void setSecondayIntConcurrency(Integer secondayIntConcurrency) {
		this.secondayIntConcurrency = secondayIntConcurrency;
	}
	public Boolean getIsAmericanDollar() {
		return isAmericanDollar;
	}
	public void setIsAmericanDollar(Boolean isAmericanDollar) {
		this.isAmericanDollar = isAmericanDollar;
	}
	public Boolean getIsAsialChinaConcurrency() {
		return isAsialChinaConcurrency;
	}
	public void setIsAsialChinaConcurrency(Boolean isAsialChinaConcurrency) {
		this.isAsialChinaConcurrency = isAsialChinaConcurrency;
	}
	public Integer getKeyFactorForDividedFormular() {
		return keyFactorForDividedFormular;
	}
	public void setKeyFactorForDividedFormular(Integer keyFactorForDividedFormular) {
		this.keyFactorForDividedFormular = keyFactorForDividedFormular;
	}
	
}

#牛客AI配图神器#

#我的求职进度条##字节开奖##刚工作的你,踩过哪些坑?##HR问:你期望的薪资是多少?如何回答##薪资爆料#
Java技术 文章被收录于专栏

JavaEE技术 编程开发经验 企业通用技术

全部评论

相关推荐

在简历中体现你的AI能力:以RAG为例的实战指南简历中写AI项目,很多人会犯“堆砌技术栈”的错误,比如:“使用LangChain、FAISS、GPT实现RAG系统”这会让面试官疑惑:你究竟解决了什么问题?&nbsp;以下是让RAG项目脱颖而出的写法。—————🔍&nbsp;RAG解决的四大核心问题1.&nbsp;知识时效性:解决“模型知识过时”•&nbsp;问题:LLM训练数据有截止日期(如GPT-4到2023年4月),无法获取新知识•&nbsp;RAG方案:实时检索外部知识库,注入最新信息•&nbsp;案例:回答“今天天气”、“最新财报”、“实时股价”2.&nbsp;知识准确性:解决“模型幻觉”•&nbsp;问题:LLM会自信地编造事实(“奥巴马生于肯尼亚”)•&nbsp;RAG方案:基于可验证的文档生成,提供引用来源•&nbsp;效果:幻觉率降低40-60%,答案可追溯3.&nbsp;知识专有性:解决“私有数据缺失”•&nbsp;问题:LLM没有企业私有知识(内部文档、代码库、客户数据)•&nbsp;RAG方案:建立私有知识向量库,实现个性化问答•&nbsp;应用:企业知识库、技术支持、代码文档查询4.&nbsp;上下文限制:解决“长文本处理瓶颈”•&nbsp;问题:模型上下文窗口有限(即使128K,也难记住海量信息)•&nbsp;RAG方案:从海量文档中检索相关片段,只输入关键信息•&nbsp;优势:理论上支持无限知识库,成本可控------📄&nbsp;简历写法对比❌&nbsp;传统写法(模糊)智能问答系统•&nbsp;使用LangChain框架构建RAG系统•&nbsp;基于FAISS实现向量检索•&nbsp;调用GPT-4进行答案生成✅&nbsp;进阶写法(量化+难点)企业知识库AI助手(日活5000+,准确率92%)•&nbsp;从0到1构建多模态RAG系统,支持PDF/PPT/Excel文档解析,检索准确率提升35%•&nbsp;针对行业术语,采用HyDE&nbsp;+&nbsp;Query&nbsp;Rewriting方案,解决60%的“检索不相关”问题•&nbsp;设计Agentic&nbsp;RAG架构,让LLM自主判断“是否需要检索”,无效查询降低40%•&nbsp;引入Rerank模型对Top-20结果重排序,首条命中率从45%提升至78%技术细节:LangChain(编排)|&nbsp;Chroma(向量库)|&nbsp;BGE-M3(嵌入模型)|&nbsp;bge-reranker-v2-m3(重排序)|&nbsp;GPT-4(生成)|&nbsp;成本:$0.12/query------🎯&nbsp;面试官想看到的3个层次1.&nbsp;基础能力:你懂RAG流程•&nbsp;解析文档&nbsp;→&nbsp;分块&nbsp;→&nbsp;向量化&nbsp;→&nbsp;检索&nbsp;→&nbsp;重排序&nbsp;→&nbsp;生成•&nbsp;加分项:能说出不同分块策略(语义分块、递归分块)的适用场景2.&nbsp;进阶能力:你解决过真实问题常见问题解决方案可量化结果检索不相关Query&nbsp;Rewriting&nbsp;+&nbsp;HyDE准确率↑30%长文档丢失信息父文档检索&nbsp;+&nbsp;摘要嵌入召回率↑25%上下文过长滑动窗口&nbsp;+&nbsp;渐进加载Token成本↓40%事实性错误Self-RAG&nbsp;+&nbsp;引用校验幻觉率↓50%3.&nbsp;架构思维:你有工程化视角•&nbsp;成本控制:RAG调用次数&nbsp;vs.&nbsp;直接问LLM的平衡点•&nbsp;缓存策略:对热点Query缓存嵌入结果•&nbsp;监控体系:准确率、Token使用、延迟的Dashboard------📈&nbsp;如何量化你的贡献?用“问题→方案→结果”的公式:“发现检索不相关问题(问题)→&nbsp;引入BGE重排序模型+Query扩展(方案)→&nbsp;首条命中率从50%提升至85%(结果)”可量化的维度:•&nbsp;性能:准确率/召回率、响应时间、Token消耗•&nbsp;业务:用户满意度、日活增长、问题解决率•&nbsp;成本:月度API费用、计算资源节省------🏆&nbsp;高级进阶:Agentic&nbsp;RAG如果你做过更前沿的,可以突出:自主检索Agent系统•&nbsp;改造传统RAG为Agent决策模式,让LLM判断“何时检索”、“检索什么”•&nbsp;基于ReAct框架设计“检索→分析→决策”链,复杂问题解决率提升60%•&nbsp;实现多轮追问能力,通过历史会话自动优化检索策略------📌&nbsp;一句话总结“不要告诉面试官你用了什么工具,而是告诉他们你解决了什么问题,以及如何证明你解决得好。”在简历中,每个技术点的背后,都应该对应一个具体的业务问题、一个可量化的改进。这就是你的AI能力最有力的证明。
简历上如何体现你的“AI...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务