一个很有意思的功能,能用java实现吗?

段残梦 2012-11-06 08:50:14
有一个List<String>,里面装的全部都是数字字符串,比如{"1","2","5","6"},现在要进行插入,加入我要在index = 1的位置执行插入操作,那么List<String>就会变成{"1","2","3","5","6"},同样,现在在index = 2的位置执行插入操作,那么List<String>就会变成{"1","2","3","4","5","6"}。
看到这里,你是不是觉得很简单。。。。
好吧,第一关来了。。。
我现在还要在index = 1 的位置执行插入操作,那么List<String>就会变成{"1","2","25","3","4","5","6"}
是不是还是很简单,别急!现在还要在index = 1的位置执行插入操作,那么List<String>就会变成{"1","2","24","25","3","4","5","6"}。依次下去,当List<String>变成{"1","2","21","22","23","24","25","3","4","5","6"}的时候,再在index = 1的位置执行插入操作,那么List<String>就会变成{"1","2","205","21","22","23","24","25","3","4","5","6"},哈哈,升级了,位数增加,如此下去,就可以往前插入无数条。
如果你觉得还是简单,那好。。。
假如现在List<String>是{"1","2","25","3","4","5","6"},现在我要在index = 2的位置执行插入操作,那么List<String>就会变成{"1","2","25","26","3","4","5","6"},如此下去,当List<String>变成{"1","2","25","26","27","28","29","3","4","5","6"}的时候,在"29"元素的后面执行插入操作,那么List<String>就会变成{"1","2","25","26","27","28","29","295","3","4","5","6"},又升级了!如此下去,在"2"和"3"之间就可以往前或者往后插入无数条记录了。
你有更简单明了的实现吗?
...全文
972 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqfddqr 2012-11-08
  • 打赏
  • 举报
回复
第一 我看箱作业题 第二 阿帕奇开源项目有个数组好像能实现你的功能
风行傲天 2012-11-08
  • 打赏
  • 举报
回复
没看懂你要实现这的条件
first ao 2012-11-07
  • 打赏
  • 举报
回复
我虽然看明白了楼主要干啥,但是这个题目明显有问题啊,你给的初始的List就不满足你想要的那种操作啊!你不会想要随便给一个List然后再按照你那种操作来执行吧,这个就没有啥意义了吧?
chhuean 2012-11-07
  • 打赏
  • 举报
回复
我把楼主的思想理解错了, 现在还是没看懂什么意思
引用
8、也就是如果前面一个数字和后面一个数字的数字值中间不允许塞入一个数字的时候,那么就自动增长一位,并且倒数第二位减1
这段什么意思
MiceRice 2012-11-07
  • 打赏
  • 举报
回复
楼主,这种问题呐,建议直接用Double。也就是初始数组是: {0, 1} 每次插入时,新值即为 前一个数 和 后一个数 的 平均值。 那么: 插入 1:{0, 0.5, 1} 插入 1:{0, 0.25, 0.5, 1} 插入 1:{0, 0.125, 0.25, 0.5, 1} 插入 2:{0, 0.125, 0.1875, 0.25, 0.5, 1} 插入 5:{0, 0.125, 0.1875, 0.25, 0.5, 0.75, 1} 你所提问题用了整数,把问题其实稍微复杂化了。
just_for_download2 2012-11-07
  • 打赏
  • 举报
回复
表达能力太差了点吧。
natici 2012-11-07
  • 打赏
  • 举报
回复
有意思在哪?看懂LZ的描述,但没看懂回复的楼层说有趣有意思的。
ncsxuanguoliang 2012-11-07
  • 打赏
  • 举报
回复
很有意思的东西!
为啥呢 2012-11-07
  • 打赏
  • 举报
回复
就我的理解楼主的意思应该只是实现一个在指定下标位置插入功能,插入功能本身就意味着原来此位置及后续元素后移n位(n=插入元素个数),如果这个List是FIFO规则且其长度可变且没有上限的就符合要求
铁马冰河2014 2012-11-07
  • 打赏
  • 举报
回复
好像很有意思的样子,但是有点难懂,我在想想看- -。
七神之光 2012-11-07
  • 打赏
  • 举报
回复
List<String> my = new ArrayList<String>(){ public List<String> insert(int index){ return null; } }; 楼主应该是这个意思,但是我不明白这样有什么意思? 这是不完全归纳?完全没意思!
ForestDB 2012-11-07
  • 打赏
  • 举报
回复
木有搞懂LZ在说什么,能把需求讲述明白也是种能力。 LZ也许可以换个方式描述,有这种功能后能干什么。
chhuean 2012-11-07
  • 打赏
  • 举报
回复
我是用C#实现的,java应该也差不多
static void Main(string[] args)
        {
            List<string> vals = new List<string>();
            int[,] insert = new int[,] {{2,15},{10,16},{1,23}};//需要插入的项

            //initialize List<string>
            vals.Add("1");
            vals.Add("2");
            vals.Add("4");
            vals.Add("5");

            for (int i = 0; i < insert.GetLength(0); i++) //insert.GetLength(0)获取该数组的第一个维度长度
            {
                ListInsert(insert[i,0],insert[i,1].ToString(),ref vals);
            }
                foreach (string val in vals)
                {
                    Console.Write(val + "  ");
                }
        }

        private static void ListInsert(int index, string item, ref List<string> vals)
        {
            if (vals.Count >= index)
            {
                vals.Insert(index, item);
            }
            else
            {
                vals.Insert(vals.Count, item);  //当index > List<string>元素大小时,默认将该item插入到最后
                //vals.Add(item);               //add方法也可以实现该功能(当index > List<string>元素大小时,默认将该item插入到最后)
            }
        }
永生天地 2012-11-07
  • 打赏
  • 举报
回复
{1,15,2,3,4,6} ---- 15 好像是 1.5 {1,105,11,12,13,14.。。。。。} -----105 好像是 1.05 总体来说,有点乱
chicheng1227 2012-11-07
  • 打赏
  • 举报
回复
看得不是很懂
依山_慕雪 2012-11-07
  • 打赏
  • 举报
回复
难道楼主是在说递归?
akemi_homura 2012-11-07
  • 打赏
  • 举报
回复
这个我在想应该是算法的问题。不明白楼主为什么问能不能用java实现。java只是工具。另外。楼主这个貌似只是个数学问题。反正我没搞明白。
forgetsam 2012-11-06
  • 打赏
  • 举报
回复
一个很有意思的功能,能用中文描述吗?
long546908113 2012-11-06
  • 打赏
  • 举报
回复
看不明白,不是很了解
段残梦 2012-11-06
  • 打赏
  • 举报
回复
引用 8 楼 zhou9898 的回复:
Java code 12345678910111213141516171819 public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2……
不是set,是add,是插入,反正就是插入之后,后面的数字自动往后移动,然后前面还有能插入的空间,而且插完之后,顺序还是好的。
加载更多回复(12)
内容概要:本文介绍了一个基于Python多智能体的作业批改反馈协同辅助系统的设计与实现。系统通过构建多个专业智能体(如题目解析、答案分析、代码审查、评分、反馈生成和审核协调等),实现对多样化作业内容(包括文本、代码、实验报告等)的自动化批改与反馈生成。项目采用模块化架构,涵盖数据接入标准化、任务调度与状态管理、多智能体异步协同、评分与证据建模、反馈生成与质量控制等核心模型。系统强调批改过程的可解释性与教育价值,保留评分依据与错误证据,并支持人工复核与教学数据追溯。通过FastAPI提供接口服务,支持本地运行或集成至在线教学平台。; 适合人群:具备一定Python编程基础,熟悉Web开发、异步编程与数据建模的开发者,尤其是从事教育科技、智能评测系统研发的技术人员或高校研究人员;也适用于希望了解多智能体系统在教育场景中应用的教学设计者。; 使用场景及目标:① 解决传统作业批改效率低、评分不一致、反馈空泛等问题;② 实现多类型作业(如程序设计、论述题、实验报告)的自动化分析与结构化评分;③ 生成具有错误定位、原因分析与改进建议的高质量学习反馈;④ 构建可扩展、可追溯、可集成的教学辅助平台,支持后续接入更多智能体与教学功能; 阅读建议:此资源以实际项目为导向,结合模型设计与代码示例(如Pydantic数据校验、ast代码分析、asyncio异步协同、FastAPI接口等),建议读者结合代码实践,深入理解多智能体协同机制与教育系统工程化实现方法,并可根据具体教学需求进行功能拓展与优化。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧