我编写了一个代码来查找所有可能的数组子集的乘积.我得到了预期的输出但是我无法让它足够快以清除时间相关的测试用例.
任何人都可以帮助我优化代码的速度吗?
第一个输入(testCases)是测试用例的数量.根据测试用例的数量,我们将具有数组(大小)和数组元素(集合)的大小.
例如,有效输入将是:
1
3
2 3 5
Run Code Online (Sandbox Code Playgroud)
哪里:
1是测试用例的数量.3是测试集的大小,2 3 5是输入集的元素.
预期的产出是:
71
上述输出的计算如下:
{2}, {3}, {5}, {2, 3}, {3, 5}, {2, 5}, {2, 3, 5}
=> 2 3 5 6 15 10 30
=> 2 + 3 + 5 + 6 + 15 + 10 + 30
=> 71
Run Code Online (Sandbox Code Playgroud)
import java.util.Scanner;
public class Test {
static int printSubsets(int set[]) {
int n = set.length;
int b = 0;
for (int i = …Run Code Online (Sandbox Code Playgroud) 我想为Web应用程序设计数据库,用户可以根据给予角色的权限访问特定选项卡.
到目前为止我所做的是创建了两个表USER_TABLE和USER_ROLES.
USER_TABLE有以下字段:
USER_ROLES的字段如下:
id(主键)
role_name(例如ADMIN,TAB1_USER,TAB2_USER)
创建日期
这里,具有role_name" ADMIN " 的用户可以看到所有选项卡,其他用户只能访问特定选项卡.
我的问题是我是否需要在USER_ROLES表中创建一个具有外键的表USER_PERMISSIONS,其中包含以下字段:
或者我应该在我的代码级别管理这个?两种方法的缺点和优点是什么?
我想为 Java Web 应用程序设计数据库,其中用户可以具有特定角色,并且该角色可以根据PERMISSION_CODE有权访问特定选项卡
所以,我创建了三个表,如:
CREATE TABLE "PAWAN"."USERS_TABLE"
(
"ID" NUMBER(4,0) NOT NULL ENABLE,
"USER_NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"PASSWORD" VARCHAR2(100 BYTE) NOT NULL ENABLE,
"FIRST_NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"LAST_NAME" VARCHAR2(20 BYTE),
"CREATED_DATE" DATE DEFAULT sysdate,
"ROLE_ID_FK" NUMBER(4,0) NOT NULL ENABLE,
PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "FK_ROLE_ID" FOREIGN KEY ("ROLE_ID_FK")
REFERENCES "PAWAN"."USER_ROLES" ("ID") ENABLE
);
CREATE TABLE "PAWAN"."USER_ROLES"
(
"ID" NUMBER(4,0) NOT NULL ENABLE,
"ROLE_TYPE" VARCHAR2(20 BYTE) NOT NULL …Run Code Online (Sandbox Code Playgroud)