https://leetcode.cn/problems/two-sum/
将数字序列中的值,保存在字典中,值为 key,下标为值。 这样就转变成查询问题了,只需要遍历数字序列,查询 target - 遍历的值是否在字典中, 就可以得出两个整数的下标。
function twoSum(nums:list, target:int)
{
let dic = {};
let my_count = count(nums);
let rs = [];
for (i in range(my_count))
{
match {
dic.contains?(target - nums.nth(i)): rs.add([i, dic.get(target - nums.nth(i))]);
}
dic.put(nums.nth(i), i);
}
rs;
}
--twoSum([2,7,11,15], 9);
--twoSum([3,2,4], 6);
twoSum([3,3], 6);Copy to clipboardErrorCopied
@RequestMapping(value = "/serverless")
public @ResponseBody
String serverless(ModelMap model, HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = "user_token", required = false) String user_token,
@RequestParam(value = "func", required = false) String func,
@RequestParam(value = "params", required = false) String params) throws SQLException, ClassNotFoundException {
Class.forName("org.apache.ignite.IgniteJdbcDriver");
String url = "jdbc:ignite:thin://127.0.0.1:10800/public?lazy=true&userToken=" + user_token;
Connection conn = DriverManager.getConnection(url);
String funcLine = func + "(" + params + ")";
Object ob = null;
PreparedStatement stmt = conn.prepareStatement(funcLine);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
ob = rs.getObject(1);
}
rs.close();
stmt.close();
conn.close();
return ob.toString();
}
}Copy to clipboardErrorCopied
在浏览器中输入:
http://localhost:8080/serverless?user_token=wudafu_token_1&func=twosum¶ms=[2,7,11,15],9 参数说明: user_token: wudafu_token_1 func:twosum params: [2,7,11,15],9
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。