我遇到了一个面试问题:
"考虑到不同大象的生命时间.找出最大数量的大象活着的时期." 例如:
输入:[5, 10],[6, 15],[2, 7]
输出:[6,7](3个大象)
我想知道这个问题是否与'n'个字符串的最长子字符串问题有关,这样每个字符串代表一个时间段的连续范围.
例如:
[5,10] <=> 5 6 7 8 9 10
如果没有,那么这个问题的解决方案是什么?我想用C++编写代码.
任何帮助将不胜感激.
在定义AngularJS应用程序的路由时,为了指示每个路由应具有的访问级别,access已为每个路由添加了一个名为的新属性.这基于此处描述的客户端授权方法.
该.config块看起来如下所示:
app.config(['$routeProvider', '$locationProvider', '$httpProvider',
function ($routeProvider, $locationProvider, $httpProvider) {
var access = routingConfig.accessLevels; //Initialize with asynch data instead
$routeProvider.
when('/home', {
templateUrl: '/Templates/home.html',
controller: 'homeController',
access: access.user
});
$routeProvider.
when('/private', {
templateUrl: '/Templates/private.html',
controller: 'adminController',
access: access.admin
});
//...more route configurations
}]);
Run Code Online (Sandbox Code Playgroud)
抛开方法的核心逻辑,我只想知道如何access用一些异步数据初始化变量,以便在access为每个路由定义属性时可用它?这是必需的,因为只有服务器知道访问级别列表.
虽然初始化AngularJS服务的答案基于在promise服务中公开a 并resolve在路由配置中使用异步数据,但在我的情况下它不起作用,因为我需要在定义路由配置之前解析异步调用,因为access属性取决于关于异步数据.
我有什么选择?能否承诺/递延方法仍然以某种方式使用?
任何建议将不胜感激.
编辑:
为了描述access正在做什么,它被一个名为的单独模块填充routingConfig.在该方法中,用户可以属于某个角色,该角色被定义为二进制数.例如public:001,user:010,admin:100(等等).
任何路由的访问级别将再次是由允许访问它的所有用户角色的OR操作定义的二进制数.因此,例如,如果user …
我在$ scope.data中有一组项目,其中包含"id","name"和"age"字段,这些项目使用ng-repeat指令显示在视图中.对于每组项目,都有一个相应的"编辑按钮".
我希望能够访问按下编辑按钮的特定项目集的值.
HTML:
<div ng-controller="Ctrl">
<div ng-repeat="i in data">
Name: {{i.name}}
Age: {{i.age}}
<form ng-submit="submit()">
<input type="text" ng-model="i.id"/>
<input type="submit" value="Edit" />
</form>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
脚本:
function Ctrl($scope)
{
$scope.data = [
{id:1,name:"Alex",age:22},
{id:2,name:"Sam", age:28}
];
$scope.submit = function() {
//access id of user for which edit was clicked
};
}
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?